O que “chmod 777 -R /” faz em / var / www / html /… /… /… /? [duplicado]

6

Infelizmente eu estava correndo e corri sudo chmod 777 -R / dentro de um projeto. Devo me preocupar se ele começou a adicionar 777 permissão para toda a minha pasta a partir do root ( / )?

    
por πter 27.07.2017 / 15:15

4 respostas

12

  

Devo me preocupar se ele começou a adicionar 777 permissão para toda a minha pasta a partir do root (/)?

Não, não precisa se preocupar. Eu posso garantir se você usou "sudo" na frente dele ou fez um "sudo -i". Caso contrário, deve ter mostrado um erro de permissão.

Caso você queira restaurar seu sistema, existem maneiras de fazer isso, mas você precisa de um sistema de backup atual (ou seja, atualizado com seus dados pessoais). Com as ferramentas de ACL ...

  • você pode fazer getfacl -R > permissions.txt de / no sistema de backup para criar uma lista de permissões.

  • Na máquina quebrada, use uma sessão ativa, copie o arquivo para / e faça setfacl --restore=permissions.txt em / para restaurá-los.

Aconselho-o a reinstalar embora.

    
por Rinzwind 27.07.2017 / 15:27
4

Sim, você precisa se preocupar

Você executou sudo chmod 777 -R / , que recorrerá ao sistema de arquivos inteiro.

Para a maioria dos arquivos, isso é um pequeno inconveniente. Para alguns arquivos, será um grave risco de segurança (pense em /etc/passwd e afins), se algum invasor conseguir comprometer seu sistema por meio de ataques shell ou CGI.

Mas o mais importante, alguns arquivos quebram se eles forem muito abertos. Por exemplo, se você abrir ~/.ssh/* (suas chaves ssh, authorized_keys, hosts ...), ssh ou sshd tratará esses arquivos como se eles não estivessem lá, por motivos de segurança. Isso pode, na pior das hipóteses, significar que você seja bloqueado de sua própria máquina, se você confiar em ~/.ssh/authorized_keys para fazer login via ssh + Public Key. Há também muitos outros pacotes de software relacionados à segurança que fazem o mesmo, principalmente para suas configurações em /etc ou talvez alguns arquivos em /var .

Então, obviamente, não podemos dizer com certeza como sabemos pouco sobre sua máquina. Certamente não é uma questão inofensiva, como algumas das outras respostas propõem.

    
por AnoE 27.07.2017 / 18:07
1

Se você executar:

readlink -f /var/www/html/../../..

Você receberá / significa que você mesmo disse que seu comando foi executado no / , simplesmente seu sistema está quebrado agora, obtenha um backup de seus dados, reinstale o Ubuntu. / p>

O trabalho de chmod é mudar o mod (bit de permissão) dos arquivos / diretórios e 777 significa que todos podem ler, escrever, executar qualquer coisa no seu sistema, ao mesmo tempo em que você removeu muitos outros bits como sticky, suid, sgid.

    
por Ravexina 27.07.2017 / 15:19
0

Em um ponto que não foi levantado,

  

... começou a adicionar 777 permissão para toda a minha pasta a partir do root ...

Você não acabou de adicionar 777 permissões, você removeu o setuid, setgid e sticky bit de todos os arquivos. Isso fará com que coisas como sudo e su parem de funcionar, pois elas dependem do setuid para alterar usuários.

Observe que chmod 777 é a abreviação de chmod 0777 . Esse outro dígito octal representa os bits que acabei de mencionar. Por exemplo, chmod 4777 , define o bit setuid, limpa o setgid e o sticky bit e adiciona todas as permissões.

No futuro, sugiro usar a outra sintaxe de chmod :

chmod +rwx # what you probably intended
chmod ug+w # add write permission to user and group
chmod o-r # remove read permission from other
    
por JoL 27.07.2017 / 20:15

Tags