110

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

useradd subversion

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

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

6 ответов6

192

useradd -r subversion

на man useradd

-r, --system create a system account

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

65

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

useradd -M subversion

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

usermod -L subversion
17

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

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

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

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

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

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

13

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

adduser subversion --shell=/bin/false

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

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

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

adduser subversion --system --group

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

9

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

$ adduser -r -s /bin/nologin subversion

ПРИМЕЧАНИЕ. Обязательно -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
$

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

$ grep rtim-hc-user /etc/passwd /etc/shadow
$
1

На машине CentOS 7

  • если пользователь не существует:
    useradd testuser --shell=/sbin/nologin

  • если вы хотите изменить существующего пользователя:
    usermod testuser --shell=/sbin/nologin

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .