Após manutenção que fiz em meu sistema, o meu /home/$USER ficou com as permissões 777 para arquivos e diretórios. Apesar de não ter problemas funcionais, isso não é nada seguro.
Para resolver esta questão, tive que executar 3 simples comandos para restaurar as permissões, de acordo com o padrão do sistema:
# find /home/$USER/.* -type f -exec chmod 644 '{}' \;
# find /home/$USER/.* -type d -exec chmod 755 '{}' \;
# find /home/$USER/* -type d -exec chmod 755 '{}' \;
Explicando:
find → Comando de busca;
/home/$USER/.* → Diretório raiz da busca;
-type (f ou d) → Tipo a ser buscado, neste caso: f busca arquivo e d busca diretórios;
-exec → Execução do comando, neste caso chmod e suas devidas permissões;
{} → Arquivo ou diretório encontrado;
\; → Finalização do comando.
Obs.: A variável $USER contém o login do usuário atual.
[2] Comentário enviado por marujo em 21/11/2012 - 09:44h
Olá amigo!
Observe que no exemplo acima tive que dar permissão em meu diretório home, que possuem diretórios e arquivos visíveis e ocultos, em meu caso e acredito que no caso da grande maioria, não guardam seus arquivos no raiz do home, como existem somente arquivos ocultos no home de cada usuário (.bashrc, .bash_profile, etc), explanei o comando dessa maneira, porém, alem dos diretórios ocultos (.ssh, .VirtualBox, etc) tenho diretórios visíveis (Documentos, Imagens, etc), por isso houve a necessidade dos dois comandos em questão, lembrando que o comando aplicado dessa maneira é recursivo, ou seja, irá aplicar as permissões nos subdiretórios também.
O ponto em questão é, você pode modificar para atender a sua necessidade da maneira que achar melhor, em meu caso só funcionou dessa maneira. Acredito haver outras, essa é só mais uma.
[3] Comentário enviado por donnangelo em 07/12/2016 - 18:34h
E no caso de ter dado um chmod -R 755 / , utilizando o usuário root. Como voltar as permissões ao que estava? Essa configuração fez com que eu não consiga mais logar na máquina via ssh (putty).
[4] Comentário enviado por petterson em 10/06/2017 - 20:42h
Olá, no meu caso o proprietário do meu /home/$user é o root. Então quando eu dei os comados todos eles me foram negados. Mesmo após por o sudo na frente, nada deu certo. Então como proceder?