Хмутро.
Эксперты по самбе есть? Наткнулся на следующую граблю.
Самба. Нижележащая директория, она exchange, имеет ACL
zsh% getfacl .
# file: .
# owner: root
# group: root
user::rwx
user:winguest:rwx
group::r-x
group:staff:rwx
mask::rwx
other::r-x
default:user::rwx
default:user:winguest:rwx
default:group::r-x
default:group:staff:rwx
default:mask::rwx
default:other::r-x
Т.е. есть юзер и группа, которым явно разрешено всё. Локально и по NFS
все работает ожидаемым образом.
zsh% touch locally
zsh% getfacl locally
# file: locally
# owner: ran
# group: ran
user::rw-
user:winguest:rwx #effective:rw-
group::r-x #effective:r--
group:staff:rwx #effective:rw-
mask::rw-
other::r--
(с другой машины)
zsh% touch /bag/exchange/over-nfs
zsh% getfacl over-nfs
# file: over-nfs
# owner: ran
# group: ran
user::rw-
user:winguest:rwx #effective:rw-
group::r-x #effective:r--
group:staff:rwx #effective:rw-
mask::rw-
other::r--
и ожидаемо в выводе ls бит x не стоит.
(с той же другой машины)
zsh% touch over-samba
zsh% ls -l over-samba
-rw-rw-r-- 1 ran ran 0 апр 20 20:02 over-samba
zsh% smbclient -N //bag/exchange
Anonymous login successful
Domain=[GREENWOOD] OS=[Windows 6.1] Server=[Samba 4.5.12-Debian]
smb: \> put over-samba
putting file over-samba as \over-samba (0,0 kb/s) (average 0,0 kb/s)
И вот тут внезапно
zsh% getfacl over-samba
# file: over-samba
# owner: winguest
# group: nogroup
user::rw-
user:winguest:rwx
group::rw-
group:staff:rwx
mask::rwx
other::rw-
Т.е. эффективного срезания бита x нет, и
zsh% ls -l over-samba
-rw-rwxrw-+ 1 winguest nogroup 0 Apr 20 20:04 over-samba*
причем почему-то показывают бит x у группы, а вовсе не у владельца,
который как раз winguest.
Что у меня настроено неправильно? Конфигурация шары
[exchange]
comment = Home network exchange
path = /exchange
wide links = yes
browseable = yes
writable = yes
guest ok = yes
guest only = yes
create mask = 0666
directory mask = 0777
Документация на всякие танцы вокруг ACL в man smb.conf, как водится у
самбы, мутна. Явно никаких ручек на эту тему я не прописывал. unix
extensions = no, и с винды поведение то же самое.