Mam problem polegający na tym, że bity uprawnień nie są wymuszane na udziale samby za pomocą klienta Linux. Mam skonfigurowaną sambę na serwerze, aby wymuszać określone bity użytkownika, grupy i uprawnień, i działa to zgodnie z oczekiwaniami, dopóki nie dotknę pliku lub nie stanie się celem przekierowania We / Wy.
Oto co się dzieje:
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
Zwróć uwagę, że kiedy dotknę istniejącego pliku, jego bity uprawnień to 0777. Powinny być one 0664, tak jak w momencie pierwszego tworzenia. Jak wymusić 0664 na istniejącym pliku?
Mam wersję 3.0.24 na serwerze i wersję 3.4.7 na kliencie. Oto mój 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
touch
wydaje się, że cały twój system jest w systemie * nix ... czy system, w którym tworzysz plik w systemie Windows? czy tworzysz plik z systemu Windows? lub jest to * nix do * nix za pośrednictwem samby (w takim przypadku dlaczego samba, a nie nfs)