Por que meu chmod não está funcionando como esperado? [duplicado]

1

Eu quero definir minhas permissões de pastas para 555 e minhas permissões de arquivos para 554, então eu tentei o seguinte chmod :

sudo chmod -R -v ug=rx,o=r,a+X mydir/

Pensei que isso definiria as permissões user e group como r-x e others como r-- , mas como há apenas a+X , as pastas receberiam uma r-x para a others permission, mas os arquivos permaneceriam em r-- .

Mas isso não está funcionando e está definindo todos os arquivos e pastas para o 555, mesmo se eu definir todas as pastas e arquivos para o 444 antes, para garantir que não haja nenhuma permissão x em lugar algum.

Por que esse comando chmod não funciona como eu esperava?

    
por mFeinstein 10.05.2017 / 03:20

1 resposta

1

Ok, achei a resposta aqui na Wikipédia :

Quando explica sobre a opção X :

...It applies execute permissions to directories regardless of their current permissions and applies execute permissions to a file which already has at least one execute permission bit already set (either owner, group or other)...

Realmente não consigo entender por que alguém deseja aplicar uma permissão x a qualquer usuário (proprietário, grupo ou outro) se outro usuário já tiver essa permissão ... ou, em outras palavras, fornecer others execute a permissão se owner o tiver, mas alguém viu isso como o melhor comportamento padrão e é assim que funciona, vá em frente.

Eu mudei meu código para:

chmod -R ugo=r,a+X,ug+x

desde que a ordem é importante, agora ela se comportará como esperado.

    
por 10.05.2017 / 05:15