Me pregunto: ¿por qué existen estos dos comandos en Debian Linux, con nombres y funciones muy similares? Esto siempre ha sido confuso para mí.
- ¿Alguno de ellos es superior a otro?
- ¿Por qué no se fusionan en uno?
- ¿Hay alguna diferencia significativa entre ellos?
- ¿Cuál debo usar? ¿O depende de un caso de uso?
linux
debian
user-management
Petr Pudlák
fuente
fuente
useradd
está disponible en todas las plataformas tipo Unix;adduser
es solo para Debian y sus derivados.Respuestas:
useradd
es binario nativo compilado con el sistema. Pero,adduser
es un script perl que usauseradd
binarios en el back-end.adduser
es más fácil de usar e interactivo que su back-enduseradd
. No hay diferencia en las características proporcionadas.fuente
La principal ventaja de adduser sobre useradd es tratar con usuarios de nivel de sistema. Con adduser, la cuenta de usuarios a nivel del sistema cuando se crea coloca un directorio de usuarios en el hogar para el usuario del sistema donde useradd no lo hace automáticamente. Si lee al hombre, son esencialmente los mismos, excepto para los usuarios de nivel de sistema y los directorios principales asociados son automáticos. adduser 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 la opción -m . Las otras lecturas con las que me he encontrado dicen genéricamente que UID y GUID son asignados por estándares aceptados de Debian en adduser.
fuente
En un par de instancias de Redhat que verifiqué (4.9 de 2011 y 6.9 de 2017), adduser es simplemente un alias para usarradd, no un script de Perl. Aquí está en Redhat 6.9:
La forma en que recuerdo que useradd es el programa 'correcto' es la siguiente: agregar un usuario es solo una operación en el espectro CRUD. También necesita las operaciones 'modificar' y 'eliminar' ('leer' se cubre presumiblemente viendo / etc / passwd). Y así, los programas se denominan usuario * (useradd, usermod y userdel respectivamente). Supongo que la convención de nomenclatura de usuario alternativa * (adduser, moduser y deluser - estos 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 :)
fuente
moduser
en Debian, perodeluser
definitivamente está ahí.Dentro de raspian (necesitaría buscar otros sistemas operativos), 'adduser USER' inicia un diálogo (TUI) mientras que 'useradd USER' NO.
Aparentemente, usando adduser, una vez que aparece el diálogo, el comando completo 'useradd' ya está ejecutado. Incluso si usted CTRL-C su usuario está allí.
Al igual que en los nuevos sistemas, crean grupos "personales", para eliminar al usuario recién creado necesitaría:
Supongo que porque adduser "usa" useradd, el resto son metadatos sobre el usuario. Por lo tanto, técnicamente no hay cambios en "skel", "máscaras de archivo", o similares, es decir, el sistema predeterminado.
Por otro lado, debido a que useradd no muestra ninguna TUI, podría ser más útil en las secuencias de comandos.
Para ser honesto, lo probé solo en rasbian, porque esa fue la razón por la que pisé la pregunta.
Me imagino que otros sistemas operativos podrían implementar una versión diferente de adduser.
fuente