
Ich habe eine sshd_config
Datei, die so konfiguriert ist, dass Benutzer in der Gruppe keinen Zugriff auf diesen Server haben nologin
( ssh
) DenyGroups nologin
. Obwohl ich mehrere Benutzer in dieser Gruppe habe, möchte ich dies für einen der Benutzer (nennen wir den Benutzer greg
) überschreiben.
Ich habe versucht, etwas AllowUsers greg
zur sshd_config
Datei hinzuzufügen, aber das hat anscheinend nicht funktioniert. Ist das möglich?
Die sshd_config sieht folgendermaßen aus:
AllowTcpForwarding no
ClientAliveCountMax 1
ClientAliveInterval 300
LoginGraceTime 1m
PermitRootLogin no
Protocol 2
RSAAuthentication no
Subsystem sftp /usr/libexec/openssh/sftp-server
UsePAM yes
X11Forwarding yes
DenyGroups nologin
LogLevel INFO
MaxAuthTries 4
IgnoreRhosts yes
HostBasedAuthentication no
PermitEmptyPasswords no
PermitUserEnvironment no
Ciphers aes128-ctr,aes192-ctr,aes256-ctr
Das Hinzufügen von „AllowUsers greg“ (Greg ist Mitglied der Anmeldegruppe) erlaubt Greg nicht, SSH zu verwenden.
Antwort1
Die Manualpage sshd_config(5)
beschreibt das Verhalten dieser Optionen wie folgt:
Wenn angegeben,Die Anmeldung ist nur für Benutzer/Gruppen erlaubt/untersagt, deren primäre Gruppe oder ergänzende Gruppenliste oder Name mit einem der Muster übereinstimmt.Nur Gruppennamen sind gültig; eine numerische Gruppen-ID wird nicht erkannt. Standardmäßig ist die Anmeldung für alle Gruppen zulässig. Die Anweisungen allow/deny werden in der folgenden Reihenfolge verarbeitet:Benutzer verweigern,Benutzer zulassen,DenyGroups, und schlussendlichGruppen zulassen.
Dies deutet darauf hin, dass, wenn Sie nur diese beiden Optionen definieren, essollenfür Sie funktionieren. Sie verwenden wahrscheinlich andere Optionen, die Ihr Setup beeinträchtigen. Können Sie die gesamte von Ihnen verwendete Konfiguration posten?
Antwort2
Für mich scheint das unkompliziert zu sein: Einfach greg
aus der nologin
Gruppe entfernen.
Antwort3
Das geht so nicht, dennalleAnweisungen werden ausgewertet, bevor sshd
eine endgültige Entscheidung getroffen wird. Obwohl also greg
von zugelassen wird AllowUsers
, wird es später von abgelehnt, der DenyGroups
der Gruppe entspricht, in der er sich befindet. Das Handbuch ist hier etwas unspezifisch, da es nicht erwähnt, dass alle Anweisungen in der von Jakuje beschriebenen Reihenfolge ausgewertet werden, also habe ich dies in OpenSSH 5.2p1 auf einem Ersatzsystem ausprobiert. Tatsächlich sollte die Auswertungsreihenfolge umgekehrt sein (zuerst Gruppen zulassen/verweigern, dann Benutzer zulassen/verweigern). Das würde zumindest für mich viel mehr Sinn ergeben.