Настройка пользователя для программы

/etc/passwd показывает много «виртуальных» пользователей, которые по существу предназначены для программ, а не для людей.

Как мне настроить такой пользователь?

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

Мне больше ничего не нужно (пароль, домашний каталог и т. Д.)

Просто позвоните useradd и передайте ему useradd аргументы. Чтобы создать пользователя системы, он передает параметр -r . Если вам не нужен домашний каталог, выберите что-то вроде /none и передайте параметр -M . Если вы хотите использовать su для запуска команд в качестве этого пользователя, пользователь должен иметь действительную оболочку.

 useradd -r -d /none -M -U -s /bin/sh 

Я не рекомендую вручную изменять файл passwd . Вы рискуете сделать синтаксическую ошибку или случайно удалить что-то важное. Если вы должны отредактировать passwd , вызовите vipw , который защищает от одновременной модификации.

Просто создайте пользователя, как обычно, не вводите пароль. Rm -rf в каталоге / home / thatuser и отредактируйте / etc / passwd, чтобы установить оболочку для этого пользователя в / bin / false.

Вы можете смоделировать запись / etc / passwd после других пользователей системы, которые вы можете увидеть там. Просто убедитесь, что вы понимаете запись / etc / passwd и google, если вам нужно.

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

Просто добавление записи в /etc/passwd похоже, выполняет работу и работу.

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

(Это немного странно, но для такой маленькой вещи ему нужно взять 200 мс, открыть и закрыть / etc / passwd примерно в 900 раз, как показывает strace.)