Versão resumida:
Eu tenho essa situação em um compartilhamento do Samba:
$ ls -lha
total 12K
drwxr-xr-x 3 hka Domain Users 4.0K Jan 11 17:07 .
drwxrwxrwt 19 root root 4.0K Jan 11 17:06 ..
drwxr-xr-x 2 hka Domain Users 4.0K Jan 11 17:07 dir A
-rw-r--r-- 1 hka Domain Users 0 Jan 11 17:07 file A
Como posso alterar isso para seguir usando apenas o cliente Windows SMB / CIFS (usando aplicativos de terceiros está OK)
$ ls -lha
total 12K
drwxr-xr-x 3 hka Domain Users 4.0K Jan 11 17:07 .
drwxrwxrwt 19 root root 4.0K Jan 11 17:06 ..
drwxr-xr-x 2 hka ntpoweruser 4.0K Jan 11 17:07 dir A
-rw-r--r-- 1 hka ntpoweruser 0 Jan 11 17:07 file A
Fundamentação e informação de fundo
Estou usando ACLs POSIX em compartilhamentos Samba. Juntamente com acl group control
para o Samba, permite-me delegar o gerenciamento de permissões para diferentes usuários com base na participação em grupos.
A coisa é, quando eu crio um novo arquivo em um compartilhamento Samba, não consigo definir seu grupo primário (aquele que concede permissão para alterar suas permissões). Está sendo definido para meu grupo principal (Usuários do domínio) ou grupo definido usando a opção force group
na definição de compartilhamento smb.conf
.
Remover todos os grupos nas janelas, exceto o que eu quero me tornar o novo grupo primário, não funciona. Eu posso mudá-lo usando chgrp group folder/
como usuário regular através do shell, mas é suboptimal (nem todos os usuários são * nix).
Tentar definir o novo proprietário para agrupar a partir da janela de permissão de arquivo do Windows faz com que o Samba retorne a permissão negada com a seguinte entrada de log:
[2012/01/05 21:13:03.349734, 3] smbd/nttrans.c:1899(call_nt_transact_set_security_desc)
call_nt_transact_set_security_desc: file = projects/project A/New folder, sent 0x1
[2012/01/05 21:13:03.349774, 3] smbd/posix_acls.c:1208(unpack_nt_owners)
unpack_nt_owners: unable to validate owner sid for S-1-5-21-4526631811-884521863-452487935-11025
[2012/01/05 21:13:03.349804, 3] smbd/error.c:80(error_packet_set)
error packet at smbd/nttrans.c(1909) cmd=160 (SMBnttrans) NT_STATUS_INVALID_OWNER
O SID está correto e pertence ao grupo I especificado na GUI.