2009-12-02 00:47:25 +0000 2009-12-02 00:47:25 +0000
138
138

Как создать пользователя, не входящего в систему?

Я хотел бы создать пользователя и группу под названием subversion на системе RHEL 5. Я посмотрел страницу man для useradd и думаю, что команда будет просто…

useradd subversion

Однако, не знаю, как избежать создания домашнего грязного ключа. Также, я не хочу, чтобы это был пользователь, который может войти в систему.

Основная цель - это просто предоставить владельца для SVN-репозитория.

Ответы (8)

229
229
229
2012-12-06 20:10:20 +0000

Вы можете использовать следующую команду:

useradd -r subversion

Для получения дополнительной информации, проверьте ручные страницы с помощью этой команды:

man useradd

Вы найдете в этой документации следующий флаг, который может быть использован для ваших целей.

-r, --system create a system account

Флаг -r создаст системного пользователя - пользователя, который не имеет пароля, домашнего каталога и не может войти в систему.

81
81
81
2009-12-02 00:58:07 +0000

Вы можете использовать переключатель -M (убедитесь, что это капитальный), чтобы убедиться, что никакой домашний каталог не будет создан:

useradd -M subversion

, а затем заблокировать учетную запись, чтобы предотвратить вход в:

usermod -L subversion
22
22
22
2015-03-01 20:04:05 +0000

Другое решение для создания системного пользователя, используя adduser 

adduser --system --no-create-home --group yourusername

Вы можете удалить --group, если вам не нужно группировать имя пользователя, и --no-create-home, если вам нужен дом для этого пользователя.

Как упоминалось в комментариях py4on, на некоторых системах может потребоваться использовать опцию --disabled-login для того, чтобы, ну, отключить вход для этого пользователя. Похоже, что это поведение по умолчанию в Debian.

Остерегайтесь, что числовой ID пользователя будет системной учётной записью. Вы можете исправить uid, используя опцию --uid.

Наконец, обратите внимание, что на некоторых системах (например, Fedora) adduser - это сим-ссылка на useradd, и в этом случае этот ответ недействителен.

17
17
17
2016-05-17 06:15:03 +0000

Самый чистый ответ на исходный вопрос - выполнить команду:

adduser subversion --shell=/bin/false

И если вы не хотите домашний каталог или:

adduser subversion --shell=/bin/false --no-create-home

или, если вы хотите еще более заблокированного системного пользователя (Обычно это не создаст домашний каталог - сообщалось, что он все равно создаст домашний каталог в linux mint согласно комментарию ниже)

adduser subversion --system --group

Все эти команды создадут группу с таким же именем, как и у пользователя

13
13
13
2017-03-07 14:04:28 +0000

Самой безопасной формой будет использование adduser следующим образом:

$ adduser -r -s /bin/nologin subversion

NOTE: Обязательно включите -s /sbin/nologin, чтобы отключить любую оболочку для входа в систему от доступа к учетной записи.

Подтверждение настройки

$ grep subversion /etc/passwd /etc/shadow
/etc/passwd:subversion:x:496:496::/home/subversion:/bin/nologin
/etc/shadow:subversion:!!:17232::::::

Однако каталога нет:

$ ll /home | grep subversion
$

Подтверждение того, что учетная запись может быть использована:

Удаление

Если вам нужно удалить эту учетную запись:

$ sudo -u subversion whoami
subversion

$ sudo -u subversion date
Tue Mar 7 08:58:57 EST 2017

И подтвердить:

$ userdel subversion -r
userdel: subversion mail spool (/var/spool/mail/subversion) not found
userdel: subversion home directory (/home/subversion) not found
$
1
1
1
2016-09-06 15:06:22 +0000

На аппарате CentOS 7 вы можете использовать следующие команды:

  • если пользователь не существует:

  • если вы хотите изменить существующего пользователя:

0
0
0
2019-09-02 00:38:41 +0000

В Debian вы можете создать системного пользователя (без домашнего каталога) и оболочку для входа:

useradd --system --shell=/usr/sbin/nologin <username>

Если ваша программа nologin находится в /sbin/nologin, пожалуйста, измените её соответствующим образом.

0
0
0
2019-06-08 18:45:03 +0000

Начните с генерации зашифрованного пароля для пользователя длиной максимум 8 символов, сделав:

openssl passwd -crypt new_password_less_than_eight_chars_long

Тогда вы делаете:

useradd -m -g groupname -G otherGroupsSeperatedByComma -p encryptedPassword username

Похожие вопросы

6
10
5
37
8