Я пытаюсь предоставить пользователю jenkins
доступ на запись в /root
.
Во-первых: Да, это не то, что вы обычно рекомендуете делать. Но по какой-то причине Jenkins настаивает на записи и чтении из корневого домашнего каталога. Если вы сразу поймете, почему он это делает и как это остановить, я с радостью посмотрю. Но сейчас, как бы сильно это ни противоречило моему здравому смыслу, мне нужно дать jenkins права на запись в /root
.
Что касается безопасности, то там нет ничего, /root
что я бы не добавил сам.
Вот что я запускаю (изначально вошел в систему как root):
~# chmod o=rwx /root
~# sudo su jenkins
/root$ touch test
touch: cannot touch 'test': Permission denied
/root$ cd .pip/
/root/.pip$ touch test
/root/.pip$ ls
pip.conf pip.log test
Вот это и странно.
Я уже дал разрешения на чтение/запись для подпапок, внутри /root
которых все работает нормально. Но я все еще не могу писать в сам каталог.
Кто-нибудь знает почему?
решение1
Альтернативой предоставлению всем права записи в /root
каталог является использование ACL для предоставления пользователю Jenkins доступа к /root
каталогу.
~# setfacl -m "u:jenkins:rwx" /root
В большинстве установок Ubuntu уже включены списки контроля доступа, но вам, возможно, придется сначала установить пакет acl
. Кроме того, вы можете использовать флаг, R
чтобы сделать действие рекурсивным.