Как root я хотел бы войти в систему как пользователь службы (jenkins - сервер CI) и управлять файлами с помощью настроек пользователя, группы и umask.
Обычно я бы (как root) делал sudo -i -u jenkins
, или даже su - jenkins
. Однако оболочкой по умолчанию для Дженкинса является / bin / false, которая немедленно закрывается.
Есть ли способ войти в систему как Jenkins, но указать другую оболочку для использования? Мне действительно нужно менять оболочку Дженкинса в /etc/passwd/
?
su в linux поддерживает установку оболочки с помощью --shell
вариант
su jenkins --shell=/bin/bash
Чтобы это работало, вам нужно будет выполнить su как root. На странице руководства:
If the target user has a restricted shell (i.e. the shell field of
this users entry in /etc/passwd is not listed in /etc/shell), then
the --shell option or the $SHELL environment variable wont be taken
into account, unless su is called by root.
Вы читали страницу руководства (или --help
вывод) в su
команда?
su -s /bin/bash -
Как насчет:
su - jenkins -c /bin/bash
или
sudo -u jenkins /bin/bash