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 nobodyvolver Esta cuenta no está disponible actualmente. porque el shell para el usuarionobodyestá 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/shadowle mostrará que nadie no tiene una contraseña y que no puede hacerlosusin una contraseña de cuenta. La forma más limpia es en susudo su nobodylugar. Eso te dejará en unshcaparazó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 nobodyy 2) ¿puede dar un ejemplo particular cuando se indica que use esta cuenta?sucomo usuario común, debe proporcionar la contraseña del usuario objetivo. Intentesudo -iluegosu nobodydesde el shell raíz (que no requerirá una contraseña).Network File Systemlos mapasrootanobodyla raíz local no pueden acceder a todo como la raíz remota puede.nobodyNFS la usa en realidad / principalmente como estados linuxstandardbase .Información tomada de http://en.wikipedia.org/wiki/Nobody_(username) .
fuente
nobodyes 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
nobodyes 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 lanobodycuenta. ¿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
nobodynombre 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
nobodypara 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
nobodyfuera de NFS .fuente
root_squashon,rootse asigna al usuarionobody, por lo que los archivos que tienen propietario nonobodytendrí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 quenobodyNFS debe usarlo al asignar permisos, y ese es el punto más importante para mí. Cómo NFS utilizanobodyes menos interesante que el hecho de que no utilicenobody. Gracias.man exports, puede estar muy confundido.El
nobodyusuario 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
nobodyusuario 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