it-swarm.xyz

Как я могу создать пользователя без регистрации?

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

useradd Subversion

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

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

120
Ethan

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

useradd -M Subversion

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

usermod -L Subversion
71
John T

useradd -r Subversion

per man useradd :

-r, --system create a system account

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

201
rynop

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

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

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

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

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

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

19
Skippy le Grand Gourou

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

adduser Subversion --Shell=/bin/false

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

adduser Subversion --Shell=/bin/false --no-create-home

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

adduser Subversion --system --group

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

14
TimmyGee

Самая безопасная форма для этого - использовать 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
$
10
slm

На машине CentOS 7

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

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

1
lauc.exon.nod