Después de leer Listar todos los usuarios humanos , noté que hay una cuenta de usuario llamada 'nadie' en mi sistema Ubuntu.
También noté que puedo iniciar sesión en esta cuenta desde la terminal usando el siguiente comando y mi contraseña:
sudo su nobody
No me molesta en absoluto, pero quiero saber cuál es el propósito de este usuario. ¿Se crea de forma predeterminada en una nueva instalación de Ubuntu o se crea instalando un paquete en particular?
users
username
switch-user
Radu Rădeanu
fuente
fuente
sudo su nobody
volver Esta cuenta no está disponible actualmente. porque el shell para el usuarionobody
está establecido en/usr/sbin/nologin
(getent passwd nobody
).root_squash
él se asignará root a nadie en sistemas remotos. Esto es más o menos exactamente lo contrario de lo que dice esta respuestaRespuestas:
Está ahí para ejecutar cosas que no necesitan ningún permiso especial. Por lo general, está reservado para servicios vulnerables (httpd, etc.) de modo que si son pirateados, tendrán un daño mínimo en el resto del sistema.
Compare esto con ejecutar algo como un usuario real, si ese servicio se viera comprometido (los servidores web son explotados ocasionalmente para ejecutar código arbitrario), se ejecutaría como ese usuario y tendría acceso a todo lo que ese usuario tenía. En la mayoría de los casos, esto es tan malo como obtener root.
Puedes leer un poco más sobre el usuario de nadie en Ubuntu Wiki:
Para responder a sus seguimientos:
¿Por qué no puedo acceder a esta cuenta
su nobody
?sudo grep nobody /etc/shadow
le mostrará que nadie no tiene una contraseña y que no puede hacerlosu
sin una contraseña de cuenta. La forma más limpia es en susudo su nobody
lugar. Eso te dejará en unsh
caparazón bastante desolado .¿Puede dar un ejemplo particular cuando se indica que use esta cuenta?
Cuando no se requieren permisos para las operaciones de un programa. Esto es más notable cuando nunca va a haber actividad en el disco.
Un ejemplo real de esto es
memcached
(un valor clave en memoria caché / base de datos / cosa), sentado en mi computadora y mi servidor corriendo bajo la cuenta de nadie. ¿Por qué? Porque simplemente no necesita ningún permiso y darle una cuenta que sí tenía acceso de escritura a los archivos sería un riesgo innecesario.fuente
su nobody
y 2) ¿puede dar un ejemplo particular cuando se indica que use esta cuenta?su
como usuario común, debe proporcionar la contraseña del usuario objetivo. Intentesudo -i
luegosu nobody
desde el shell raíz (que no requerirá una contraseña).Network File System
los mapasroot
anobody
la raíz local no pueden acceder a todo como la raíz remota puede.nobody
NFS la usa en realidad / principalmente como estados linuxstandardbase .Información tomada de http://en.wikipedia.org/wiki/Nobody_(username) .
fuente
nobody
es estrictamente para NFS y no debe ser utilizado por otros servicios y ciertamente no por los administradores del sistema. Gracias.El usuario nobody está reservado solo para NFS.
Las respuestas anteriores son bastante incorrectas, porque suponen que
nobody
es una identificación de usuario anónima / invitada "genérica".En el modelo de control de acceso UNIX / Linux, no existen identificadores de usuario anónimos / invitados y estas son malas sugerencias:
nobody
, especialmente servidores, para limitar el daño que podría hacer un usuario malintencionado que obtuvo el control de ellos ", debido a lo siguiente: " Sin embargo, la utilidad de esta técnica se reduce si más de un demonio se ejecuta de esta manera, porque entonces obtener el control de un demonio proporcionaría el control de todos ellos ".memcached
(una memoria caché / base de datos / cosa en la memoria de valor clave), sentado en mi computadora y mi servidor ejecutándose bajo lanobody
cuenta. ¿Por qué? Porque simplemente no necesita ningún permiso y para darle una cuenta que tuviera acceso de escritura a los archivos sería un riesgo innecesario " .El
nobody
nombre de usuario con la identificación de usuario 65534 se creó y se reservó para un propósito específico y debe usarse solo para ese propósito: como marcador de posición para usuarios "no asignados" e identificadores de usuario en exportaciones de árbol NFS.Es decir, a menos que la asignación de usuario / id esté configurada para las exportaciones de árbol NFS, todos los archivos en la exportación aparecerán como propiedad
nobody
. El propósito de esto es evitar que todos los usuarios en el sistema de importación accedan a esos archivos (a menos que tengan "otros" permisos), ya que ninguno de ellos (exceptoroot
) puede / convertirsenobody
.Por lo tanto, es una muy mala idea usarlo
nobody
para cualquier otro propósito, porque su propósito es ser un nombre de usuario / ID de usuario para archivos que no deben ser accesibles para nadie.La entrada de Wiki también está muy mal.
La práctica de UNIX / Linux es crear una nueva cuenta para cada "aplicación" o área de aplicación que necesite un dominio de control de acceso separado, y nunca reutilizar
nobody
fuera de NFS .fuente
root_squash
on,root
se asigna al usuarionobody
, por lo que los archivos que tienen propietario nonobody
tendrían absolutamente ningún sentido. Además, la afirmación de que los archivos de propiedad de nadie están destinados a ser inaccesibles para nadie tiene poco sentido, ya que los permisos de archivos son independientes de la propiedad en UNIX. No estoy diciendo que todo en la respuesta esté mal, solo que algunos elementos tienen poco o ningún sentido para mí :)nobody
. Te dice quenobody
NFS debe usarlo al asignar permisos, y ese es el punto más importante para mí. Cómo NFS utilizanobody
es menos interesante que el hecho de que no utilicenobody
. Gracias.man exports
, puede estar muy confundido.El
nobody
usuario se crea de forma predeterminada en una instalación nueva (marcada en Ubuntu Desktop 13.04).fuente
nadie es una cuenta especial de usuario y grupo. Debido a que es un nombre de usuario real (y nombre de grupo) y puede ser utilizado por procesos e incluso usuarios, literalmente no es nadie . Por ejemplo, algunas configuraciones de Apache no tienen a nadie como el usuario / grupo que posee los archivos y directorios del sitio web. El problema surge cuando varios procesos pueden usar el usuario de nadie, como los directorios NFS y el servidor web.
fuente
Corrección menor al ' El usuario nadie está reservado solo para NFS. ' responder. El
nobody
usuario también se utiliza para contenedores no privilegiados con montajes de enlace en este momento.Esto está tomado de systemd-nspawn, específicamente la opción --bind mount:
systemd-nspawn
fuente