Ich muss remote angemeldete Benutzer darauf beschränken, nur in einem Verzeichnis zu bleiben, also dachte ich, ich sollte dieses Problem über SFTP oder SSH angreifen, also habe ich nachgefragt
Beschränken Sie den sftp-Benutzer auf ein einziges Verzeichnis in El Capitan .
Aber da sshd_config
jede Komponente im Verzeichnispfad root gehören muss, ist diese Anforderung in unserem Fall nicht einmal möglich. Ich denke also, dass sowohl SSH als auch SFTP nicht die Lösung sind.
Welchen anderen Ansatz kann ich wählen, um diese Aufgabe zu erledigen?
PS: Nach weiterem Lesen denke ich, dass /bin/bash -r
dies der Weg nach vorne sein könnte. Ich bin mir nicht sicher, ob ich das standardmäßige ssh
Laden einrichten kann ./sh/bash -r
/bin/bash -r
PS: Versucht , im Anmelde-Shell-Feld in den erweiterten Optionen des Benutzers in Benutzer & Gruppen anzugeben . Jetzt kann sich der Benutzer nicht einmal mehr anmelden; Passwortabfrage kommt immer wieder. In system.log
bekomme ich
PAM: authentication error for illegal user
Wenn Sie die -r
Option entfernen, kann sich der Benutzer anmelden. Ich denke, ein bisschen mehr Konfiguration sshd_config
oder /etc/pam.d/sshd
wird den Job erledigen ....
Erstellen Sie eine Datei /bin/rbash
, machen Sie sie ausführbar und legen Sie sie als Shell für diesen neu erstellten Benutzer fest:
#!/bin/bash
exec /bin/bash -r "$@"
Der Benutzer ssh
ist eingeschränkt, wie die Handbuchseite für Bash im Abschnitt "EINGESCHRÄNKTE SHELL" beschreibt.
bash -r
get exec
-ed. Oder was meintest du mit deinem ersten Kommentar?exec
das Original bash
durch "ersetzt" rbash
und es gibt keine Möglichkeit, zum nicht eingeschränkten "zurückzukehren" bash
.
Jakuje
/bin/rbash
Sie können versuchen, es als Shell für einen Benutzer hinzuzufügen . Es könnte helfen, da das vorherige möglicherweise falsch geparst wurde. Aber ich glaube nicht, dass dassftp
unter diesen Einstellungen funktionieren würde (vielleichtinternal-sftp
?), Aber dafürssh
könnte es eine Teillösung sein. Übrigens, um die Bedeutung der Anforderungen „Root-Besitzer“ zu verstehen, sollten Sie CVE-2009-2904 überprüfencharleslcso
Jakuje
charleslcso
Jakuje
charleslcso
Jakuje
#!/bin/bash
oder so in der ersten Zeile, und die zweite Zeile sollte die Argumente wie erbenexec /bin/bash -r "$@"