Ich habe dieses Setup
Klient:Centos 7.6.1810 aktuell
Server:Windows 7 Pro
AutoFS-Konfiguration
# tail -1 /etc/auto.master
/srv/xray /etc/auto.xray
# cat /etc/auto.xray
cdm8240 -fstype=cifs,ro,vers=2.0,credentials=/etc/auto.smb.cdm8-240.credentials ://my.server/share/
# cat /etc/auto.smb.cdm8-240.credentials
username=mylogin
password=passpass123
Wenn ich diese Freigabe manuell mounte, ist alles in Ordnung
# mount.cifs -o ro,vers=2.0,credentials=/etc/auto.smb.cdm8-240.credentials //my.server/share/ /srv/xray/
# ls -l /srv/xray/ | wc -l
34
# umount /srv/xray/
Wenn ich es mit Autofs versuche, habe ich diesen falschen Mount-Eintrag.
/etc/auto.xray on /srv/xray type autofs (rw,relatime,fd=17,pgrp=71348,timeout=300,minproto=5,maxproto=5,indirect,pipe_ino=404555)
Dann habe ich versucht, den Einhängepunkt cdm8240
im Ordner /srv/xray/ vorab zu erstellen …
# ls -ld /srv/xray/cdm8240/
drwxrwxrwx 2 root root 6 Jun 6 08:17 /srv/xray/cdm8240/
...autofs neu laden und auf die Freigabe zugreifen und es funktioniert
# systemctl restart autofs
# ls -l /srv/xray/cdm8240/ | wc -l
34
Jetzt kommt aber das Seltsame: Wenn ich Autofs neu starte, wird die Freigabe aufgehoben und der Ordner cdm8240 entfernt!
# systemctl restart autofs
# find /srv/xray/ -ls
406293 0 drwxr-xr-x 2 root root 0 Jun 6 08:20 /srv/xray/
Und sogar die Berechtigungen für /srv/xray/ wurden geändert, sodass es jetzt 755 statt der vorherigen 777 hat! Und ich komme zurück zur ersten Situation und es ist der falsche Mount-Eintrag.
Aktualisierung 1
Habe es mit dem "Direkt"-Modus versucht und jetzt sieht es gut aus
# tail -1 /etc/auto.master
/- /etc/auto.xray
# cat /etc/auto.xray
/test/cdm8240 -fstype=cifs,ro,credentials=/etc/.cdm8240cred,vers=2.1,file_mode=0775,dir_mode=0775,users ://my.server/share
ist es also ein Fehler im indirekten Modus oder etwas „Normales“?
Aktualisierung 2
Wie unten erklärt, war alles in Ordnung. Ich habe --ghost
meiner auto.master-Datei die folgende Option hinzugefügt
/srv/autofs/xray /etc/auto.xray --ghost
jetzt wird die Freigabe angezeigt und alles funktioniert einwandfrei.
Antwort1
Das sieht völlig normal aus.
Der Automounter übernimmt das oberste Verzeichnis /srv/xray
für alle in der entsprechenden Datei oder im Programm definierten Mounts /etc/auto.xray
. (In deinem Fall ist es eine normale Datei.)
Dateisysteme werden nur bei Bedarf gemountet. Wenn Sie also hineingeschaut haben, /srv/xray
haben Sie zunächst nichts gesehen. Als Sie jedoch ls -ld /srv/xray/cdm8240/
den Automounter ausgeführt haben, hat er den Verweis auf das zugeordnete Verzeichnis gesehen cmd8240
und das entsprechende Dateisystem /srv/xray/cdm8240
für Sie gemountet.
Zu einem späteren Zeitpunkt würde das im Automounter gemountete Dateisystem, sobald Sie den Zugriff darauf beendet hätten, /srv/xray/cdm8240
ausgehängt und /srv/xray
erneut als leer erscheinen.
Persönlich finde ich es hilfreich, den Automounter darunter laufen zu lassen /var/autofs
, so dass auto.misc
ich für eine Mapping-Datei /var/autofs/misc
und für einen Eintrag remote
in dieser auto.misc
Datei Folgendes hätte /var/autofs/misc/remote
:
Dann erstelle ich ein Verzeichnis der obersten Ebene /autofs
und erstelle einen symbolischen Link zu den Verzeichnissen von /var/autofs/misc/
. Auf diese Weise sind sie für mich sichtbar, auch wenn sie nicht gemountet sind, und ich muss mir nie /var/autofs/misc
wieder Gedanken über den Verzeichnisbaum machen.
mkdir -p -m755 /autofs
cd /autofs
ln -s ../var/autofs/misc/remote # Create link to automounted 'remote'