Berechtigungsbits werden auf der Samba-Freigabe nicht erzwungen

12

Ich habe ein Problem, bei dem mit einem Linux-Client keine Berechtigungsbits für eine Samba-Freigabe erzwungen werden. Ich habe Samba auf dem Server so konfiguriert, dass bestimmte Benutzer-, Gruppen- und Berechtigungsbits erzwungen werden. Dies funktioniert wie erwartet, bis ich die Datei berühre oder sie zum Ziel der E / A-Umleitung wird.

Folgendes passiert:

user@linuxbox:~-->ls -l ~/archive/foo.txt
ls: cannot access /home/user/archive/foo.txt: No such file or directory
user@linuxbox:~-->touch ~/archive/foo.txt
user@linuxbox:~-->ls -l ~/archive/foo.txt
-rw-rw-r-- 1 archive archive 0 2010-09-13 20:29 /home/user/archive/foo.txt
user@linuxbox:~-->touch ~/archive/foo.txt
user@linuxbox:~-->ls -l ~/archive/foo.txt
-rwxrwxrwx 1 archive archive 0 2010-09-13 20:30 /home/user/archive/foo.txt

Beachten Sie, dass beim Berühren der vorhandenen Datei die Berechtigungsbits 0777 lauten. Sie sollten 0664 lauten, wie bei der ersten Erstellung. Wie kann ich 0664 für die vorhandene Datei erzwingen?

Ich habe Version 3.0.24 auf dem Server und Version 3.4.7 auf dem Client. Hier ist meine smb.conf:

[global]
interfaces = egiga0
unix charset = UTF8
workgroup = workgroup
netbios name = foo
server string = Foo
security = USER
map to guest = bad user
host msdfs = no
encrypt passwords = yes

[archive]
comment = File Archive
path = /home/archive
force user = archive
force group = archive
read only = yes
write list = @archive
guest ok = yes
create mask = 0
force create mode = 0664
security mask = 0
force security mode = 0664
directory mask = 0
force directory mode = 0775
directory security mask = 0
force directory security mode = 0775
Jonathon Watney
quelle
Was ist in deiner smb.conf?
Grizly
Ich habe den Inhalt meiner smb.conf eingefügt. Ehrlich gesagt bin ich mir nicht sicher, ob ich alle expliziten Modus- und Maskenbits benötige.
Jonathon Watney
@Jonathon Ihr gesamtes Ing touchscheint auf einem * nix-System zu sein ... ist das System, auf dem Sie die Datei unter Windows erstellen? Oder erstellen Sie die Datei aus einem Windows-System? oder ist das * nix zu * nix via samba (in diesem
fall
@xenoterracide, ich berühre eine Datei auf der Freigabe mit einem Linux-Client. Ich gehe in diesem Fall von * nix zu * nix. Es gibt eine Mischung aus Windows-, Mac- und Linux-Computern, die eine Verbindung zu diesem Samba-Dienst herstellen.
Jonathon Watney
Bist du sicher, dass deine Masken gut sind? Maske erstellen, Sicherheitsmaske, Verzeichnismaske. Die Dokumente sind bei schlechtem Wetter nicht klar. Eine '0' für sich ist für die Masken gültig. Davon abgesehen ... wie seltsam.
gabe.

Antworten:

2

Die Samba-Berechtigungen funktionieren nur auf den SMB-Netzwerk-Clients (dh Windows). Wenn Sie dies auf dem Server (und allen NFS-Clients) erzwingen möchten, müssen Sie das Sticky-Bit für alle Verzeichnisse festlegen.

Korrigieren Sie zuerst die Dateien, die dort sind:

chown -R archive /home/archive 
chgrp -R archive /home/archive 
find /home/archive -type d -exec chmod 0775 {} \;
find /home/archive -type f -exec chmod 0664 {} \;

Erzwinge dies dann mit dem Gruppen-Sticky-Bit

find /home/archive -type d -exec chmod g+s {} \;

Dies ist nicht unfehlbar, löst jedoch 99% dieser Probleme.

Grüße DaveF

Ergebnis auf meiner Solaris-Box:

davef@dalek[10]$ cd /proj/ftptmp
davef@dalek[11]$ ls -ld .
drwxrwsr-x  60 root     ftpusers     377 Oct  5 09:31 ./
davef@dalek[12]$
davef@dalek[12]$ ls -l foo.txt
foo.txt: No such file or directory
davef@dalek[13]$ touch foo.txt
davef@dalek[14]$ ls -l foo.txt
-rw-rw-r--   1 davef    ftpusers       0 Oct 15 11:49 foo.txt
davef@dalek[15]$ touch foo.txt
davef@dalek[16]$ ls -l foo.txt
-rw-rw-r--   1 davef    ftpusers       0 Oct 15 11:49 foo.txt
davef@dalek[17]$
davef@dalek[17]$ umask
2
davef@dalek[18]$
David Allan Finch
quelle
Vielen Dank. Endlich hatte ich die Gelegenheit, das auszuprobieren, aber leider bleibt das Problem bestehen.
Jonathon Watney
Ich frage mich, ob es deine Umask sein könnte?
David Allan Finch
Meine umask ist 0022. Irgendwelche anderen Ideen? :)
Jonathon Watney
Ich muss es auf meiner Linux-Box ausprobieren. Ich hatte noch keine Zeit. Übrigens verwenden wir NFS Unix zu Linux etc nicht SMB.
David Allan Finch