Wie kann ich in SSHD von einer „Match-Gruppe“ ausschließen?

13

Es gibt eine Match-Gruppe in der SSHD-Konfiguration:

cat /etc/ssh/sshd_config
...
    Match Group FOOGROUP
    ForceCommand /bin/customshell
...

Es gibt viele Benutzer auf dem Computer, die sich in der "FOOGROUP" befinden.

Meine Frage: Wie kann ich einen bestimmten Benutzer, der sich in der "FOOGROUP" befindet, aus der "Match Group" ausschließen?

evachristine
quelle

Antworten:

13

Der MatchOperator kann mehrere Argumente verwenden, was sehr flexible Regeln ermöglicht. In diesem Fall könnten Sie so etwas tun, um das zu erreichen, was Sie wollen.

Match Group FOOGROUP User !username
  ForceCommand /bin/customshell

Das !an das UserKriterium übergebene Argument wird negiert. Selbst wenn sich der Benutzer usernamein der Gruppe befindet FOOGROUP, Matchist dies nicht erfolgreich und usernamedie benutzerdefinierte Shell wird beim Anmelden nicht zugewiesen.

D_Bye
quelle
Und sind Sie sich zu 100% sicher, dass dies nur den "! Username" ausschließt? Und andere Benutzer, die in der FOOGROUP sein könnten, bleiben unberührt?
Evachristine
2
Ja. Ich habe es vor dem Posten getestet und es funktioniert so, wie ich es beschreibe.
D_Bye
1
Es scheint, dass dies *,!usernameein saubererer Ansatz ist. Ein weiterer Fall, bei dem Ihre Lösung ausfällt, ist das Vermischen dieser Art Matchmit ChrootDirectory(getestet auf OpenSh 5.3p1 und 7.4p1).
Ouki
4

Sie müssen mehrere Klauseln in Ihrem Konfigurationsdateieintrag verwenden, jedoch auf eine ganz bestimmte Art und Weise. In einigen Setups ist ein Fehler aufgetreten, der dazu führt, dass die allgemein empfohlene und einfachste Syntax ("Match Group FOOGROUP User! Username") dazu führt, dass alle anderen Mitglieder der Gruppe Match nicht ausführen oder dass sie aus ihrem chroot-Gefängnis entkommen.

Unter Debian Jessie mit OpenSSH_6.0p1 Debian-4, OpenSSL 1.0.2d erhalte ich das Ergebnis, dass sich alle anderen Mitglieder der Gruppe nicht mehr verbinden können. Andere berichten von Gefängnispausen. In beiden Fällen eine Syntax von

Match Group FOOGROUP User *,!username

scheint ohne Nebenwirkungen zu funktionieren. Zweifellos eine Art Fehler im Parser.

Nadreck
quelle
0

Mit der folgenden Option kann ich den SFTP-Benutzer im angegebenen Verzeichnis und auch den angegebenen Benutzer, der sich über SSH anmelden kann, einsperren.

Match Group groupname User *,!username

Vielen Dank.

Logeshwaran Jeyakumar
quelle