$cat /etc/passwd |grep -i root
root:x:0:0:root:/root:/bin/bash
$sudo cat /etc/shadow |grep -i root
root:!:17179:0:99999:7:::
No segundo campo do arquivo shadow, !
significa que o usuário root não pode fazer login, mas por que posso fazer login no usuário root sudo su
?
Por que não consigo fazer login no usuário root por su root
ou su -
?
permissions
sudo
passwd
shadow
Sinoosh
fonte
fonte
Respostas:
Um
!
noshadow
campo de senha criptografada da entrada significa que nenhuma senha pode ser autenticada. Deman shadow
:Como o manual diz, isso não significa que você não pode fazer login como root. Significa apenas que você não pode fazer login como root usando uma senha para a conta root. (Você pode fazer login como root via SSH usando chaves SSH, por exemplo, se você o tiver configurado anteriormente, mesmo que a conta esteja bloqueada.)
sudo
normalmente se autentica com sua senha, não root. Isso pode ser alterado definindo um detargetpw
,rootpw
ourunaspw
emsudoers
. Se você definir uma dessas opções e tentar usar uma senha quando a senha estiver bloqueada, isso falhará .fonte
Agora vamos ver os comandos de acordo:
sudo su
:sudo
executa o comandosu
(usuário substituto) com privilégios de root, mesmo que o comando/etc/shadow
diga ou o faça,root:!:17179:0:99999:7:::
ele ainda executará comandos com privilégios de root.su -
ousu root
:/etc/shadow
arquivo, não pode efetuar login, portanto, o uso desses comandos não funcionará. Se você deseja que eles funcionem, a conta root deve ser desbloqueada, fornecendo uma senha.Resumo:
su -
0rsu root
alterna para raiz do usuário , não existe, portanto não pode acontecer, massudo su
executa o comando switch comroot
privilégios; portanto, nesse caso, ele será executado se você estiver nosudo
grupo. Você não está realmente fazendo login como root nesse caso, apenas agindo como root para que ele funcione.Fonte: Qual é a diferença entre 'su -' e 'su root'?
fonte
sudo su
que não vê campos de passe no arquivo de sombra?sudo su
é a maneira errada de executarsudo sh
ousudo bash
.