Eu tive que ativar o ACL no meu pool do zfs
sudo zfs set aclinherit=passthrough storagedata
Eu quero que todos os arquivos e diretórios herdem as permissões da pasta tvshow.
Estou tentando definir o bit GID, mas não tenho ideia do motivo de não estar funcionando. Estou usando essa fonte para meus comandos.
david@server:~/media$ ls -l
drwxrwx--- 11 root media_users 11 Jul 23 18:58 tvshows
david@server:~/media$ sudo chmod 2770 tvshows/
david@server:~/media$ ls -l
drwxrwx--- 11 root media_users 11 Jul 23 18:58 tvshows
As permissões não foram alteradas após a execução do comando.
Eu também tentei usar chmod g+s
EDITAR:
david@server:~/media$ sudo -g media_users chmod 2770 tvshows/
chmod: changing permissions of ‘tvshows/’: Operation not permitted
Opções de montagem:
david@server:~/media$ sudo zfs get mountpoint storagedata
NAME PROPERTY VALUE SOURCE
storagedata mountpoint /mnt/storagedata local
david@server:/proc$ cat mounts
storagedata /mnt/storagedata zfs rw,relatime,xattr,noacl 0 0
De man chmod
:
SETUID AND SETGID BITS
chmod clears the set-group-ID bit of a regular file if the file's group
ID does not match the user's effective group ID or one of the user's
supplementary group IDs, unless the user has appropriate privileges.
Additional restrictions may cause the set-user-ID and set-group-ID bits
of MODE or RFILE to be ignored.
Na minha interpretação, isso significa que media_users
não é o grupo efetivo para o usuário raiz que emite o comando. Para executar o comando com media_users como o grupo efetivo, tente: sudo -g media_users chmod 2770 tvshows/
.
Acho que você precisa alterar o umask
para 0002
:
umask 0002