Можно ли создать пользователя с определенным домашним каталогом по умолчанию и добавить пользователя в конкретную первичную группу с помощью одной команды?
Вы можете сделать это с помощью useradd
. Я добавил строку, чтобы доказать, что это возможно. В общем, выполнение passwd
впоследствии, когда это делается вручную, более безопасно и лучший путь.
sudo useradd -U -m -G <group> -p <password> <user-name>
Из 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.
Так что лучше сделать это в два шага, чтобы пароль не регистрировался системой.
sudo useradd -U -m -G <group> <user-name>
sudo passwd <user-name>
И вы можете получить даже это в одной строке действия:
sudo useradd -U -m -G <group> <user-name> && sudo passwd <user-name>
Да, вы можете сделать это с помощью одной команды, используя более дружественный интерфейс adduser
вместо useradd
.
sudo adduser --home /path/to/desired/homedirectory --ingroup specialgroup newuser