diretórios recém-criados devem ser executáveis por padrão

3

Estou usando as etapas a seguir para definir permissões e permissões de URL padrão.

chown as required
find . -type d -exec chmod 770 {} \;
find . -type f -exec chmod 660 {} \;
find . -type d -exec chmod g+s {} \;
setfacl -Rdm g::rw .
setfacl -Rdm u::rw .
setfacl -Rdm o::- .

Isso produz os resultados desejados, exceto que os subdiretórios recém-criados não podem ser inseridos (por proprietário ou grupo) porque têm 660 permissões em vez de 770. Como posso corrigir esse problema sem alterar as permissões padrão para novos arquivos? / p>

Atualmente, precisamos fazer isso depois de criar um novo subdiretório:

chmod ug+x <sub-directory>

Eu quero eliminar essa etapa manual porque meus usuários geralmente não sabem como fazer isso. Eu quero que eles sejam capazes de criar um diretório no gerenciador de arquivos e ter acesso imediato a ele.

UPDATE: o umask para todos os usuários é definido da seguinte forma:

cat /etc/profile
# /etc/profile
umask 006
    
por MountainX 24.05.2018 / 01:18

1 resposta

1

Você está configurando as ACLs padrão que não têm permissão de execução, de modo que ninguém terá permissão de execução. Em vez disso, como Patrick mencionou em um comentário, defina as ACLs padrão com a permissão X . Em minúsculas x significa que a entrada da ACL concede a permissão de execução. % De X maiúsculo concede a permissão de execução somente se algum usuário (geralmente o proprietário) tiver a permissão de execução.

A menos que você esteja fazendo algo incomum, sempre coloque X em uma ACL padrão onde houver r . Existem algumas razões para ter um arquivo ou diretório legível mas não executável ou vice-versa. O Unix implementa a execução e a leitura como permissões separadas e, para diretórios, implementa a passagem e a listagem como permissões separadas, mas há poucos casos em que isso é desejável: geralmente é permitido a um determinado conjunto de usuários modificar um arquivo, um conjunto maior é permitido para acessá-lo sem modificá-lo, e para arquivos regulares, o arquivo pode ou não ser executável, mas essa propriedade não depende de quem está tentando acessá-lo.

setfacl -Rdm g::rwX .
setfacl -Rdm u::rwX .
setfacl -Rdm o::- .
    
por 24.05.2018 / 02:35