Auf einem Mac mit OSX 10.7.5 muss der PFAD für nicht interaktive Benutzer festgelegt werden, die eine Verbindung über ssh herstellen und über LDAP authentifiziert werden. Es ist dieselbe Frage, die hier gestellt (und beantwortet) wurde:
Aber ich kenne PAM oder LDAP nicht gut genug, um die Antwort zu verstehen.
Es sieht so aus, als müsste ich:
add a line to /etc/pam.d/sshd saying "auth required pam_env.so"
create a file named /etc/security/pam_env.conf
Aber die Dokumentation für pam_env.conf ist wirklich verwirrend und ich kann nicht sagen, ob ich einen DEFAULT- oder einen OVERRIDE-Wert benötige.
Habe ich recht, dass das die richtigen Schritte sind? Welche Zeile sollte ich in die Datei pam_env.conf einfügen?
Vielen Dank, Chris
p.s. Ich habe versucht, die Zeile "auth required pam_env.so debug" in /etc/pam.d/sshd zu setzen, und in /var/log/system.log wird nichts angezeigt, das aussieht, als käme es von pam_env.so. Ich habe auch /etc/security/pam_env.conf erstellt und die Zeile "PATH DEFAULT = / usr / fred OVERRIDE = / usr / george" eingefügt, und es hatte keine sichtbaren Auswirkungen auf PATH.
Wenn ich ausführe:
ssh USER@MACHINE echo \$SHELL
Es heißt / bin / bash. Wenn ich mich dann bei MACHINE anmelde und diese Zeile zu / etc / bashrc hinzufüge:
export Test=Fred
und kehre zu meinem Rechner zurück und führe aus:
ssh USER@MACHINE echo \$Test
es gibt nichts zurück. Wenn ich mich auf diese Weise mit LDAP anmelde, wird / etc / bashrc nicht ausgeführt.
p.p.p.s Einige zusätzliche Informationen, die wichtig sein könnten: In MACHINE gibt es keinen lokalen Benutzer namens USER. MACHINE wurde für die LDAP-Authentifizierung eingerichtet. Wenn Sie also USER @ MACHINE verwenden, ist $ HOME auf / Network / Servers / blah / blah / Users / USER eingestellt. Wenn ich /Network/Servers/blah/blah/Users/USER/.bashrc bearbeite, um den PFAD festzulegen, funktioniert dies für mich korrekt, aber es ist keine großartige Lösung, da dies bedeutet, dass jede Person, die auf diesen Server zugreifen möchte, ihren bearbeiten muss Netzwerk .bashrc.
/bin/bash
, benutzen/etc/bashrc
.