y es y sigue siendo una buena pregunta válida. El problema no es que las personas lo pregunten en los contextos respectivos, es que esta pregunta debe formularse en absoluto.
foo
Respuestas:
390
useraddes binario nativo compilado con el sistema. Pero, adduseres un script perl que usa useraddbinarios en el back-end.
adduseres más fácil de usar e interactivo que su back-end
useradd. No hay diferencia en las características proporcionadas.
el comando add useradd no creará el directorio '/ home / username' pero el comando adduser lo hará
profundizará el
65
useradd con la -mopción creará el directorio de inicio.
richsinn
10
La implicación no es tan interesante, la semántica sí lo es. Me gusta adduser(8)es más fácil de usar y crea y configura un usuario de forma predeterminada de la manera que espera. Y useradd(8)solo haga lo que le pida, así que quiere que se cree un directorio de inicio, debe decirle que lo cree por usted.
Anders
24
Tengo que googlear esto cada vez ... ¿Cómo puedo ayudarme a recordar cuál es cuál?
Quentin Skousen
11
@kkhugs para mí "adduser" se siente más intuitivo porque es un comando que suena como inglés, mientras que el otro no, semánticamente. Si lo recuerda como el "más intuitivo" de los dos, también puede intentar recordarlo como el preferido / más fácil.
pzkpfw
146
Utilice siempreadduser (y delusercuando elimine usuarios) cuando cree nuevos usuarios desde la línea de comandos. (Si está escribiendo un script, especialmente si apunta a la portabilidad, es posible que desee utilizar las utilidades de bajo nivel en su lugar, y adduser/ o deluserno esté disponible en todas las distribuciones, por ejemplo, en SuSE).
Los comandos useradd, userdely usermodson utilidades de bajo nivel que están allí por razones históricas, mientras que adduser/deluserDo The Right Thing ™. (Recuerdo cuál usar al pensar que user*viene después adduser/deluseren el alfabeto y, por lo tanto, es "peor").
De acuerdo con las respectivas páginas de manual (en Ubuntu 12.04 Precise Pangolin, es decir, un sistema derivado de Debian).
La página de manual para adduserdice:
(Énfasis añadido.)
addusery addgroupagregue usuarios y grupos al sistema de acuerdo con las opciones de línea de comandos y la información de configuración en /etc/adduser.conf. Son los front-end más amigables para las herramientas de bajo nivel useradd, groupaddcomo los usermodprogramas , y eligen de manera predeterminada los valores UID y GID conformes con la política de Debian, crean un directorio de inicio con configuración esquelética, ejecutan un script personalizado y otras características.
addusery addgroupse puede ejecutar en uno de los cinco modos:
La página de manual para useradddice:
useraddes una utilidad de bajo nivel para agregar usuarios. En Debian, los administradores deberían usarlo adduser(8)en su lugar.
Nunca puedo recordar cuál, así que esta es mi estúpida mnemotecnia si ayuda a alguien :) "usuario" rima con "perdedor", y "perdedor" es lo último. Por lo tanto: adduser, deluser.
Mads Skjern
26
De hecho, no estoy de acuerdo con " Siempre usuarioadduser ": prefiero las secuencias de comandos automatizadas useraddporque siempre está ahí, no es interactivo y no es específico de la distribución .
Wernight
2
Probé adduseren openSUSE, y no es allí (13.2).
cst1992
1
@ cst1992 Tienes razón, he editado la respuesta para reflejar esto. Curiosamente, cuando probé locate adduserun sistema SuSE 11 en el trabajo, descubrí que había una página de addusermanual, pero no binaria (ni una página de delusermanual ni un comando).
zrajm
2
En Red Hat/usr/sbin/adduser -> useradd
Levon
17
adduser: agregar usuario con perfil completo e información (pase, cuota, permiso, etc.)
useradd: agregar usuario solo con su nombre (si desea agregar un usuario temporal con solo un nombre, no se requiere otra información)
+1 y bienvenido! Voté a la persona que no podía explicar su voto negativo anterior. ¡Seguid así! Los buenos programadores siempre llegan a la cima - (y no rechacen votar sin una explicación). :)
Ricalsin
11
Otro par de diferencias, que conducen a escenarios específicos donde useradd podría ser preferible.
En algunas distribuciones más nuevas, incluida Ubuntu 14.4, adduser solicitará información como contraseña y "gecos" (datos para el comando de dedo). Esto significa que puede ser menos adecuado para llamar desde un script (crédito: ya mencionado en un comentario de Wernight).
Las indicaciones se pueden suprimir pasando argumentos nulos:
adduser --disabled-password --gecos "" USER
useraddle permite pasar múltiples grupos adicionales para agregar un usuario mediante la -Gopción. adduserparece requerir que llame al comando una vez para que cada grupo agregue.
adduseres más amigable ya que configura las carpetas de inicio de la cuenta y otras configuraciones (por ejemplo, carga automáticamente las estadísticas del sistema y las notificaciones al iniciar sesión), mientras que useraddsolo crea el usuario.
Incorrecto. useradd puede crear un directorio de inicio con -m, establecer una contraseña con -p, crear archivos de esqueleto con -k y agregar usuarios a los grupos con -G.
ychaouche
5
La diferencia básica es que "adduser" creará un directorio de inicio y agregará archivos de esqueleto a ese directorio donde "useradd" no creará ningún directorio de inicio y archivos de esqueleto.
adduser intente:
Adding user `try' ...
Adding new group `try' (1001) ...
Adding new user `try' (1001) with group `try' ...
Creating home directory `/home/try' ...
Copying files from `/etc/skel' ...
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Changing the user information for try
Enter the new value, or press ENTER for the default
Full Name []:
Room Number []:
Work Phone []:
Home Phone []:
Other []:
Is the information correct? [Y/n] y
useradd try1:
# ll /home/
total 20
drwxr-xr-x 5 root root 4096 Oct 26 15:52 ./
drwxr-xr-x 22 root root 4096 Oct 26 15:47 ../
drwx------ 8 ashishk ashishk 4096 Oct 26 15:50 ashishk/
drwxr-xr-x 3 root root 4096 Oct 14 13:02 .ecryptfs/
drwxr-xr-x 2 try try 4096 Oct 26 15:52 try/
root@chef-workstation:/home/ashishk#
También señalaré que adduserno siempre tiene la -Mopción y tampoco respeta la --systembandera que dice específicamente :
Tenga en cuenta que useradd no creará un directorio de inicio para dicho usuario, independientemente de la configuración predeterminada en /etc/login.defs (CREATE_HOME). Debe especificar las opciones -m si desea que se cree un directorio de inicio para una cuenta del sistema.
Si está intentando crear un usuario del sistema sin un directorio de inicio, úselo useradd --system -M.
Respuestas:
Fuente: ¿Cuál es la diferencia entre "adduser" y "useradd"?
fuente
-m
opción creará el directorio de inicio.adduser(8)
es más fácil de usar y crea y configura un usuario de forma predeterminada de la manera que espera. Yuseradd(8)
solo haga lo que le pida, así que quiere que se cree un directorio de inicio, debe decirle que lo cree por usted.Utilice siempre
adduser
(ydeluser
cuando elimine usuarios) cuando cree nuevos usuarios desde la línea de comandos. (Si está escribiendo un script, especialmente si apunta a la portabilidad, es posible que desee utilizar las utilidades de bajo nivel en su lugar, yadduser
/ odeluser
no esté disponible en todas las distribuciones, por ejemplo, en SuSE).Los comandos
useradd
,userdel
yusermod
son utilidades de bajo nivel que están allí por razones históricas, mientras queadduser/deluser
Do The Right Thing ™. (Recuerdo cuál usar al pensar queuser*
viene despuésadduser/deluser
en el alfabeto y, por lo tanto, es "peor").De acuerdo con las respectivas páginas de manual (en Ubuntu 12.04 Precise Pangolin, es decir, un sistema derivado de Debian).
La página de manual para
adduser
dice:(Énfasis añadido.)
La página de manual para
useradd
dice:Ver también: ¿Cuál es la diferencia entre "adduser" y "useradd"? (en SuperUser)
fuente
adduser
": prefiero las secuencias de comandos automatizadasuseradd
porque siempre está ahí, no es interactivo y no es específico de la distribución .adduser
en openSUSE, y no es allí (13.2).locate adduser
un sistema SuSE 11 en el trabajo, descubrí que había una página deadduser
manual, pero no binaria (ni una página dedeluser
manual ni un comando)./usr/sbin/adduser -> useradd
adduser
: agregar usuario con perfil completo e información (pase, cuota, permiso, etc.)useradd
: agregar usuario solo con su nombre (si desea agregar un usuario temporal con solo un nombre, no se requiere otra información)fuente
Otro par de diferencias, que conducen a escenarios específicos donde useradd podría ser preferible.
En algunas distribuciones más nuevas, incluida Ubuntu 14.4, adduser solicitará información como contraseña y "gecos" (datos para el comando de dedo). Esto significa que puede ser menos adecuado para llamar desde un script (crédito: ya mencionado en un comentario de Wernight).
Las indicaciones se pueden suprimir pasando argumentos nulos:
useradd
le permite pasar múltiples grupos adicionales para agregar un usuario mediante la-G
opción.adduser
parece requerir que llame al comando una vez para que cada grupo agregue.fuente
adduser
es más amigable ya que configura las carpetas de inicio de la cuenta y otras configuraciones (por ejemplo, carga automáticamente las estadísticas del sistema y las notificaciones al iniciar sesión), mientras queuseradd
solo crea el usuario.fuente
La diferencia básica es que "adduser" creará un directorio de inicio y agregará archivos de esqueleto a ese directorio donde "useradd" no creará ningún directorio de inicio y archivos de esqueleto.
adduser intente:
useradd try1:
fuente
También señalaré que
adduser
no siempre tiene la-M
opción y tampoco respeta la--system
bandera que dice específicamente :Si está intentando crear un usuario del sistema sin un directorio de inicio, úselo
useradd --system -M
.fuente