Consertando permissões de arquivos e diretórios

Publicado por Márcio Araújo Lopes em 08/11/2012

[ Hits: 22.360 ]

 


Consertando permissões de arquivos e diretórios



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.

-=[ "live long and prosper" ]=-

Márcio Lopes

Outras dicas deste autor

Deixando seu Slackware com tty mais "bonitinho"

Configurando placa wireless Broadcom BCM43224 no GNU/Linux

Leitura recomendada

Como ver todos os grupos do sistema

Instalando o Compiz no Linux Slackware 12.2

Como ver a versão da distribuição no terminal (e outras informações)

Desligando o Linux com mensagem personalizada

Comandos de Exibição de Processos no Linux

  

Comentários
[1] Comentário enviado por gpxlnx em 09/11/2012 - 15:41h

Boa tarde amigo mto boa sua explicacao porém acredito que ficou algo sem sentido pelo menos a meu modo de ver


# find /home/$USER/.* -type d -exec chmod 755 '{}' \;
# find /home/$USER/* -type d -exec chmod 755 '{}' \;


Nessas duas linhas vc esta dando permissões diferentes a arquivos e diretorio nao poderia ser em um comando só com a opção

# find /home/$USER/* -type d -exec chmod 755 '{}' \;

[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.

Espero ter explicado.

[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?

[5] Comentário enviado por sandrocarva em 26/07/2018 - 20:36h

Aqui deu certo. Obrigado amigo.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts