En un cuadro de Linux, ¿cómo enumero a todos los usuarios que tienen privilegios de root (y aún mejor, a todos los usuarios en general junto con si tienen root o no)?
En un cuadro de Linux, ¿cómo enumero a todos los usuarios que tienen privilegios de root (y aún mejor, a todos los usuarios en general junto con si tienen root o no)?
Respuestas:
No olvides cambiar la contraseña de root. Si algún usuario tiene UID 0 además de root, no debería hacerlo. Mala idea. Verificar:
grep 'x:0:' /etc/passwd
Nuevamente, no debe hacer esto sino verificar si el usuario es miembro del grupo raíz:
grep root /etc/group
Para ver si alguien puede ejecutar comandos como root, verifique sudoers:
cat /etc/sudoers
Para verificar el bit SUID, que permite que los programas se ejecuten con privilegios de root:
find / -perm -04000
grep '[^:]*:[^:]*:0:' /etc/passwd
. +1 en particular para verificar SUID.
Para ver quién es UID 0:
getent passwd 0
Para ver quién está en grupos root
, wheel
adm
y admin
:
getent group root wheel adm admin
Para enumerar todos los usuarios y los grupos de los que son miembros:
getent passwd | cut -d : -f 1 | xargs groups
getent passwd
cambio, es correcta. Simplemente no olvides revisar / etc / sudoers.
La raíz pura es la identificación de usuario "0".
Todos los usuarios en el sistema están en el archivo / etc / passwd:
less /etc/passwd
Aquellos que son root tienen "0" como ID de usuario, que es la tercera columna. Aquellos con "0" como grupo (cuarta columna) también pueden tener algunos privilegios de root.
A continuación, querrá ver los grupos y ver quién es un miembro adicional de los grupos "raíz" o "rueda" o "administrador":
less /etc/group
Los usuarios que figuran en esos grupos podrían tener algunos privilegios de root, especialmente a través del comando "sudo".
Lo último que querrá verificar es la configuración de "sudo" y ver quién está autorizado para ejecutar este comando. Este archivo en sí está bien documentado, así que no lo reproduciré aquí:
less /etc/sudoers
Eso cubre las áreas principales de quién podría tener acceso de root.
consolehelper
y PackageKit
.)
getent passwd
debe enumerar todos los usuarios del sistema (incluida la raíz), en formato passwd, independientemente de la base de datos donde estén definidos.
Para imprimir a todos los usuarios
perl -n -e '@user = split /:/ ; print "@user[0]\n";' < /etc/passwd
Para imprimir solo aquellos usuarios con UID 0, como lo han dicho otros, los usuarios con privilegios raíz implícitos:
perl -n -e '@user = split /:/ ; print "@user[0]\n" if @user[2] == "0";' < /etc/passwd
getent passwd
lugar. Para su primer ejemplo de "imprimir todos los usuarios", más bien intente esto:getent passwd | perl -naF: -e 'print "$F[0]\n"'
Para obtener una lista rápida de todos los usuarios, intente presionar la pestaña dos veces (para completar automáticamente) después de escribir el passwd
comando seguido de un espacio. Esto funciona con el su
comando también.
Debe hacerse como un usuario con privilegios de root.