Combine find-chmod para diretórios e find-chmod para arquivos regulares [duplicados]

0

Eu tenho estes comandos:

find /var/www/html/* -type d -exec chmod 755 {} \;
find /var/www/html/* -type f -exec chmod 644 {} \;

Eu entendi da resposta de Stephen Kitt aqui que eu poderia combiná-los desta maneira:

find /var/www/html/* -exec chmod a-x,a=rX,u+w {} \+

Esses chmod argumentos são menos confortáveis para eu ler, especialmente na sintaxe find (eu ainda não me familiarizei com o significado nix dos combos como a-x , a=rX e u+w e eu não tenho tempo e tranquilidade mental para aprendê-lo de forma séria nos próximos dias).

É possível usar números lá? Se não, pode haver uma maneira um pouco mais confortável de unir os dois comandos, mesmo que seja um pouquinho mais longo que o particular proposto?

    
por Arcticooling 11.01.2018 / 17:31

1 resposta

5

Eu diria que você deve usar qualquer coisa com que se sinta confortável; então

find /var/www/html/* -type d -exec chmod 755 {} \+
find /var/www/html/* -type f -exec chmod 644 {} \+

está bem ( \+ em vez de \; ).

Os a-x,a=rX,u+w chmod arguments significam, respectivamente, “limpar os bits de execução para todos ”, defina as permissões para todos lerem ( =r ), executável se diretório ou executável ( =X )” e “adicione o bit gravável para o proprietário”. A parte condicional (executável se for um diretório ou executável) não pode ser representada numericamente.

Ocorre que você não precisa de find aqui:

chmod -R a-x,a=rX,u+w /var/www/html/*

aplicará as mesmas alterações usando apenas chmod .

    
por 11.01.2018 / 17:36

Tags