configura automaticamente sudo chmod 777

2

existe uma maneira de definir automaticamente sudo chmod 777 para todos os arquivos, pastas e subpastas em um diretório. O sudo chmod 777 deve ser definido automaticamente quando uma pasta ou um arquivo é criado no diretório pai.

Existe uma maneira de fazer isso?

    
por SRC SRC 29.05.2014 / 12:31

2 respostas

3

Uma maneira que vem à mente é o comando setfacl . Aqui está um guia do Ubuntu sobre como habilitar a ACL (listas de controle de acesso) para um ponto de montagem. Para resumir, instale o pacote relevante

sudo apt-get install acl

depois, adicione a opção 'acl' ao ponto de montagem em / etc / fstab

UUID=07aebd28-24e3-cf19-e37d-1af9a23a45d4 /home ext4 defaults,acl 0 2

finalmente, remonte a unidade para que as alterações entrem em vigor

sudo mount -o remount /home

Depois de fazer isso, você pode usar setfacl e getfacl para definir opções para qualquer diretório ou arquivo em particular. As opções de ACL para diretórios também incluem a capacidade de definir permissões padrão para novos arquivos e subpastas com comandos como os seguintes:

setfacl -d -m u::rwx /folder/to/modify  # Default permissions for owning user
setfacl -d -m g::rwx /folder/to/modify  # Default permissions for owning group
setfacl -d -m o::rwx /folder/to/modify  # Default permissions for others

Para referência, aqui está a página man para setfacl. Além disso, embora essas permissões sejam aplicadas por padrão a subpastas e arquivos recém-criados, o setfacl ainda pode ser usado para alterar os direitos após o fato, se desejado. Finalmente, depois de ativar as ACLs, você pode ver quais arquivos / pastas têm uma ACL respondida na saída do comando ls -l , procurando por um símbolo + após as permissões. Por exemplo,

-rw-r--r--+  # Has ACL applied
-rw-r--r--   # No ACL applied
    
por rocketman10404 29.05.2014 / 14:26
2

No bash execute umask 000 e então todos os diretórios que você criar terão permissões 777 e cada arquivo que você criar terá permissões 666. Você não pode criar arquivos executáveis por padrão, você precisa torná-los explicitamente usando chmod. É um recurso de segurança.

Note que o umask é "bitwise xor" das permissões de arquivo desejadas e para obter o modo mais permissivo de 777 você precisa usar umask 000.

Em sistemas Ubuntu recentes, você define a umask do sistema no arquivo /etc/login.defs . Sistemas mais antigos usam /etc/profile .

Por favor, tenha em mente que as pessoas que criam sistemas operacionais sabem uma coisa ou duas sobre segurança e escolheram umask 022 por um motivo. Você tornará seu computador bastante inseguro se seguir este conselho.

    
por sмurf 29.05.2014 / 14:18