Как добавить пользователя без / home?


79

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


Я только что нашел этот howtogeek.com/howto/ubuntu/add-a-user-on-ubuntu-server
Lone

Ответы:


105

По умолчанию команда useradd не создает домашних каталогов, но для демона я рекомендую вам использовать системный параметр и изменить оболочку на несуществующую, чтобы никто не мог войти в систему с указанной учетной записью (например, в ssh):

sudo useradd -r -s /bin/false USERNAME

Вы можете увидеть все варианты с помощью, man useraddи man groupaddесли вы хотите создать группу для пользователя тоже.


4
useradd -r создает системного пользователя, а не только пользователя без homedir.
fromnaboo

2
обратите внимание, useradd -r также создает соответствующие группы.

9
Я полагаю, что лучшая практика - использовать /sbin/nologinв качестве оболочки входа в систему, хотя использование /bin/falseне будет иметь никакого значения.
Мяу

51

Попробуйте adduser --system --no-create-home USERNAMEили просто взгляните на то, man adduserчто претендует на звание «более дружественного интерфейса для низкоуровневых инструментов, таких как useradd ... ».


4
На самом деле я не заметил, что это adduserпротив useradd, и запуск команды useraddс этими параметрами не выдал никакой ошибки, но создал учетную запись с оболочкой /bin/bash. "Предостережение для покупателя".
Исапир

15

Мне нужно было нечто подобное - новый пользователь без прав входа в систему и привязанный к системному сервису. Тем не менее, ответ Клаузи создает пользователя с основной группой как nogroup, что было не очень желательно.

adduser --system --no-create-home --group USERNAMEсоздает системную группу с тем же именем, что и пользователь, и связывает ее с пользователем в качестве основной группы. Затем это можно проверить с помощью команды groups USERNAMEили id USERNAME.


2

Чтобы добавить пользователя без домашнего каталога, команды

useradd -M username

или же

useradd --no-create-home username

или же

adduser -M username

или же

adduser --no-create-home username

1

попробуйте эту команду:

sudo useradd vivek

Это создаст пользователя без создания вашей домашней папки на /home/vivek


1
Нет, если вы вошли в систему с этой учетной записью, /home/vivekона будет создана автоматически.
Мяу
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.