2017-06-02 5 views
-1

Ich muss über Chef [Client, 13] einen öffentlichen Schlüssel in allen Benutzern eines [Ubuntu 14.04] Systems importieren.Wie kann ich `gpg` als Nicht-Root-Benutzer von einem Koch-Kochbuch ausführen?

Ich finde, obwohl sehr seltsame Eigentumsverhalten, und ich kann nicht herausfinden, wie man sie löst; Nachfolgend finden Sie eine Liste von dem, was mit unterschiedlichen Ansätzen geschieht (alle Schnipsel Blöcke innerhalb eines bash resource` sind

1.This wird GPG als <login>, führen aber wird versuchen, /root/.gnupg zu schreiben.

code "gpg --import << PUBKEY..." 
user login 

2.Dieser wird (manchmal) /home/<login>/.gnupg mit dem Besitzer erstellen, dann wird darin erstellen, um die Daten-Dateien mit root-Besitzer, wird dann versuchen, sie als <login> zu schreiben:

code "sudo -iu #{login} gpg --import << PUBKEY..." 

3.Executi ng # 2 manuell über Terminal funktioniert wie erwartet

+0

Stack Overflow ist eine Website für Programmier- und Entwicklungsfragen. Diese Frage scheint off-topic zu sein, weil es nicht um Programmierung oder Entwicklung geht. Siehe [Welche Themen kann ich hier fragen?] (Http://stackoverflow.com/help/on-topic) in der Hilfe. Vielleicht [Super User] (http://superuser.com/) oder [Unix & Linux Stack Exchange] (http://unix.stackexchange.com/) wäre ein besserer Ort, um zu fragen. Siehe auch [Wo veröffentliche ich Fragen zu Dev Ops?] (Http://meta.stackexchange.com/q/134306) – jww

+0

Ich sehe; Dann sollte diese Frage definitiv auf devops.stackexchange.com verschoben werden. Es gibt eine lange Geschichte von Cheffragen auf stackoverflow.com, die irreführend ist (siehe zum Beispiel die "Related" -Links). – Marcus

+1

Ich stimme für das Schließen dieser Frage als Off-Topic ab, weil es off-topic ist. – Marcus

Antwort

-1

Sie müssen environment 'HOME' => "/home/#{login}" zu der Ressource bash hinzufügen. Das Befehlszeilen-Tool gpg verwendet diese Variable, anstatt tatsächlich zu überprüfen, welches Verzeichnis das Homeedir des aktuellen Benutzers ist. Wenn Sie mit sudo -i arbeiten, wird eine Login-Shell für den Benutzer erstellt, der diese Umgebungsvariable festlegt.

Verwandte Themen