$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:::
En el segundo campo del archivo sombra, !
significa que el usuario raíz no puede iniciar sesión, pero ¿por qué puedo iniciar sesión en el usuario raíz sudo su
?
¿Por qué no puedo iniciar sesión en el usuario root por su root
o su -
?
permissions
sudo
passwd
shadow
Sinoosh
fuente
fuente
Respuestas:
Un campo de contraseña encriptada
!
en lashadow
entrada significa que ninguna contraseña puede autenticarse contra ella. Deman shadow
:Como dice el manual, esto no significa que no pueda iniciar sesión como root. Simplemente significa que no puede iniciar sesión como root utilizando una contraseña para la cuenta root. (Puede iniciar sesión como root a través de SSH utilizando claves SSH, por ejemplo, si lo configuró anteriormente, incluso si la cuenta está bloqueada).
sudo
normalmente se autentica con su contraseña, no con la raíz. Esto se puede cambiar configurando uno detargetpw
,rootpw
orunaspw
ensudoers
. Si configura una de estas opciones e intenta usar una contraseña cuando la contraseña está bloqueada, eso fallará .fuente
Ahora veamos los comandos en consecuencia:
sudo su
:sudo
ejecuta el comandosu
(usuario sustituto) con privilegios de root, por lo que incluso si/etc/shadow
dice o tieneroot:!:17179:0:99999:7:::
, seguirá ejecutando comandos con privilegios de root.su -
osu root
:/etc/shadow
archivo no puede iniciar sesión, por lo que usar estos comandos no funcionará. Si desea que funcionen, entonces la cuenta raíz debe desbloquearse dándole una contraseña.Resumen:
su -
0rsu root
cambia a root de usuario , no existe, por lo que no puede suceder, perosudo su
ejecuta el comando switch conroot
privilegios, por lo que en este caso desaparecerá si está en elsudo
grupo. En este caso, no estás iniciando sesión como root, solo actúas como root para que funcione .Fuente: ¿Cuál es la diferencia entre 'su -' y 'su root'?
fuente
sudo su
que no ve los campos de paso en el archivo de sombra?sudo su
es la forma incorrecta de corrersudo sh
osudo bash
.