PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : login verbieten?



Chaotix
06.02.07, 21:14
kann man es irgendwie verhindern dass sich benutzer an einem rechner anmelden?

folgende situation: ich hab hier einen fileserver, der mit bestimmten benutzerrechten laufen muß, hab zu diesem zwecke natürlich benutzer angelegt, aber wie kann ich verhindern dass sich die benutzer am system anmelden können? das einzige was sie an diesem server dürfen wäre von einem netzwerk dateien benutzen, aber nicht lokal am rechner.

natürlich sollte ein admin- bzw. root-login noch möglich sein...

psy
06.02.07, 21:17
du musst die shell des benutzers nur auf /bin/false ändern.
somit kann der benutzer sich nicht mehr anmelden.

Chaotix
06.02.07, 21:39
ist dann auch kein grafischer login mehr möglich?

psy
06.02.07, 21:46
nein.

der benutzer darf sich nicht mehr anmelden, egal ob über konsole oder gui.

carstenj
06.02.07, 22:03
Hi,

eine einfachere Möglichkeit ist, eine Datei /etc/nologin anzulegen. Dann kann sich außer Root niemand mehr anmelden. Danach einfach wieder löschen.


....
/etc/nologin
Prevent non-root users from logging in.

Chaotix
06.02.07, 22:42
nein.

der benutzer darf sich nicht mehr anmelden, egal ob über konsole oder gui.

argh... doch, über gui "geht", beim start der arbeitsoberfläche schmiert dann allerdings der rechner ab, vermutlich wegen des fehlenden home-verzeichnisses des users... das war nicht im sinne des erfinders... kann man nicht einfach einer bin-datei beispielsweise die rechte entziehen, sodass derjenige user die nich starten kann o.ä.? Vielleicht eine "x-gruppe"?

edit: ich hab mandriva2007 installiert, da wird schon von vornherein ein root-login beim x-server unterbunden, das muß ja irgendwo explizit angegeben sein, das müsse sich dann ja theoretisch erweitern lassen. das blöde ist nur dass ich trotz diverser suchbegriffe nie ein passendes thema gefunden habe...
edit2: ist ein schalter in der kdmrc, nennt sich "allowrootlogin", greift also nicht bei anderen benutzern...

craano
06.02.07, 23:08
passwd -l login

marce
07.02.07, 06:04
Hm, da ein Server würde ich vermuten dass Login an der Console eh nicht vorkommt - das Ding steht ja sicher im Serverraum. Also wäre nur der Login per SSH entsprechend zu verbieten - und da tut entweder /bin/false als shell oder eine entsprechende sshd-Konfiguration...

Blackhawk
07.02.07, 11:24
Ein anderer Weg ist, den Cryptstring ungluetig machen. Funktiniert bei uns prima.

craano
07.02.07, 13:59
Ein anderer Weg ist, den Cryptstring ungluetig machen. Funktiniert bei uns prima.

Genau das macht
passwd -l

Es wird ein "!" vor das verschlüsselte Passwort geschrieben. Ein einloggen damit ist nicht mehr möglich.

Grüße.
craano.

caspartroy
07.02.07, 17:06
argh... doch, über gui "geht", beim start der arbeitsoberfläche schmiert dann allerdings der rechner ab, vermutlich wegen des fehlenden home-verzeichnisses des users... das war nicht im sinne des erfinders... kann man nicht einfach einer bin-datei beispielsweise die rechte entziehen, sodass derjenige user die nich starten kann o.ä.? Vielleicht eine "x-gruppe"?

tatsächlich? bei mir war das nicht der fall (da kam sogar n warnmeldungsfenster). sicher, dass da was abschmiert? mit /bin/false kann man kein programm starten, das abschmieren könnte.
craanos version ist aber wahrscheinlich die "korrekteste".

carstenj
07.02.07, 19:44
Hi,

und was ist nun /etc/nologin inkorrekt?

caspartroy
09.02.07, 11:40
Hi,

und was ist nun /etc/nologin inkorrekt?

wahrscheinlich nichts, aber es klingt für mich weniger sinnvoll als die anderen möglichkeiten... die passwd muss auf jeden fall geöffnet werden - um ein programm auszuführen braucht man eine shell, damit hätte sich die sache erledigt.

eine extra datei einzuführen, die es evtl nicht auf jedem rechner unterstützt wird und die man vielleicht umgehen kann (sind vermutungen), ist doch überflüssig.

der vorteil von passwd -l ist, dass man beim login auf jeden fall eine fehlermeldung bekommen sollte.

P.S. will man alle (und zwar sehr viele) user deaktivieren, ist /etc/nologin schon praktisch

craano
09.02.07, 13:47
passwd -l $USER
Setzt einen immer ungültigen verschlüsselten string in /etc/shadows für das Benutzerpasswort. Wenn der User dann versucht sich am System anzumelden führt das immer zu einem Authentication Error.

Die Login - Shell auf /bin/false zu setzen, führt dazu, dass erst einmal eine gültige Authentifizierung stattfindet. In der Regel landet der Benutzer dann aber wieder am Login des Systems, da keine gültige Shell vorgefunden wird. Funktioniert bei mir auch so, aber manchmal ist immer noch ein grafischer Login möglich:
http://www.lk.etc.tu-bs.de/lists/archiv/lug-bs/2002/msg01898.html
Ich habe das ausprobiert und kann das nicht bestätigen!

Falls der User auch noch andere Zugangsmöglichkeiten zum System hat, ich denke da speziell an FTP, bleibt auch diese Tür offen, wenn lediglich /bin/false als Login - Shell gesetzt ist. Natürlich nur, wenn der FTP - Server gegen /etc/passwd bzw /etc/shadwos authentifiziert und nicht virtuelle User, Pam oder anderes verwendet. Ich habe Benutzer eingerichtet, die sich nur per FTP anmelden dürfen und dann in Ihr $HOME gechrootet werden, dafür benutze ich /bin/false als Login - Shell.


Grüße.
craano.

Mallah
14.02.07, 10:04
ne frage zu

passwd -l $USER

.

kann ich z.b den user1 einfach das login verbieten,

indem ich passwd -l user1 eingebe als root?

marce
14.02.07, 10:05
Ja.

*10Zeichen*