Я хочу створити нового користувача для запуску служби в системі, але не хочу мати /home
та інші файли конфігурації для неї. Начебто є користувач для postgres, але у нього немає жодного /home
каталогу.
Я хочу створити нового користувача для запуску служби в системі, але не хочу мати /home
та інші файли конфігурації для неї. Начебто є користувач для postgres, але у нього немає жодного /home
каталогу.
Відповіді:
За замовчуванням команда useradd не створює домашніх каталогів, але для демона я рекомендую вам скористатись системною опцією та змінити оболонку на неіснуючу, щоб ніхто не міг увійти в обліковий запис (наприклад, в ssh):
sudo useradd -r -s /bin/false USERNAME
Ви можете переглядати всі параметри man useradd
і, man groupadd
якщо ви хочете створити групу і для користувача.
/sbin/nologin
в якості оболонки для входу, хоча використання /bin/false
не призведе до жодних відмінностей.
Спробуйте adduser --system --no-create-home USERNAME
або просто погляньте на те, man adduser
що стверджує, що є " дружнішим переднім кінцем до інструментів низького рівня, таких як useradd ... ".
adduser
проти useradd
, і виконання команди useradd
з цими параметрами не призвело до помилок, але створив обліковий запис з оболонкою /bin/bash
. "Остерігайтеся покупця".
Мені потрібно було щось подібне - новий користувач без привілеїв для входу та прив’язаний до системної служби. Однак відповідь Клаусі створює користувача з первинною групою як «ніггруп», що було не дуже бажано.
adduser --system --no-create-home --group USERNAME
створює системну групу з тим самим іменем, що і користувач, і асоціює її з користувачем як первинну групу. Потім це можна перевірити за допомогою команди groups USERNAME
або id USERNAME
.
Щоб додати користувача без домашнього каталогу, команди,
useradd -M username
або
useradd --no-create-home username
або
adduser -M username
або
adduser --no-create-home username
спробуйте цю команду:
sudo useradd vivek
Це створить користувача, не створюючи домашню папку на /home/vivek
/home/vivek
заповіт буде створено автоматично.