Пример создания системного пользователя для запуска служб systemd
Автор - Ковалев Антон Дата последнего редактирования - 12.07.2024
* Проверено на ubuntu 22.04 / ALSE 1.7.x. Для других ОС смотрите соответствие и наличие данных команд в официальной документации поставщика вашей ОС
* С описанием ключей и параметров команд можно ознакомиться используя утилиту man <имя команды>
, предустановленную в большинстве ОС
* Команды, описанные ниже выполняются с правами su
Для примера попробуем создать системного пользователя с именем gitflic-agent, для запуска агента GitFlic Runner в службе systemd.
1. Создайте нового системного пользователя командой useradd:
useradd -r -m -s /usr/sbin/nologin gitflic-agent;
2. Создайте необходимые папки и файлы в домашней директории пользователя gitflic-agent командой mkdir.
mkdir -p /home/gitflic-agent/gitflic-runner/build /home/gitflic-agent/gitflic-runner/cache
3. Скопируйте файлы runner.jar, helper.jar, helper.sh в директорию /home/gitflic-agent/gitflic-runner
командой cp
cp runner.jar helper.jar shell-scripts/helper.sh /home/gitflic-agent/gitflic-runner/
4. Установите владельца папки и выдайте необходимые права для файлов командой chown и chmod
sudo chown -R gitflic-agent:gitflic-agent /home/gitflic-agent/;
sudo chmod -R 744 /home/gitflic-agent/gitflic-runner/
User=gitflic-agent
Group=gitflic-agent
* Перед выполнением следующих действий, ознакомьтесь с параметрами файла /etc/sudoers. * Данные действия могут нарушить безопасность вашей ОС
- Если необходимо выполнять команды с правами su, добавьте пользователя gitflic-agent в группу sudo командой usermod
usermod -aG sudo gitflic-agent;
sed -i '$ a gitflic-agent ALL=(ALL) NOPASSWD: ALL' /etc/sudoers