Corrigir permissões do servidor após acidental chmod [duplicado]

0

Ao tentar depurar um servidor de e-mail, digitei:

chmod -R 777 /

em vez de:

chmod -R 777 .

e a cereja no topo do bolo, devido a eu ter esquecido que tinha mudado um script que usei para entrar para consertar algo, eu fiz tudo isso como root. Eu não tenho backups da maioria do sistema (má escolha eu sei).

Diferente das perguntas "Recuperando de chmod -R -777 /" e "O que fazer depois de 'chmod -R 777 /'?" Eu ainda estou conectado como root, e nem todo o sistema foi alterado, então eu tenho algum controle sobre o sistema. Eu também saí do comando dentro de um segundo para minimizar o dano. Desde então, desliguei fisicamente o servidor da Internet.

Eu acredito que um script poderia consertá-lo se restaurasse as permissões do sistema de arquivos com base nos dados do gerenciador de pacotes, mas eu não sei como eu faria isso. Se isso não for possível, como eu salvaria os dados do servidor para reinstalar o sistema operacional?

Estou ciente dos possíveis riscos de perder um arquivo, mas prefiro que a recuperação seja reinstalada, apesar deles.

esta é a saída atual de ls -la / :

drwxrwxrwx  22 root root  4096 Sep  7  2016 .
drwxrwxrwx  22 root root  4096 Sep  7  2016 ..
drwxr-xr-x   2 root root  4096 May 18 07:55 bin
drwxr-xr-x   3 root root  4096 Sep 21 07:53 boot
drwxr-xr-x  19 root root  3180 Sep 11 20:54 dev
drwxrwxrwx  92 root root  4096 Aug 23 07:50 etc
drwxr-xr-x   4 root root  4096 May 23  2016 home
lrwxrwxrwx   1 root root    31 Feb 24  2016 initrd.img -> /boot/initrd.img-3.16.0-4-amd64
drwxrwxrwx  18 root root  4096 Feb 24  2016 lib
drwxr-xr-x   2 root root  4096 Jun 20 07:00 lib64
drwx------   2 root root 16384 May 19  2016 lost+found
drwxrwxrwx   2 root root  4096 May  5  2015 media
drwxr-xr-x   2 root root  4096 May  5  2015 mnt
drwxr-xr-x   3 root root  4096 May 28  2016 opt
dr-xr-xr-x 148 root root     0 Sep  3 21:55 proc
drwxrwxrwx  10 root root  4096 Aug 19 17:58 root
drwxr-xr-x  22 root root   800 Sep 21 17:09 run
drwxrwxrwx   3 root root  4096 Jun 20 07:00 sbin
drwxr-xr-x   4 root root  4096 Sep 20 23:18 sftp
dr-xr-xr-x  13 root root     0 Sep  3 21:55 sys
drwxrwxrwx   8 root root  4096 Sep 21 17:17 tmp
drwxrwxrwx  11 root root  4096 Feb 24  2016 usr
drwxr-xr-x  14 root root  4096 Jun 25 06:21 var
lrwxrwxrwx   1 root root    27 Feb 24  2016 vmlinuz -> boot/vmlinuz-3.16.0-4-amd64

só notei no meu pânico eu cliquei no fórum do ubuntu não debian ... estou ciente de que não é como você conserta um servidor de e-mail. foi uma correção descuidada hacky para ver o que quebrou

iv repostou isso no fórum correto agora

    
por kaioker2 21.09.2017 / 20:34

1 resposta

-1

Corrigindo erro de permissão

Como restaurar a permissão do diretório raiz para o padrão?

Regra # 1: Se você não estiver confortável com as linhas de comando, não execute nenhum comando como root.

A execução de chmod -R 777 / como raiz quebrará seu sistema.

A execução de rm -rf / como raiz resultará em um desastre! .

Se você executou chmod -R 777 / como root, siga estas etapas para restaurá-lo:

Etapa 1:

Copie o seguinte script, cole-o no seu console para gerar o script de correção de permissões

echo '
chmod -R 755 /bin /boot /dev /etc/ /home /lib /lib64 \
/media /mnt /opt /run /sbin /srv /usr /var

chmod -R 777 /initrd.img /vmlinuz
chmod -R 1777 /tmp
chmod -R 555 /sys
chmod -R 555 /proc
chmod -R 700 /root

' > fixpermission

chmod +x fixpermission

./fixpermission

O exemplo acima criará um script chamado fixpermission e o executará por ./fixpermission , se ainda não tiver sido chamado.

Etapa 2:

Execute stat -c '%A %a %n' /* para mostrar seu diretório adequado e sua permissão conforme restaurado.

Exemplo: sua estrutura de permissões de diretório deve ser semelhante à seguinte:

root@plab:~# stat -c '%A %a %n' /*
drwxr-xr-x 755 /bin
drwxr-xr-x 755 /boot
drwxr-xr-x 755 /dev
drwxr-xr-x 755 /etc
drwxr-xr-x 755 /home
lrwxrwxrwx 777 /initrd.img
lrwxrwxrwx 777 /initrd.img.old
drwxr-xr-x 755 /lib
drwxr-xr-x 755 /lib64
drwx------ 700 /lost+found
drwxr-xr-x 755 /media
drwxr-xr-x 755 /mnt
drwxr-xr-x 755 /opt
dr-xr-xr-x 555 /proc
drwx------ 700 /root
drwxr-xr-x 755 /run
drwxr-xr-x 755 /sbin
drwxr-xr-x 755 /srv
dr-xr-xr-x 555 /sys
drwxrwxrwt 1777 /tmp
drwxr-xr-x 755 /usr
drwxr-xr-x 755 /var
lrwxrwxrwx 777 /vmlinuz
lrwxrwxrwx 777 /vmlinuz.old

Etapa 3:

Reinicie seu sistema!

Espero que isso ajude.

    
por Prince Adeyemi 22.09.2017 / 00:44