Os padrões atuais para a conta raiz em /etc/passwdé root:x:0:0:root:/root:/bin/bash.
Por que não configurá-lo root:x:0:0:root:/root:/usr/sbin/nologin?
Os padrões atuais para a conta raiz em /etc/passwdé root:x:0:0:root:/root:/bin/bash.
Por que não configurá-lo root:x:0:0:root:/root:/usr/sbin/nologin?
Respostas:
Se fosse esse o caso, você só seria capaz de executar comandos com sudoum de cada vez, mas não conseguiria iniciar um shell raiz. Um shell raiz é conveniente em muitos casos, por exemplo, se você planeja executar vários comandos como root em uma linha.
Especificamente, você não pode executar sudo -i, como AlexP observou. De man sudo:
-i, --login Run the shell specified by the target user's password database entry as a login shell.
sudo /bin/bashfunciona para fazer isso?
sudo -seu penso (um shell raiz, mas não um shell de login root ). É um bom ponto embora - e na verdade sudo -sparece funcionar mesmo quando shell de root é/usr/sbin/nologin
-i, -s, /bin/bash, e assim por diante por apenas permitindo uma lista branca de comandos, consulte a documentação para o arquivo sudoers. Isso é tão refinado, que é possível, por exemplo, permitir que os usuários executem /etc/init.d/someservice restartcomo root sem permitir que eles executem /etc/init.d/someservice stop. Mas o padrão do ubuntu é apenas definir uma senha roote permitir que os usuários administradores façam tudo com o sudo. Provavelmente, a justificativa é a) mais de um usuário administrador eb) O usuário administrador não precisa se lembrar de uma segunda senha para a conta raiz.
Além da resposta sudo de Alberto Santini, há outra (muito melhor) resposta. Se o shell do root estiver definido como algo que não é um shell, a inicialização de um único usuário não funcionará. Há recuperação suloginpara itens como shell não existente ou shell completamente quebrado, mas não funcionará se o shell parecer um shell válido, mas não for realmente um shell.
Você ainda pode sudoobter diretamente um shell especificando-o para sudoque ele não seja uma boa proteção.
sudo -i?