nur bestimmten Usern ssh Zugang geben

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
decembersoul
Beiträge: 283
Registriert: 16.10.2003 10:25:15

nur bestimmten Usern ssh Zugang geben

Beitrag von decembersoul » 26.10.2006 15:22:35

Hallo
Ich würde gerne ein paar Usern SSH Zugang zu meinem Server geben. User gibt es jedoch mehrere. Wie kann ich es einrichten das sich nur ein paar User per ssh verbinden können.

Ich habe als ersten Schritt einmal in der passwd den Usern keine shell gegeben. (/bin/false)
Das ist aber auch nicht das was ich will. Einem User würde ich ganz gerne rsync aber kein ssh anbieten. Das geht so aber nicht.

Nicht ganz das selbe aber das interessiert mich auch.
Ich habe von einer Shell gehört bei der man nur ein paar Befehle pro User freigeben kann.
Welche Shell ist das?

Benutzeravatar
Savar
Beiträge: 7174
Registriert: 30.07.2004 09:28:58
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Berlin

Beitrag von Savar » 26.10.2006 15:29:51

Shell: keine Ahnung..

User:

Code: Alles auswählen

man sshd_config

Code: Alles auswählen

AllowUsers
             This keyword can be followed by a list of user name patterns, separated by
             spaces.  If specified, login is allowed only for user 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, restricting logins to
             particular users from particular hosts.
Also "AllowUsers" in die sshd_config (unter /etc/ssh/) einrichten..
MODVOICE/MYVOICE
Debianforum Verhaltensregeln
Log Dateien? -> NoPaste

Benutzeravatar
Simmel
Beiträge: 698
Registriert: 08.03.2004 14:43:43
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Düsseldorf
Kontaktdaten:

Re: nur bestimmten Usern ssh Zugang geben

Beitrag von Simmel » 26.10.2006 15:40:03

decembersoul hat geschrieben:Hallo
Ich würde gerne ein paar Usern SSH Zugang zu meinem Server geben. User gibt es jedoch mehrere. Wie kann ich es einrichten das sich nur ein paar User per ssh verbinden können.

Ich habe als ersten Schritt einmal in der passwd den Usern keine shell gegeben. (/bin/false)
Das ist aber auch nicht das was ich will. Einem User würde ich ganz gerne rsync aber kein ssh anbieten. Das geht so aber nicht.

Nicht ganz das selbe aber das interessiert mich auch.
Ich habe von einer Shell gehört bei der man nur ein paar Befehle pro User freigeben kann.
Welche Shell ist das?
Ich glaube mit der Anleitung sshd im chroot-Gefängnis unter den Howtos hier kannste das mit ein bischen Frikkelei umsetzen.

rbash ist ne begrenzte Shell und durch UNSET werden dem User bestimmte Programme verboten. Welche nun für was gebraucht werden kann ich dir allerdings auch nicht sagen.

/bin/false ist fehl am Platze, denn dann kann der User sich ja überhaupt nicht anmelden.

/bin/false nimmt man für "virtuelle" User und z.B. www-data (Apache-User), denn dieser muss ja keine User-Shell öffnen.


Simmel
you've got to know how far to go in going too far

perl -le'print+(split//,"schaeuble")[6,8,7,3,5,0..2,4]'

http://creativecommons.org/licenses/by-nc-sa/2.0/

decembersoul
Beiträge: 283
Registriert: 16.10.2003 10:25:15

Beitrag von decembersoul » 26.10.2006 15:50:20

AllowUsers alex ref ic
Habe ich auch gerade gefunden.
Bis gestern sollte sich ja auch kein User ausser mit einloggen können.
Nun will aber jemand rsync haben, was mit /bin/false nicht geht.
Bin mal gespannt ob es geht wenn ich im ssh entziehe.

rbash scheint das zu sein was ich will. nur will ich ihm nicht alle Befehle entziehen sondern nur zwei oder drei Befehle erlauben.
Das wäre dann z.B. rsync

Benutzeravatar
Simmel
Beiträge: 698
Registriert: 08.03.2004 14:43:43
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Düsseldorf
Kontaktdaten:

Beitrag von Simmel » 26.10.2006 21:41:12

decembersoul hat geschrieben:AllowUsers alex ref ic
Habe ich auch gerade gefunden.
Bis gestern sollte sich ja auch kein User ausser mit einloggen können.
Nun will aber jemand rsync haben, was mit /bin/false nicht geht.
Bin mal gespannt ob es geht wenn ich im ssh entziehe.

rbash scheint das zu sein was ich will. nur will ich ihm nicht alle Befehle entziehen sondern nur zwei oder drei Befehle erlauben.
Das wäre dann z.B. rsync
Sorry aber so tief bin ich auch nicht in der Materie. Aber wenn du dir das Tutorial mal ansiehst dann weisste ja zumindest wo du anfangen musst. Du musst die "UNSETs" in die jeweiligen Dateien in den /home Verzeichnissen der User eintragen/ändern.

Kannst ja erstmal alles rausnehmen, dann mit su <username> dich als User anmelden und ausprobieren was er so darf und was nicht... die "UNSETs" haben ja auch meist ganz eingängige Namen.

Mehr kann ich dazu leider auch nicht beitragen. Ich denke aber mal das das in die richtige Richtung geht.

Übrigens, grade nochmal extra nachgeguckt! Es gibt auch eine /bin/rsh, vll. nimmst du besser diese, denn die /bash ist schon recht powerful. Normalerweise bekommen Systemuser meist nur eine /bin/sh anstatt einer /bin/bash.

Von daher sollte man das doch vll. eher mit der /bin/rsh machen..

C ya,
Simmel
you've got to know how far to go in going too far

perl -le'print+(split//,"schaeuble")[6,8,7,3,5,0..2,4]'

http://creativecommons.org/licenses/by-nc-sa/2.0/

Antworten