O que esse comando "encontrar" faz?

O que esse comando "encontrar" faz?

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 findcomandos alterarão recursivamente os bits de permissão de todos os arquivos 660e de todos os diretórios, 770começ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.rootrootuser:grouproot:rootssh/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, /rootvocê 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 findpesquisa. Portanto, isso afetou os arquivos da pasta em que você executou e toda a árvore abaixo dela.

informação relacionada