Wie schließe ich aus einer „Match Group“ in SSHD aus?

Wie schließe ich aus einer „Match Group“ in SSHD aus?

In der SSHD-Konfiguration gibt es eine Match-Gruppe:

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

Auf der Maschine befinden sich viele Benutzer, 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?

Antwort1

Der MatchOperator kann mehrere Argumente annehmen, was sehr flexible Regeln ermöglicht. In diesem Fall könnten Sie so etwas tun, um das gewünschte Ergebnis zu erzielen.

Match Group FOOGROUP User !username
  ForceCommand /bin/customshell

Dies negiert das an das Kriterium !übergebene Argument , so dass dies auch dann nicht erfolgreich ist, wenn der Benutzer in der Gruppe ist , und ihm beim Anmelden nicht die benutzerdefinierte Shell zugewiesen wird.UserusernameFOOGROUPMatchusername

Antwort2

Sie müssen in Ihrem Konfigurationsdateieintrag mehrere Klauseln verwenden, aber auf eine ganz bestimmte Weise. In einigen Setups gibt es einen Fehler, der dazu führt, dass die allgemein empfohlene und einfachste Syntax ( „Match Group FOOGROUP User !username“ ) entweder dazu führt, dass alle anderen in der Gruppe nicht übereinstimmen oder aus ihrem Chroot-Jail entkommen.

Unter Debian Jessie mit OpenSSH_6.0p1 Debian-4, OpenSSL 1.0.2d erhalte ich das Ergebnis, dass alle anderen in der Gruppe keine Verbindung mehr herstellen können. AndereJailbreaks melden. In beiden Fällen eine Syntax von

Match Group FOOGROUP User *,!username

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

Antwort3

Mit der folgenden Option kann ich den SFTP-Benutzer im angegebenen Verzeichnis einsperren und dem angegebenen Benutzer auch die Anmeldung über SSH ermöglichen.

Match Group groupname User *,!username

Danke.

verwandte Informationen