Ich versuche erfolglos, dem Benutzer jenkins
Schreibzugriff auf zu erteilen /root
.
Erstens: Ja, das ist nichts, was man normalerweise empfehlen würde. Aber aus irgendeinem Grund besteht Jenkins darauf, aus dem Stammverzeichnis zu schreiben und zu lesen. Wenn Sie sofort wissen, warum es das tut und wie man es stoppen kann, werde ich mir das gerne ansehen. Aber im Moment muss ich Jenkins, auch wenn es gegen mein besseres Urteilsvermögen ist, Schreibberechtigungen erteilen /root
.
Aus Sicherheitsgründen ist nichts darin enthalten, /root
was ich nicht selbst dort eingefügt habe.
Folgendes führe ich aus (zunächst als Root angemeldet):
~# 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
Das ist also das Seltsame.
Ich habe den Unterordnern bereits Lese-/Schreibberechtigungen erteilt, /root
was problemlos funktioniert. In das Verzeichnis selbst kann ich jedoch immer noch nicht schreiben.
Hat jemand eine Idee, warum?
Antwort1
Eine Alternative zum Erteilen von Schreibzugriff für jedermann auf das /root
Verzeichnis besteht darin, dem Jenkins-Benutzer mithilfe von ACLs Zugriff auf das /root
Verzeichnis zu gewähren.
~# setfacl -m "u:jenkins:rwx" /root
Bei den meisten Ubuntu-Installationen sind Zugriffskontrolllisten bereits aktiviert, aber Sie müssen das acl
Paket möglicherweise zuerst installieren. Darüber hinaus können Sie das R
Flag verwenden, um die Aktion rekursiv zu machen.