Lokale Anmeldung verbieten

factorx

factorx

Tripel-As
Hallo!

Im Moment fehlen mir scheinbar einfach Ideen zur Lösung meines aktuellen Problems:
Ich möchte erreichen, dass sich Benutzer zwar per SSH auf meinem Linuxserver anmelden können, lokal und direkt am Rechner selbst aber nicht.

Ist das irgendwie möglich? Und wenn ja, wie ginge das?
 
Ich halts zwar für gefährlich, da Du Dich lokal nicht mehr anmelden kannst, wenn zum Bsp. der SSHd streikt, aber egal.

Hast Du mal geschaut, ob Du die virtuellen Consolen in /dev/ttys auschalten/auskommentieren kannst.

Gruss, Phorus

edit:Ich meinte nicht /dev/ttys, sondern /etc/ttys.
 
Zuletzt bearbeitet:
So radikal wollte ich es auch nicht lösen. Am liebsten wäre es mir, wenn man den lokalen Zugriff auf eine bestimmte Gruppe beschränken kann (so dass root es z.B. darf...)
Ich denke mit nem chmod auf die jeweiligen ttys wird das wohl noch nicht ganz der optimale Weg sein, oder?
 
Ob lokale Terminals zur Verfuegung stehen und wenn ja, welche, wird in /etc/inittab festgelegt. Wenn du eine serielle Konsole hast, koenntest du z.B. deinen Login fuer tty0 auf diese Umleiten und tty1-6 in der inittab abschalten. Evtl. hat auch eines der vielen getty-Programme entsprechende Optionen um den Login auf bestimmte Benutzer zu beschraenken, bin mir da aber nicht sicher. Am Besten einfach mal in die Manpages schauen. :)
 
Du könntest für die Nutzer, die sich nicht anmelden dürfen, die Login-Shell in /etc/passwd ändern. Bei mir unter FreeBSD geht das mit "/usr/sbin/nologin" als Login-Shell. Die SSH-Nutzer sollten davon nicht betroffen sein.
 
Dieses Programm nologin gibt es bei mir scheinbar nicht.
Aber es gibt eine manpage dazu:

Code:
NOLOGIN(5)                            Linux Programmer's Manual                            NOLOGIN(5)

NAME
       nologin - prevent non-root users from logging into the system

DESCRIPTION
       If  the file /etc/nologin exists, login(1) will allow access only to root. Other users will be
       shown the contents of this file and their logins will be refused.

FILES
       /etc/nologin

SEE ALSO
       login(1), shutdown(8)

Linux                                         1992-12-29                                   NOLOGIN(5)

Wie es aussieht, ist das wohl immer noch nicht ganz das, was ich suche.
Alternativ habe ich als Login-shell mal /bin/false ausprobiert, aber dies wirkt sich leider sehr wohl auch auf die SSH-User aus. Nach dem Login schließt sich Putty einfach wieder.

Aber die Ideen gehen mir so langsam in die richtige Richtung. Gibt es sonst noch Möglichkeiten?
 
pass mit der /etc/nologin auf, damit verbietest du allen usern, die sich an deinem pc anmelden, oder einloggen wollen die anmeldung. alle root benutzer sind davon allerdings nicht betroffen. da du ja sicher dem root-login die ssh-anmeldung verweigerst, dich mit einem normalen user einloggst und dir dann root-rechte holst, wenn du sie brauchst, ist das auch nicht das optimum für dich :)

gruß nils
 
Das Aendern der Shell in /etc/passwd fuehrt immer dazu, dass entsprechende User sowohl per SSH als auch bei der lokalen Anmeldung die dort eingetragene Shell bekommen. Steht dort also /bin/false, /bin/nologin o.ae. ist dem User die Anmeldung auf dem System nicht moeglich, da er ja keine Shell bekommt.
 

Ähnliche Themen

SELinux und IPTV

SSH auf bestimmte IPs für bestimmte User

Keine grafische Oberfläche (Debian Installation)

Welches Linux/Unix für ehemaligen OSX Nutzer?

Linux "vergisst" Dateisystem?

Zurück
Oben