Mounten einer Samba / CIFS-Freigabe unter Linux "richtig"
Das Problem ist, dass ich keine Dateien auf der CIFS-Freigabe abrufen kann, um die korrekten Berechtigungen für den Linux-Client anzuzeigen, ohne vers=1.0
die Mount-Optionen zu erzwingen .
Der Server ist ein FreeNAS-System, auf dem Samba 4.7.0 ausgeführt wird. Es läuft grundsätzlich im Standalone / Workgroup-Modus. Es gibt keinen AD / Domain Controller, und ich möchte keinen, wenn ich es vermeiden kann.
Der Client ist ein (instabiles) Debian-Sid-System mit Samba-Komponenten der cifs-utils
Version 4.7.4 und der Version 6.8-1.
Die aktuelle Beschwörungsformel sieht so aus:
sudo mount.cifs -o 'vers=1.0,username=me,uid=me,gid=me,credentials=[[filename]]' //freenas/me $HOME/mnt
(Das obige wird normalerweise von autofs ausgeführt, was sich jedoch als nicht relevant herausstellt.)
Sobald dies geschehen ist, erscheint der folgende Eintrag im mtab:
//freenas/me on /home/me/mnt type cifs (rw,relatime,vers=1.0,cache=strict,username=me,domain=,uid=1000,forceuid,gid=1000,forcegid,addr=X.X.X.X,soft,unix,posixpaths,serverino,mapposix,acl,rsize=1048576,wsize=65536,echo_interval=60,actimeo=1)
... und unser Testverzeichnis wird mit den folgenden Modi / Berechtigungen angezeigt:
me@linuxclient:~$ ls -al mnt/testdir/ total 3 drwxr-xr-x+ 2 me me 0 Apr 21 00:10 . drwxr-xr-x+ 5 me me 0 Apr 21 00:07 .. -r--r--r--+ 1 me me 0 Apr 21 00:09 R--R--R-- -rw-r--r--+ 1 me me 0 Apr 21 00:10 RW-R--R-- -rwx------+ 1 me me 0 Apr 21 00:08 RWX------ -rwxr-xr-x+ 1 me me 0 Apr 21 00:08 RWXR-XR-X -r-xr-xr-x+ 1 me me 0 Apr 21 00:09 R-XR-XR-X
Genau das erwarte und will ich. Das Mount erzwingt jedoch die SMB-Version 1.0, die alt und kaputt ist. Wenn ich jedoch nicht explizit angeben vers=1.0
, geschieht Folgendes:
//freenas/me on /home/me/mnt type cifs (rw,relatime,vers=default,cache=strict,username=me,domain=,uid=1000,forceuid,gid=1000,forcegid,addr=X.X.X.X,file_mode=0755,dir_mode=0755,soft,nounix,serverino,mapposix,rsize=1048576,wsize=1048576,echo_interval=60,actimeo=1) me@linuxclient:~$ ls -al mnt/testdir/ total 5120 drwxr-xr-x 2 me me 0 Apr 21 00:10 . drwxr-xr-x 2 me me 0 Apr 21 00:07 .. -rwxr-xr-x 1 me me 0 Apr 21 00:09 R--R--R-- -rwxr-xr-x 1 me me 0 Apr 21 00:10 RW-R--R-- -rwxr-xr-x 1 me me 0 Apr 21 00:08 RWX------ -rwxr-xr-x 1 me me 0 Apr 21 00:08 RWXR-XR-X -rwxr-xr-x 1 me me 0 Apr 21 00:09 R-XR-XR-X
file_mode=0755,dir_mode=0755
In die Mount-Optionen wurde etwas injiziert, und die daraus resultierenden Berechtigungen sind für alle Dateien 0x755, unabhängig von ihren tatsächlichen Berechtigungen, was offensichtlich falsch ist. Ich habe noch nicht herausgefunden, woher diese unerwünschten Optionen kommen.
Da es mein Ziel ist, dass mehrere Benutzer gleichzeitig mit ihren eigenen Anmeldeinformationen eine Verbindung zu ihren eigenen Heimatverzeichnissen herstellen, begann ich mit dieser mount
Beschwörung zu experimentieren, insbesondere mit der multiuser
Option:
sudo mount.cifs -o "user=me,noperm,multiuser" //freenas/me $HOME/mnt me@linuxclient:~$ ls -al mnt/testdir/ total 5120 drwxr-xr-x 2 me me 0 Apr 21 00:10 . drwxr-xr-x 2 me me 0 Apr 21 00:07 .. -rwxr-xr-x 1 me me 0 Apr 21 00:09 R--R--R-- -rwxr-xr-x 1 me me 0 Apr 21 00:10 RW-R--R-- -rwxr-xr-x 1 me me 0 Apr 21 00:08 RWX------ -rwxr-xr-x 1 me me 0 Apr 21 00:08 RWXR-XR-X -rwxr-xr-x 1 me me 0 Apr 21 00:09 R-XR-XR-X
Immer noch falsch. Wenn ich jedoch die Mount-Option hinzufüge cifsacl
:
sudo mount.cifs -o "user=me,noperm,multiuser,cifsacl" //freenas/me $HOME/mnt
Und geben Sie meine Zugangsdaten für den Server über den cifscreds
Befehl ein. Ich erhalte folgende Ergebnisse:
//freenas/me on /home/me/mnt type cifs (rw,relatime,vers=default,cache=strict,multiuser,domain=,uid=0,noforceuid,gid=0,noforcegid,addr=X.X.X.X,file_mode=0755,dir_mode=0755,soft,nounix,serverino,mapposix,cifsacl,noperm,rsize=1048576,wsize=1048576,echo_interval=60,actimeo=1) me@linuxclient:~$ ls -al mnt/testdir/ total 5120 drwxr-xr-x 2 root root 0 Apr 21 00:10 . drwxr-xr-x 2 root root 0 Apr 21 00:07 .. -r--r--r-- 1 root root 0 Apr 21 00:09 R--R--R-- -rw-r--r-- 1 root root 0 Apr 21 00:10 RW-R--R-- -rwx------ 1 root root 0 Apr 21 00:08 RWX------ -rwxr-xr-x 1 root root 0 Apr 21 00:08 RWXR-XR-X -r-xr-xr-x 1 root root 0 Apr 21 00:09 R-XR-XR-X
Obwohl die Optionen file_mode=0755,dir_mode=0755
noch injiziert werden, werden die Berechtigungen jetzt korrekt angezeigt. Aber jetzt sind die UIDs falsch und alles sieht aus, als wäre es im Besitz von root. Ich kann zwar Dateien in der Freigabe erstellen, ändern und löschen, sie erscheinen jedoch als root-Eigentümer. Ich weiß, dass ein Mapping von cifs.idmap
und durchgeführt werden soll winbindd
, aber ich habe nicht genau herausgefunden, wie das gemacht wird oder wie ich es einrichten kann.
Ich möchte die vers=1.0
Kluge lieber nicht weiter benutzen ; Ich würde es vorziehen, das richtig zu machen. Irgendwelche Hinweise, was mir fehlt?
0 Antworten auf die Frage
Verwandte Probleme
-
2
Warum können bestimmte Dateien auf meinem externen Laufwerk nicht mit Unix-Dienstprogrammen gelöscht...
-
2
Wie verlinke ich mit einem Unterordner einer Freigabe?
-
0
Gibt es da draußen einen guten CIFS-Proxy?
-
1
Ubuntu Automount nach Label?
-
0
Offline-Cache-Kopien in der Windows-Dateifreigabe
-
3
Fenster automatisch in Fedora 12 einhängen
-
1
Wie mounten Sie eine Remote-Samba-Freigabe von einem lokalen Host mit mehreren Gruppen?
-
0
Autofs hängen prozessieren
-
1
Die Datei 'pagefile.sys' im CIFS-Mount von '// windowshost / C $' bewirkt, dass Nautilus angewidert...
-
0
Cifs-Freigabe kann nicht bereitgestellt werden