O que você deseja é chamado ACL - Listas de controle de acesso .
O pacoteA Lista de Controle de Acesso (ACL) fornece um adicional, mais flexível mecanismo de permissão para sistemas de arquivos. Ele é projetado para ajudar com Permissões de arquivo do UNIX. A ACL permite que você conceda permissões para qualquer usuário ou agrupar a qualquer recurso de disco.
acl
já deve estar instalado, para verificar se ele é executado: dpkg -s acl
.
Para usar o ACL, você deve habilitá-lo para o seu sistema de arquivos. Mas pode ser já ativado . Para verificar, use tune2fs -l
. Substitua /dev/sda6
pelo seu sistema:
$ tune2fs -l /dev/sda6 | grep "Default mount options:"
Default mount options: user_xattr acl
Se você vir a palavra acl , ela já estará ativada para o dispositivo /dev/sda6
.
Se você não vir a palavra acl , execute tune2fs -o acl /dev/sda6
para ativá-la.
Para modificar o ACL, use o comando setfacl . Para adicionar permissões, use setfacl -m .
Para definir permissão para o usuário:
$ setfacl -m "u:username:rwx" /path/to/folder
Isso definirá rwx
ACL, para o usuário username
para / path / para / folder. Isso significa que todos os arquivos criados nessa pasta terão rwx
de permissão para username
.
Para definir permissão para o grupo:
$ setfacl -m "g:groupname:rwx" /path/to/folder
Isso definirá rwx
ACL, para o grupo groupname
para / path / para / folder. Isso significa que todos os arquivos criados nesta pasta terão rwx
permissão para o grupo groupname
.
Para definir permissão para outro:
$ setfacl -m "o:rwx" /path/to/folder
Isso definirá rwx
ACL, para outra pasta / path / to /. Isso significa que todos os arquivos criados nesta pasta terão rwx
de permissão para outros.
Para verificar a permissão:
$ getfacl /path/to/folder
Para combinar o acl
$ setfacl -m u:username:rwx,g:groupname:rwx,o:rwx /path/to/folder
ACL padrão
The new object inherits the default ACL of the containing directory as its
access ACL.
If no default ACL is associated with a directory, the mode parameter to the func‐
tions creating file objects and the file creation mask (see umask(2)) are used to
determine the ACL of the new object:
The new object is assigned an access ACL containing entries of tag types
ACL_USER_OBJ, ACL_GROUP_OBJ, and ACL_OTHER. The permissions of these entries
are set to the permissions specified by the file creation mask.
Portanto, se você definir a ACL padrão, ela será a preferida ACL. Isso significa que, se a ACL definida for user
ou group
, o novo arquivo criado herdará padrão acl mesmo assim . Tenha cuidado com a ACL padrão.
Para definir o valor padrão, use -d
key,
$ setfacl -d -m u::rwx,g::rwx,o::rwx /path/to/folder
ou use default
word
$ setfacl -m default:u::rwx,default:g::rwx,default:o::rwx /path/to/folder
Tenha cuidado ao definir a ACL padrão. Por exemplo, se definido assim:
$ setfacl -d -m o:--x /path/to/folder
e agora buscar essa ACL
$ getfacl /path/to/folder
# file: path/to/folder
# owner: c0rp
# group: c0rp
user::rwx
group::rwx
other::--x
default:user::rwx
default:group::rwx
default:other::--x
A ACL padrão do grupo e do usuário será rwx
automaticamente
Remover ACL
$ setfacl -b /path/to/folder
Isso removerá todas as ACLs da pasta
Finalmente
Se você é apenas usuário no sistema, recomendo usar a ACL padrão.
$ setfacl -d -m u::rwx,g::rwx,o::rwx /path/to/folder
Isso fará o que você deseja para / path / to / folder