Wie kann eine benutzerspezifische Umgebungsvariable für nicht interaktive SSH-Verbindungen sicher festgelegt werden?


2

Ich richte ein unisono-basiertes Sicherungsverfahren ein. Der Client ist ein Windows-Server und der Server ist ein OS X 10.10-Server. Ich habe eine dedizierte backup-userauf dem Server, die über ssh verbinden darf. Der Benutzer ist ein reines Dienstkonto, daher enthält sein Basisordner keinen ~/LibraryOrdner (und ich möchte nicht, dass er einen hat). Unison erwartet jedoch, dass die Synchronisierungsdaten in gespeichert werden ~/Library/Application Support/Unison. Stattdessen brauche ich es, um dies zu speichern ~/.unison.

Ich kann das ändern mit einer Umgebungsvariablen: UNISON = ~/.unison. Da unison jedoch eine nicht interaktive SSH-Sitzung aufruft, kann ich nicht darauf verweisen ~/.bash_profile(da sie bei nicht interaktiven Sitzungen nicht aufgerufen wird).

Ich kann es einfügen, ~/.ssh/environmentmuss es dann aber PermitUserEnvironment yesin meiner sshd_config einstellen, was ich aus Sicherheitsgründen lieber nicht mache.

Die Frage ist also: Wie kann ich sicher eine Benutzerumgebungsvariable festlegen, die für nicht interaktive SSH-Sitzungen verfügbar ist?

Danke für deine Gedanken!


Ich habe das aufgegeben. Stattdessen habe ich den Speicherort des Basisordners von backup-userin einen Speicherort geändert, an dem sich die Library/Application Support/UnisonOrdner befinden.
17.

Antworten:


1

Nicht sicher, ob es helfen wird, aber was ist mit der Verwendung ~/.profile, die auch für nicht interaktive Sitzungen verwendet wird?

Basierend auf dieser Antwort auf askubuntu


Danke für Ihren Vorschlag. Leider scheint es nicht für nicht interaktive Sitzungen in meinem Setup aufgerufen zu sein. Ich habe es mit und ohne sshd-einstellung versuchtPermitUserEnvironment yes
marckr
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.