
Sou iniciante no Linux e executei o seguinte comando enquanto estou ligado /root
:
find . -type d -exec chmod 770 {} \; && find . -type f -exec chmod 660 {} \
Eu pretendia executar isso em uma pasta específica, mas não percebi que estava no /root
.
Isso afetou todos os arquivos da máquina?
Responder1
Dado que você tem permissões suficientes, os find
comandos alterarão recursivamente os bits de permissão de todos os arquivos 660
e de todos os diretórios, 770
começando no diretório onde são executados.
Como você estava no diretório inicial de /root
( ) e assumindo que você estava executando como e o proprietário está , isso não deve ser um grande problema, exceto que alguns programas específicos podem reclamar de alguns arquivos ou diretórios específicos, como podem reclamar das permissões de diretório e arquivo ao fazer autenticação baseada em chave, você precisa corrigi-los manualmente.root
root
user:group
root:root
ssh
/root/.ssh
/root/.ssh/authorized_keys
Além disso, não execute nenhum comando encontrado cegamente, você deve perguntar o que o comando faz primeiro e depois executá-lo.
Responder2
Esse comando localiza todos os diretórios no diretório em que você executou o comando e modifica suas permissões. Em seguida, faz o mesmo, mas com arquivos. Neste caso, o comando altera as permissões dos diretórios para que você tenha acesso total, mas outros usuários não tenham acesso. Se você é o único usuário do sistema, isso não importa. O comando então altera as permissões dos arquivos em /root para permitir apenas acesso de leitura e gravação, mas não permite a execução. Você pode encontrar alguns problemas ao executar programas e scripts, mas nada que cause um grande impacto. Outros usuários também não terão acesso aos arquivos em/root.
se você encontrar um script ou programa que não pode ser executado, /root
você pode simplesmente executar este comando no arquivo:
sudo chmod 775 filename
onde filename
é substituído pelo nome do arquivo que você está tentando executar
Se houver outros usuários do sistema e você quiser que todos possam ler diretórios e arquivos, pode valer a pena executar o comando novamente, mas alterando-o ligeiramente para:
find . -type d -exec chmod 775 {} \; && find . -type f -exec chmod 664 {} \;
Responder3
Esse primeiro ponto após o comando é a raiz da árvore onde find
pesquisa. Portanto, isso afetou os arquivos da pasta em que você executou e toda a árvore abaixo dela.