Acidentalmente alterou as permissões em / [duplicado]

3

acidentalmente:

chmod -R 777 /

Agora, o RHEL 6 não está inicializando.

O que eu faço?
Eu tenho um DVD e posso entrar no modo de recuperação.

Alguém pode explicar como redefinir todas as permissões?

Atualizar Na verdade, ele inicializa e, em seguida, chega a uma tela onde exibe o logotipo Redhat junto com algum texto localhostXXX. Mas depois disso nada acontece. Não está indo para a tela de login.

    
por user2799508 21.02.2014 / 14:45

2 respostas

3

Você pode usar o seguinte script:

#!/bin/sh

GDZIE=$PWD

for dir in /bin /sbin /lib /usr /etc /opt /var; do
    echo '#!/bin/sh'>"${GDZIE}${dir}.sh"
    find "$dir" -printf "chown %u:%g %p && chmod  %m %p\n" >>"${GDZIE}${dir}.sh"
done

chmod +x "$GDZIE"/*.sh

Execute-o em um sistema saudável primeiro. Ele produzirá alguns scripts com todos os arquivos existentes nesse sistema e também salvará suas permissões. Então você só precisa rodar os scripts no sistema danificado.

Não sei ao certo o que é melhor - uma reinstalação completa desse sistema ou desta solução. Mas se você quiser evitar esse tipo de situação, salve o script e, quando tiver concluído a instalação de um novo sistema, faça o backup, apenas por precaução. :)

    
por 21.02.2014 / 15:41
2

Alguém com um sistema semelhante pode criar uma lista das permissões para você. Sugiro fazer isso para cada diretório separadamente:

#! /bin/bash
# as root
cd /
shopt -s extglob
for dir in /!(home|proc|sys|lost+found|cgroup); do
    test -d "$dir" || continue
    time getfacl --recursive "$dir" >"$dir.acl"
done

No seu sistema, você aplica os dados com: setfacl --restore=file

Talvez essa informação também possa ser extraída do gerenciamento de pacotes. Eu tenho que pensar sobre isso primeiro, no entanto.

Você não precisa usar a ACL para que isso funcione. Mas as ferramentas do ACL devem ser instaladas, é claro. Mas eu acho que eles são por padrão.

    
por 21.02.2014 / 15:42