Домашний каталог для пользователей системы

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

Мне часто приходится создавать пользователей для запуска определенных бинарных файлов или скриптов. Предположим, что мой двоичный файл находится в / usr / bin и что мой пользователь будет использоваться только моим скриптом init для запуска этого двоичного файла, могу ли я просто запустить:

useradd --no-create-home 

Или безопаснее указывать каталог в / var, / tmp или еще?

Вы можете создать что-то вроде /var/empty и использовать его для всех пользователей системы или просто указать что-то вроде /dev/null как свой домашний каталог. Я использую последний для пользователей системы, которые просто запускают один двоичный файл (часто это сервис). Если программа хочет что-то сохранить, я указываю /srv/app где app – это имя программы, и создайте для нее каталог.

Если для таких программ, как useradd требуется указать домашний каталог, укажите /var/empty и создайте этот каталог с правами root: root 0755. В противном случае просто укажите что-то недействительное, но обязательно существующее, будучи файлом или каталогом. Он также рекомендовал указать /bin/false в качестве оболочки входа, хотя ее легко переопределить.

Или просто укажите / . Неважно, где их PWD укажет, если вы хотите, чтобы они не записывали материал, будучи в / нормальным, например, в /var/empty .