Como eu alteraria todos os arquivos para 644 e todas as pastas para 755 usando chmod
no linux
prompt de comando? (Terminal)
terminal
command-prompt
chmod
hugo der hungrige
fonte
fonte
http://superuser.com
:: P, mas esta pergunta me ajudou aqui, obrigado.chmod -R u+rwX,go+rX,go-w /foo
Respostas:
Uma abordagem poderia estar usando find:
para diretórios
para arquivos
fonte
sudo find /your/location -type f -exec chmod 644 {} \;
por arquivos esudo find /your/location -type d -exec chmod 755 {} \;
de diretórioschmod -R a=r,u+w,a+X /foo
?unable to execute /bin/chmod: Argument list too long
A maneira mais fácil é fazer:
o que basicamente significa:
para
ch
ange arquivomod
es-R
ecursively dando:u
ser:r
ler, ritarw
eX
executar permissões,g
roup e outroso
usuários:r
leram eX
executam permissões, mas não-w
rituais.Observe que
X
tornará um diretório executável, mas não um arquivo, a menos que já esteja pesquisável / executável.Por favor, verifique
man chmod
para mais detalhes.Veja também: Como chmod todos os diretórios, exceto os arquivos (recursivamente)? na SU
fonte
O mais curto que eu pude pensar é:
que funciona no GNU / Linux e acredito no Posix em geral (da minha leitura de: http://pubs.opengroup.org/onlinepubs/9699919799/utilities/chmod.html ).
O que isso faz é:
É importante ressaltar que a permissão da etapa 1 limpa todos os bits de execução; portanto, a etapa 3 apenas adiciona novamente os bits de execução para diretórios (nunca arquivos). Além disso, todas as três etapas acontecem antes da recursão de um diretório (portanto, isso não é equivalente a, por exemplo,
como o a = r remove x dos diretórios, então o chmod não pode recursá-los.)
fonte
Mais fácil para mim lembrar é duas operações:
O + X afeta apenas diretórios.
fonte
Em https://help.directadmin.com/item.php?id=589, eles escrevem:
Se você precisar de uma maneira rápida de redefinir seus dados public_html para 755 para diretórios e 644 para arquivos, poderá usar algo como isto:
Eu testei e ... funciona!
fonte
Isso funcionou para mim:
fonte
find /A -type X -exec chmod Y '{}' \;
Faça as duas coisas de uma só vez com:
Como em, encontre o tipo f OU o tipo d e faça o primeiro ... para arquivos e o segundo ... para dirs. Especificamente:
Deixe de fora
--changes
se deseja que ele funcione silenciosamente.fonte
Se você precisar de uma maneira rápida de redefinir seus dados public_html para 755 para diretórios e 644 para arquivos, poderá usar algo como isto:
Além disso, se você sabe que o PHP é executado como usuário e não como "apache", é possível definir os arquivos PHP como 600, para um nível extra de segurança, por exemplo:
Você pode encontrar esse recurso aqui: https://help.directadmin.com/item.php?id=589
fonte
Isso também pode funcionar:
fonte