¿Cuál es la diferencia entre los comandos addusery useradden Ubuntu?
¿Cuál es la diferencia entre los comandos addusery useradden Ubuntu?
Respuestas:
useraddes binario nativo compilado con el sistema. Pero,adduseres un script perl que usauseraddbinarios en el back-end.
adduseres más fácil de usar e interactivo que su back-enduseradd. No hay diferencia en las características proporcionadas.
-mopció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. 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.
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).
adduserdice:(Énfasis añadido.)
adduseryaddgroupagregue 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 niveluseradd,groupaddcomo losusermodprogramas , 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.adduseryaddgroupse puede ejecutar en uno de los cinco modos:
useradddice:
useraddes una utilidad de bajo nivel para agregar usuarios. En Debian, los administradores deberían usarloadduser(8)en su lugar.
Ver también: ¿Cuál es la diferencia entre "adduser" y "useradd"? (en SuperUser)
adduser ": prefiero las secuencias de comandos automatizadas useraddporque siempre está ahí, no es interactivo y no es específico de la distribución .
adduseren openSUSE, y no es allí (13.2).
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).
/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)
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.
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.
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
# 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.