Conceder permissão para novos arquivos criados dentro da pasta automaticamente

6

Eu tenho uma pasta cuja permissão está definida para 777, mas quando eu adiciono qualquer arquivo ou pasta descompactando nessa pasta. Os arquivos extraídos ou a permissão de pasta nunca são alterados. A permissão da pasta de destino é 777 e quero que o que eu adicionarei nessa pasta obtenha automaticamente a permissão de 777.

Quando eu adiciono qualquer arquivo ou pasta extraindo .zip nessa pasta, a permissão extraída de pasta / arquivo não muda automaticamente. Eu sempre tenho que chmod para adicionar novo arquivo / pasta!

    
por Ibrahim 13.05.2014 / 18:50

1 resposta

10

O que você deseja é chamado ACL - Listas de controle de acesso .

  

A 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.

O pacote

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

Fontes

archlinux - link

help.ubuntu - link

    
por c0rp 13.05.2014 / 20:26