useradd
es binario nativo compilado con el sistema. Pero, adduser
es un script de perl que usa useradd
binario en back-end.
adduser
es más fácil de usar e interactivo que su back-end useradd
. No hay diferencia en las funciones proporcionadas.
La principal ventaja de adduser sobre useradd está tratando con usuarios de nivel de sistema. Con adduser la cuenta de usuario del nivel del sistema cuando se crea coloca un directorio de usuario en casa para el usuario del sistema donde useradd no automáticamente. Si lee al hombre, son esencialmente iguales, excepto que los usuarios de nivel de sistema y los directorios de inicio asociados son automáticos. agregar usuario crea un directorio /home/user automáticamente para usuarios de nivel de sistema donde no hay una disposición en useradd , excepto si se especifica mediante -m opción. Las otras lecturas con las que me he encontrado afirman genéricamente que el UID y el GUID se asignan según los estándares conformes de Debian aceptados en adduser .
En un par de instancias de Redhat que verifiqué (4.9 de 2011 y 6.9 de 2017), adduser es simplemente un alias para useradd, no un script de Perl. Aquí está en Redhat 6.9:
$ ls -la /usr/sbin/useradd /usr/sbin/adduser
lrwxrwxrwx. 1 root root 7 Nov 2 2016 /usr/sbin/adduser -> useradd
-rwxr-x---. 1 root root 111320 Feb 9 2016 /usr/sbin/useradd
La forma en que recuerdo que useradd es el programa 'correcto' es esta:agregar un usuario es solo una operación en el espectro CRUD. También necesita las operaciones 'modificar' y 'eliminar' ('leer' presumiblemente está cubierto al ver /etc/passwd). Y así, los programas se denominan usuario* (useradd, usermod y userdel respectivamente). Supongo que la alternativa *usuario la convención de nomenclatura (adduser, moduser y deluser, que no existen) también podría funcionar. Pero sería un poco más incómodo (por una razón que no puedo expresar claramente en este momento :)