¿Es posible crear un usuario con un directorio de inicio predeterminado específico y agregar el usuario a un grupo primario específico con un solo comando?
Respuesta aceptada:
Puedes hacer esto con useradd
. Agregué la línea para probar que es posible. En general, ejecutar passwd
luego cuando hacerlo manualmente es más seguro y la mejor manera de hacerlo.
sudo useradd -U -m -G <group> -p <password> <user-name>
De man useradd
:
-G, --groups GROUP1[,GROUP2,...[,GROUPN]]] A list of supplementary groups which the user is also a member of. Each group is separated from the next by a comma, with no intervening whitespace. The groups are subject to the same restrictions as the group given with the -g option. The default is for the user to belong only to the initial group. -m, --create-home Create the user's home directory if it does not exist. The files and directories contained in the skeleton directory (which can be defined with the -k option) will be copied to the home directory. By default, if this option is not specified and CREATE_HOME is not enabled, no home directories are created. -U, --user-group Create a group with the same name as the user, and add the user to this group. The default behavior (if the -g, -N, and -U options are not specified) is defined by the USERGROUPS_ENAB variable in /etc/login.defs. -p, --password PASSWORD The encrypted password, as returned by crypt(3). The default is to disable the password. Note: This option is not recommended because the password (or encrypted password) will be visible by users listing the processes. You should make sure the password respects the system's password policy.
Por lo tanto, es mejor que lo haga en dos pasos, de esta manera el sistema no registra la contraseña.
sudo useradd -U -m -G <group> <user-name>
sudo passwd <user-name>
Y puede incluir incluso esto en una acción de una sola línea:
sudo useradd -U -m -G <group> <user-name> && sudo passwd <user-name>