O problema em seu sistema é que suas configurações de umask
são um pouco estranhas / confusas.
Para informações gerais sobre umask
, por favor consulte O que é "umask" e como funciona?
Em suma, podemos dizer que o umask
define o conjunto de permissões padrão para novos arquivos. Está configurado em /etc/login.defs
.
O valor padrão para umask
é 022
, o que resulta em permissões padrão para novos arquivos serem rwxr-xr-x
(proprietário: acesso total, grupo: leitura / execução, mundo: leitura / execução).
Você alterou essa configuração para 033
, o que resulta em permissões padrão de rwxr--r--
, ou seja, nenhuma permissão de execução para grupos e outros.
O problema que enfrentamos quando removemos permissões de execução de um diretório é que ele não fica mais navegável. Você precisa da permissão de execução para listar o conteúdo de um diretório. Como os diretórios recém-gerados têm execução para todos, mas seu proprietário recusou, somente o usuário proprietário (aqui, root) pode listar o conteúdo do diretório por padrão.
Você tem duas opções:
-
Guarde o
umask
e adicione manualmente permissões de execução para outras pessoas usandochmod +x
em todos os diretórios onde você precisar deles.Isso é muito trabalho e você provavelmente irá esquecê-lo de vez em quando. Só faça isso se você tiver um bom motivo para um
umask
não padrão. -
Redefina o
umask
de volta ao seu padrão022
.Para fazer isso, abra o arquivo
/etc/login.defs
com seu editor de texto favorito como raiz, por exemplo, usandosudo nano /etc/login.defs
.Pesquise por esta linha:
UNAME 033
E substitua-o pelas configurações padrão novamente:
UNAME 022
Além disso, também vi que você tem USERGROUPS_ENAB
definido como no
, mas o padrão é yes
. Essa configuração não apenas torna as permissões do grupo umask
iguais às permissões do proprietário para usuários não raiz, mas também gera automaticamente (e exclusão, se não for mais necessário) dos grupos principais dos usuários (mesmo nome e ID como usuário) .
Eu pessoalmente recomendaria redefinir essa linha para seus padrões também, a menos que você tenha uma razão para não fazer isso.
Portanto, pesquise na linha
USERGROUPS_ENAB no
e substitua por
USERGROUPS_ENAB yes