Linux - Proteção contra nós mesmos (Root)

0

Eu amo o Linux e tudo o que ela representa; no entanto, infelizmente eu cresci com o Windows. Assim, aprendi práticas muito ruins (como a NT Authority me protegerá). Eu tenho vários VPSs Linux para uso pessoal e educacional e gerencio todos eles na linha de comando. Através do gerenciamento desses servidores, aprendi lições muito dolorosas sobre o poder do usuário Root. Tais como:

  • rm -d -R / *
  • chown www-usuário: www-usuário -R / *
  • Etc.

Eu só removi meu diretório raiz duas vezes, mas na semana passada mudei a permissão de toda a unidade - bloqueando efetivamente a raiz.

Agora eu sei que nunca deveria estar logado como Root, mas na maioria das vezes eu tenho que lidar com arquivos que somente o Root possui, então eu sudo e executo o comando.

Então, minha pergunta é, existe uma maneira de solicitar ao usuário (quem é root ou sudo'ed) quando um comando potencialmente perigoso é executado, para que o usuário possa repensar sua decisão? Possivelmente através de scripts no Bash, ou um wrapper sudo diferente.

Ou (eu pergunto isso esperançosamente, e muito simplificado) existe uma maneira de configurar permissões onde, em vez de um sistema de usuário de duas camadas (usuário root, usuário regular), há um sistema de três camadas como no Windows (NT Authority, Administrador, outro usuário). Basicamente, existe uma maneira de manter a capacidade de administração do sistema, mas restringir o acesso a alguns arquivos do sistema.

    
por Mark Lopez 03.09.2013 / 02:09

3 respostas

1

Adquira o hábito de fazer um ls antes de emitir um comando destinado a funcionar recursivamente ou um que seja perigoso. Você pode ver quais arquivos serão afetados antes de continuar.

rm suporta a opção -i (fazendo com que ele seja solicitado), bem como --preserve-root (falha na raiz), o que deve proporcionar uma pequena margem de segurança. Outros comandos podem ter opções semelhantes. Você pode tê-los sempre presentes com um comando alias rm=rm -i --preserve-root , e pode querer colocar isso em seu ~/.profile ou ~/.bashrc , de modo que esteja lá toda vez que você invocar seu shell de root.

    
por 03.09.2013 / 05:01
1

Se você (ou outra pessoa no sistema) tiver um problema perene ao cometer erros de administrador como este, e é importante que você mantenha seus dados, convém verificar os dados significativos em nilfs . Existem algumas implicações de segurança que devem ser consideradas nos sistemas de arquivos estruturados em log; por exemplo, é mais difícil realmente remover permanentemente algo do disco ... mas, por outro lado, é realmente fácil recuperar de um "oops" como rm -rf / .

    
por 03.09.2013 / 04:23
0

O SELinux faz o que você está pedindo, por exemplo evitando rm -rf /* . Além disso, o shell zsh solicita confirmação antes de fazer um rm * , para proteger contra erros de digitação como rm * .txt .

    
por 03.09.2013 / 04:01