AutoFS Anleitung · 2 min read · Dec 10, 2025

Wie man AutoFS verwendet, um auf Windows- und Samba-Freigaben zuzugreifen

Zugriff auf Windows- oder Samba-Freigaben mit AutoFS

Sie haben bereits Linux auf Ihrem vernetzten Desktop-PC installiert und möchten nun mit Dateien arbeiten, die auf anderen PCs in Ihrem Netzwerk gespeichert sind. Hier kommt autofs ins Spiel. Dieses Tutorial zeigt, wie man autofs konfiguriert, um CIFS zu verwenden, um von Linux-Desktop-PCs auf Windows- oder Samba-Freigaben zuzugreifen. Es enthält auch eine maßgeschneiderte Konfigurationsdatei.

Wenn autofs Version 4.0 oder neuer bereits installiert ist, sollten Sie die Dateien

/etc/auto.master

und

/etc/auto.smb

auf Ihrem System finden. Andernfalls starten Sie den Paketmanager Ihrer Distribution (z. B. YaST auf SuSE, synaptic auf Debian oder Ubuntu, …) und installieren Sie es. Wenn Sie dabei sind, installieren Sie auch das Samba-Client-Paket (suchen Sie nach smbclient), da wir dies ebenfalls benötigen. In einigen Distributionen (Ubuntu) benötigen wir auch das Paket smbfs, das die Dienstprogramme mount.cifs und umount.cifs enthält.

Konfiguration

Wenn autofs bereits installiert ist, ist es wahrscheinlich noch nicht konfiguriert und funktioniert nicht. Vorausgesetzt, Ihre Linux-Distribution enthält einen Linux 2.6.x-Kernel, empfehle ich, das common internet file system (cifs) Modul zu verwenden, um auf Dateien im Netzwerk zuzugreifen. Bitte speichern Sie die folgende Datei als

/etc/auto.cifs

auf Ihrem Computer. Sie benötigen Root-Rechte (oder sudo), um die Berechtigungen dafür zu haben:

#!/bin/bash
# $Id$
# Diese Datei muss ausführbar sein, um zu funktionieren! chmod 755!
key="$1"
# Hinweis: Erstellen Sie eine Cred-Datei für jeden Windows/Samba-Server in Ihrem Netzwerk
#       der eine Passwortauthentifizierung erfordert. Die Datei sollte genau zwei Zeilen enthalten:
#          username=user
#          password=*****
#       Bitte verwenden Sie keine Leerzeichen, um das Gleichheitszeichen vom
#       Benutzernamen oder Passwort zu trennen.
credfile="/etc/auto.smb.$key"
# Hinweis: Verwenden Sie cifs anstelle von smbfs:
mountopts="-fstype=cifs,file_mode=0644,dir_mode=0755,uid=user,gid=users"
smbclientopts=""
for P in /bin /sbin /usr/bin /usr/sbin
do
        if [ -x $P/smbclient ]
        then
                SMBCLIENT=$P/smbclient
                break
        fi
done
[ -x $SMBCLIENT ] || exit 1
if [ -e "$credfile" ]
then
        mountopts=$mountopts",credentials=$credfile"
        smbclientopts="-A "$credfile
else
        smbclientopts="-N"
fi
$SMBCLIENT $smbclientopts -gL $key 2>/dev/null \
   | awk -v key="$key" -v opts="$mountopts" -F'|' -- '
        BEGIN   { ORS=""; first=1 }
    /Disk/  { if (first) { print opts; first=0 };
          gsub(/ /, "\\ ", $2);
          sub(/\$/, "\\$", $2);
          print " \
     /" $2, "://" key "/" $2 }
        END     { if (!first) print "\n"; else exit 1 }
        '

Machen Sie diese Datei ausführbar mit dem Befehl:

chmod 755 /etc/auto.cifs

Diese Datei ist eine leicht modifizierte Version der Datei auto.smb, die normalerweise als Teil des autofs-Pakets geliefert wird. Sie müssen die Zeile, die die mountopts definiert, oben ändern und “user” durch den Namen Ihres persönlichen Kontos ersetzen. Jetzt müssen Sie autofs die Anmeldeinformationen geben, die benötigt werden, um auf Freigaben in Ihrem Netzwerk zuzugreifen. Erstellen Sie dazu eine Datei mit dem Namen

/etc/auto.smb.FILESERVERNAME

für jeden Computer, auf den Sie zugreifen möchten. Ersetzen Sie natürlich FILESERVERNAME durch den Namen des Computers. Füllen Sie diese Dateien mit dem Benutzernamen und dem Passwort aus, die benötigt werden, um auf die Freigaben auf dem Computer zuzugreifen. Der Inhalt dieser Dateien sollte wie im folgenden Beispiel aussehen:

username=user
password=secret

Verwenden Sie den Befehl

chmod 600 /etc/auto.smb.*

um die Passwortinformationen zu schützen.

Jetzt müssen wir autofs mitteilen, dass es unsere neue Konfigurationsdatei verwenden soll. Verwenden Sie die Befehle:

echo "/cifs /etc/auto.cifs --timeout=60" >>/etc/auto.master

und

/etc/init.d/autofs restart

Das ist alles.

Testen

Verwenden Sie den Befehl

ls -als /cifs/FILESERVERNAME/SHARENAME

um zu überprüfen, ob es funktioniert. Wenn nicht, konsultieren Sie die Systemprotokolldateien (normalerweise /var/log/messages oder /var/log/syslog) auf Nachrichten.

Credits: davek für das Bereitstellen eines Patches, um Dollarzeichen und Leerzeichen in Freigabenamen besser zu escapen

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.