Ist es möglich, Jenkins den Zugriff auf Dateien zu erlauben, auf die nur Root oder bestimmte Programme Zugriff haben?

1767
tanzeelrana

Grundsätzlich versuche ich, Jenkins auf meinen Ordner android-sdk-linux und alle Unterverzeichnisse zuzugreifen. Mein Chef möchte die Berechtigungen für den Ordner nicht selbst ändern. Ich sollte es während des Erstellungsprozesses tun. Ich habe einige Beispiele gesehen, die während des Build-Prozesses einige Befehle in der Ausführungs-Shell ausführen. Gibt es einige Befehle, die ich in dieser Ausführungs-Shell ausführen kann, damit Jenkins über Schreib- und Ausführungsberechtigungen für meinen Android-Sdk-Linux-Ordner verfügen können?

Vielen Dank

0
und ich möchte Jenkins nicht als root-Benutzer ausführen tanzeelrana vor 11 Jahren 0
Kann ich die Berechtigungen dieses android-sdk-linux-Ordners und seiner Unterverzeichnisse über die Execute-Shell ändern, bevor der Buildvorgang gestartet wird und die Berechtigungen nach Abschluss des Buildvorgangs wieder auf Standard gesetzt werden? tanzeelrana vor 11 Jahren 0
Um die Berechtigungen über die Ausführungs-Shell zu ändern, müssen Sie sie als Benutzer mit Root-Rechten ausführen, sodass das Problem nur verschoben wird. Warum weigert sich Ihr Chef, die Berechtigungen für das Verzeichnis selbst zu ändern? Es sieht aus wie die einfache und vernünftige Lösung imo. David Levesque vor 11 Jahren 0
Er möchte nicht, dass die Dateien für andere Personen zugänglich sind. Als ich ihn fragte, sagte er zu mir "Ich möchte nicht, dass sie für die Welt offen sind", obwohl wir alle diese Dateien auf dem lokalen Server unseres Unternehmens haben. Auf jeden Fall wird er mir nicht erlauben, es als Root-Benutzer auszuführen. tanzeelrana vor 11 Jahren 0
Das Ändern der Berechtigungen bedeutet nicht, sie "für die Welt zu öffnen" oder sie für jedermann verfügbar zu machen, da Systembenutzer keine Personen sind. Sie können beispielsweise Linux-Gruppen verwenden. David Levesque vor 11 Jahren 0

1 Antwort auf die Frage

1
user50881

Wenn Sie über erweiterte Attribute verfügen, können Sie einzelnen Benutzern mit dem Befehl setfacl auf diese Weise Zugriff gewähren.

setfacl -Rm u:jenkins:rwx android-sdk-linux 

Ohne ACL-Unterstützung müssten Sie wahrscheinlich eine Gruppe erstellen, die von allen Benutzern gemeinsam genutzt wird, die Zugriff haben sollten, und sicherstellen, dass das Verzeichnis mit den entsprechenden Berechtigungen für diese Gruppe erstellt wird.