Как создать непривилегированного пользователя в CentOS?

10

Я хочу создать непривилегированного пользователя для запуска моего сервера RhodeCode и демона Celery на экземпляре CentOS. Я думаю, что общепринятым определением этого является отсутствие домашнего каталога, вход в систему отключен и нет доступа к оболочке? Просматривая справочную страницу для adduser, я просто не вижу интуитивного способа сделать это. Любые предложения приветствуются. Спасибо.

Лестер Пибоди
источник

Ответы:

9

От здесь (centos.org)

useradd(который является действительным двоичным файлом, запускаемым при вызове adduser, он просто ведет себя по-другому. Смотрите здесь об этом.) имеет флаг, -rкоторый задокументирован следующим образом:

-r   Create a system account with a UID less than 500 and without a home directory

Что звучит как то, что вы хотите сделать.

dtyler
источник
Интересно, что по крайней мере на Redhat /etc/passwdбудет запись домашнего каталога ( /home/usernameпо умолчанию); каталог, конечно, не будет существовать, но это немного странно)
ジ ョ ー ジ
15

Я думаю, что я должен связать здесь два ответа от serverfault :

В основном -rозначает «установить учетную запись как системную» - «нет срока действия» и т. Д. - и полное заклинание может выглядеть так

useradd -s /bin/false -r <username>

или

useradd -s /usr/sbin/nologin -r -M -d /dev/null <username>

или похожие )

NB. Для таких вещей, как samba, можно также указать пароль для этого пользователя и добавить его /usr/sbin/nologinв /etc/shells:

# `which nologin` >> /etc/shells

NB (2): согласно комментарию OrangeDog: -rфактически подразумевает -M, что -Mне является строго необходимым.

PS. И да, искать то же самое в serverfault , askubuntu - и здесь - кажется мне немного странным; Есть ли способ запустить мета-поиск, скажем, на всех сайтах stackoverflow?

ジ ョ ー ジ
источник
Что касается мета-поиска - на данный момент отсутствует какая-либо «нативная» опция, но есть пользовательский поиск Google для обмена стека
ジ ョ ー ジ
Я видел такие сервисы, как named, используя /sbin/nologinin /etc/passwd. Итак, как они начинают свои услуги?
Антарус,
@OrangeDog: У меня сейчас нет системы CentOS, но в Redhat и Debian -dэто не игнорируется; Странно, что ни один из рецензентов на самом деле не удосужился проверить)
ジ ョ ー ジ
0

Вы ищете -rвариант.

Игнасио Васкес-Абрамс
источник
Я только что создал пользователя, используя adduser -s /sbin/nologin -M rhodecode, но опция -r, кажется, то, что я ищу. В чем разница между использованием -r и тем, что я сделал? Я новичок в сценарии оболочки, извини.
Лестер Пибоди
Я рекомендую вам взглянуть на useradd(8)справочную страницу, чтобы увидеть, как это влияет на созданного пользователя.
Игнасио Васкес-Абрамс