Я хочу створити нового користувача для запуску служби в системі, але не хочу мати /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заповіт буде створено автоматично.