Я хочу создать нового пользователя для запуска службы в системе, но не хочу иметь /home
и другие файлы конфигурации для него. Как будто есть пользователь для postgres, но у него нет каталога /home
.
По умолчанию команда useradd не создает домашние папки, но для демона я рекомендую использовать системную опцию и поменять оболочку на несуществующую, чтобы никто не мог войти с указанной учетной записью (например, в ssh):
sudo useradd -r -s /bin/false USERNAME
Вы можете просмотреть все опции с помощью man useradd
и man groupadd
, если вы хотите создать группу и для пользователя.
Мне нужно было что-то подобное - новый пользователь без привилегий входа в систему и привязанный к системной службе. Однако ответ Клаузи создает пользователя с основной группой как 'nogroup', что было нежелательно.
adduser --system --no-create-home --group USERNAME
создает системную группу с тем же именем, что и пользователь, и связывает его с пользователем в качестве основной группы. Затем это можно проверить с помощью группы ИМЯ ПОЛЬЗОВАТЕЛЯ
или команды id ИМЯ ПОЛЬЗОВАТЕЛЯ
.
Попробуйте adduser --system --n-create-home USERNAME
или просто взгляните на man adduser
, который утверждает, что он "более дружелюбен к инструментам низкого уровня, таким как useradd...".
. Чтобы добавить пользователя без домашнего каталога, используются следующие команды:
useradd -M username
,
useradd --no-create-home username
,
adduser -M username
или
adduser --no-create-home username
попробуйте эту команду:
sudo useradd vivek
Это создаст пользователя без создания вашей домашней папки по адресу /home/vivek
Используя adduser [options...] USERNAME
, например:
Создайте имя пользователя: username
с домашним каталогом: /opt/username
без пароля пользователя:
sudo useradd --disabled-password --home /opt/username username
Для входа в систему используйте:
sudo su - username
Примечание: После входа в систему введите pwd
, и ваш текущий/рабочий каталог будет домашним адресом пользователя.
Чтобы удалить этого пользователя, используйте:
sudo deluser --remove-home username