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
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.
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.
Hallo
danke für den Tipp. Ist genau das, was ich gesucht habe.