У меня проблема, когда биты разрешений не применяются к общему ресурсу samba с помощью клиента Linux. Я настроил samba на сервере для принудительной установки определенного пользователя, группы и битов разрешений, и это работает, как и ожидалось, пока я не коснусь файла или он не станет целью перенаправления ввода-вывода.
Вот что происходит:
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
Обратите внимание, когда я касаюсь существующего файла, его биты разрешения равны 0777. Предполагается, что они равны 0664, как при первом создании. Как я могу применить 0664 к существующему файлу?
У меня версия 3.0.24 на сервере и версия 3.4.7 на клиенте. Вот мой 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
похоже, в системе * nix ... это система, в которой ты создаешь файл в windows? или вы создаете файл из системы Windows? или это * nix to * nix через samba (в этом случае почему samba, а не nfs)