Veo algunos de los usuarios que puedo encontrar en /home
el directorio de centos pero no el resto de los usuarios.
Los usuarios que figuran en /home
el directorio, puedo iniciar sesión como esos usuarios con el comando
su username
Para encontrar al resto de usuarios, tuve que usar el comando:
cut -d: -f1 /etc/passwd
Para iniciar sesión como uno de estos demás usuarios, necesito usar el comando
sudo -u username
¿cuál es la diferencia?
Respuesta1
Si ejecuta un comando similar al suyo:
$ cut -d: -f1,6,7 /etc/passwd
root:/root:/bin/bash
bin:/bin:/sbin/nologin
daemon:/sbin:/sbin/nologin
adm:/var/adm:/sbin/nologin
lp:/var/spool/lpd:/sbin/nologin
sync:/sbin:/bin/sync
shutdown:/sbin:/sbin/shutdown
halt:/sbin:/sbin/halt
mail:/var/spool/mail:/sbin/nologin
operator:/root:/sbin/nologin
games:/usr/games:/sbin/nologin
...
gareth:/home/gareth:/bin/bash
...
Notarás que las únicas cuentas con un /home
directorio son aquellas en las que a) la segunda columna de arriba tiene una ruta a un directorio dentro de /home
, y b) tienen un shell en la tercera columna ( /bin/bash
).
Todos los demás usuarios no pueden iniciar sesión porque tienen un shell de /sbin/nologin
, que como su nombre lo indica, no permite iniciar sesión, o tienen un shell que es un comando específico, como /sbin/halt
.
Puedes ejecutar comandos como los demás usuarios, o incluso ejecutar un shell:
$ sudo -u daemon whoami
daemon
$ sudo -u daemon bash
$ whoami
daemon
$ echo $HOME
/
pero no tendrás un directorio de inicio dentro de /home
.
Más importante aún, no puede iniciar sesión en un mensaje de inicio de sesión o con su
estas ssh
cuentas porque el shell está /sbin/nologin
y sus contraseñas habrán sido deshabilitadas (busque a !!
o a *
en la segunda columna de sudo less /etc/shadow
).
Estas cuentas son todassistemacuentas utilizadas por servicios como correo electrónico o dhcp o utilizadas para apagar el sistema.
Realmente no deberías ejecutar comandos ya que estos usuarios usan sudo
.