ForumRestricted login via ssh
Volker Sommer – Mittwoch, 20. April 2005 12:04 Uhr

Hallo Cracks

ich bin neu in diesem Forum und habe eine Frage bzgl. login via ssh:
Gibt es eine Moeglichkeit ein Linux-System so einzuschraenken, dass sich nur bestimmte User mittels ssh auf dieses System einloggen koennen ?
Es soll verhindert werden, dass sich User mit einem Applikations Account einloggen, sondern sie sollen sich mit ihrer eigenen Kennung einloggen und dann mit su in die jeweilige Applikation wechseln.
Ich waere fuer Hilfe sehr dankbar.

Gruss Volki

4 Antworten
Henning Moll – Mittwoch, 20. April 2005 12:29 Uhr

man sshd_config

AllowGroups
AllowUsers

Volker Sommer – Mittwoch, 20. April 2005 14:39 Uhr

Hallo

danke für den Tipp. Ist genau das, was ich gesucht habe.

andreas burger – Mittwoch, 20. April 2005 13:27 Uhr

ganz einfach:

(aus dem man von sshd_config):
SYNOPSIS
/etc/ssh/sshd_config

AllowGroups
This keyword can be followed by a list of group name patterns,
separated by spaces. If specified, login is allowed only for
users whose primary group or supplementary group list matches one
of the patterns. ‘*’ and ‘’? can be used as wildcards in the
patterns. Only group names are valid; a numerical group ID is
not recognized. By default, login is allowed for all groups.

AllowTcpForwarding
Specifies whether TCP forwarding is permitted. The default is
“yes”. Note that disabling TCP forwarding does not improve secu?
rity unless users are also denied shell access, as they can
always install their own forwarders.

AllowUsers
This keyword can be followed by a list of user name patterns,
separated by spaces. If specified, login is allowed only for
users names that match one of the patterns. ‘*’ and ‘’? can be
used as wildcards in the patterns. Only user names are valid; a
numerical user ID is not recognized. By default, login is
allowed for all users. If the pattern takes the form USER@HOST
then USER and HOST are separately checked

ich mach das auf einzelnen geraeten so, funktioniert tadelllos.

Frank Hellmuth – Mittwoch, 20. April 2005 22:14 Uhr

Die eigentliche Frage ist mit dem Hinweis auf AllowUsers in sshd_config ja
schon beantwortet worden. Aber was meinst Du mit “mit su in die jeweilige
Applikation wechseln” ?

Natürlich gibt es in einem Linux System Pseudo User wie lp, mail, ftp u.s.w.
diese sind aber dafür da, daß die entsprechenden Druck-, Mail, ftp-, …
Systeme ihre Arbeit verrichten können. Niemand muß zum User lp wechseln um
Drucken zu können, und normalerweise sind diese Accounts auch dagegen
gesichert, daß jemand sich darunter einloggt, indem als shell /bin/false
in /etc/passwd eingtragen ist. Ein login (auch über ssh) als User mail,
lp, … ist damit ohnehin unmöglich.

Wenn Du bestimmte Programme nur bestimmten Nutzern zugänglich machen willst,
solltest Du das über Gruppenzugehörigkeiten lösen. Ein Beispiel in den meisten
Distributionen ist die Zugehörigkeit zur Gruppe games. Spiele werden
unter /usr/games installiert und die Verzeichnisrechte auf

drwxr-x— 3 root games 72 Mar 18 17:41 games

gesetzt. User die der Gruppe games zugehören können also in diesem Verzeichnis
lesen und ausführen, andere nicht. Ein anderes Beispiel ist in einigen
Distributionen die Gruppe cdwriter deren Rechte daß Brennen von CD Roms
ermöglicht, hier sind die Rechte am Device des CD Brenners im /dev/
Verzeichnis entscheidend.

User je nach Applikation ihre User-Id ändern zu lassen hebelt das Unix Rechte
Sytestem (und damit einen der entscheidenden Sicherheitsmechanismus) ziemlich
aus. Sollte die Rechtevergabe nach “Eigentümer”, “Gruppe” und “Andere” zu grob
für Deine Zwecke sein, so können alle modernen Linux Systeme auch ACLs (Access
Control Lists) verwalten, mit denen Du haarklein einstellen kannst wer was
darf. Diese sind jedoch etwas aufwendiger zu installieren und zu
administrieren.

Joachim Janssen – Samstag, 23. April 2005 14:18 Uhr

/etc/ssh/sshd_config:

DenyGroups
DenyUsers

Gruß JJ