
Tenho ouvido muitas vezes que é melhor usar o su para fazer root em vez de fazer login diretamente como usuário root (e é claro que as pessoas também dizem que é ainda melhor usar o sudo). Eu realmente nunca entendi por que um é melhor que o(s) outro(s), insight?
Responder1
A inferência é apenas su
ou sudo
quando necessário.
A maioria das tarefas diárias não requer um shell root. Portanto, é uma boa prática usar um shell sem privilégios como comportamento padrão e só elevar para root quando precisar executar tarefas especiais.
Ao fazer isso, você está reduzindo o escopo de erros perigosos (scripts incorretos, curingas mal colocados, etc.) e vulnerabilidades de quaisquer aplicativos que você usa. Especialmente aqueles que se conectam à Internet - veja o velho ditado"Não faça IRC como root".
sudo
é frequentemente recomendado porque permite detalhar e auditar o uso de tais privilégios.
Ao observar essas práticas, você também poderá desabilitar logins root remotos. Isso aumenta a barreira de entrada para qualquer possível invasor, pois eles precisariam comprometer uma conta de usuário regular que fosse membro do grupo "wheel" e, idealmente, autorizada apenas por chaves públicas SSH, e depois a própria conta root.
Responder2
Você deve desabilitar o acesso root remotamente para que um invasor não possa comprometer o root sem primeiro comprometer um usuário e depois escalar para root. Habilitamos o acesso root apenas no console.
Além disso, cria responsabilidade. :)
Responder3
O principal motivo é criar uma trilha de auditoria. Se você precisar fazer login em um sistema como usuário normal e depois su, é possível rastrear quem é o responsável por determinadas ações.
Responder4
Outro bom motivo: ao passar para root via sudo, um usuário se autentica com suas próprias credenciais, o que significa que ele não precisa necessariamente receber a senha de root, facilitando o bloqueio de coisas quando alguém sai da sua organização.