/etc/nologin verhindert Login

MrBoe

MrBoe

Routinier
Moin!

Ich hab meinen Rechner neu gestartet.

Ja ich weiss, selbst schuld. Aber ich war schön in Wacken und dachte ich spar mal vier Tage lang Strom.

Wenn ich ihn jetzt wieder an mache, kann ich mich nicht im kdm einloggen, weil die Datei nologin in /etc/ nicht gelöscht wird beim Booten.

Muss ich also von Hand machen, aber das geht doch sicher auch irgendwie anders, oder?!

In /etc/rc5.d/ liegt S99rmnologin und zeigt auch auf das richtige init Skript.
Muss das noch wo anders liegen?

Björn
 
Ja sicher. Als root kann ich mich einloggen, nur halt nicht als normaler Benuter. Hier steht das auch

OLOGIN(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 refused.

FILES
/etc/nologin

SEE ALSO
login(1), shutdown(8)

Ich will mich aber nicht immer erst einmal root einloggen um diese blöde Datei zu löschen.
 
Hmm, da kann ich eigentlich nichts wichtiges drin erkennen...


#
# Defaults for the boot scripts in /etc/rcS.d
#

# Time files in /tmp are kept in days.
TMPTIME=0
# Set to yes if you want sulogin to be spawned on bootup
SULOGIN=no
# Set to no if you want to be able to login over telnet/rlogin
# before system startup is complete (as soon as inetd is started)
DELAYLOGIN=yes
# Set UTC=yes if your system clock is set to UTC (GMT), and UTC=no if not.
UTC=no
# Set VERBOSE to "no" if you would like a more quiet bootup.
VERBOSE=yes
# Set EDITMOTD to "no" if you don't want /etc/motd to be editted automatically
EDITMOTD=yes
# Set FSCKFIX to "yes" if you want to add "-y" to the fsck at startup.
FSCKFIX=no
 
Hallo

Schau dir einfach mal die Datei /etc/init.d/bootmisc.sh an.
Speziell die oben gesetzte Variable DELAYLOGIN.
Wenn du das nicht mehr willst, setze diese einfach auf no.
BTW Ist das bei Debian per default aber nur wirksam, wenn du im rcS Modus bootest. :think:
Bei welchem Runlevel passiert denn das bei dir?

Wie auch immer, dort kannst du das deaktivieren.
Wenn DEAYLOGIN nicht auf yes gesetzt ist, wird diese Datei nicht mehr angelegt.

Gruß Wolfgang
 
Die Datei S99rmnologin muss (als link) im Verzeichnis
Code:
/etc/rc`runlevel | cut -d ' ' -f2`.d
liegen. Soweit ich weiss, ist bei Debian der runlevel 2, auch wenn man sich graphisch einloggt.
 
rikola schrieb:
Die Datei S99rmnologin muss (als link) im Verzeichnis
Code:
/etc/rc`runlevel | cut -d ' ' -f2`.d
liegen. Soweit ich weiss, ist bei Debian der runlevel 2, auch wenn man sich graphisch einloggt.

Das ist schon klar, nur normalerweise ist das Bei Debian nur im Verzeichnis rcS der Fall.
Deshalb meine Frage.

Gruß Wolfgang
 
Also ich hab jetzt nochmal nachgeschaut.
Der slink liegt bei mir in rc5.d und in rcS.
bootmisc.sh hat tatsächlich DELAYLOGIN=yes gesetzt.
Ich kann also entweder den symbolischen link ins rc2.d Verzeichnis legen oder aber in der bootmisc.sh den Eintrag auf "no" setzen, richtig?

edit:
Ja mein Standardrunlevel ist 2.
 
Genau so ist es. ;)
Den Link entfernen ist da sicher besser, zumal ein eventueller Update die Änderung in bootmisc.sh wieder überschreiben könnte.

Gruß Wolfgang
 
Wolfgang schrieb:
Das ist schon klar, nur normalerweise ist das Bei Debian nur im Verzeichnis rcS der Fall.
Deshalb meine Frage.

Gruß Wolfgang
noe. Bei meinem System (Sarge) gibt es in /etc/rc2.d einen Link S99rmnologin, und ich habe ihn nicht dahingelegt. In /etc/rcS.d dagegen gibt es den link gar nicht. Wieso auch, root wird von der Datei ja nicht abgehalten, sich einzuloggen.
 
Wofür ist rcS.d eigentlich?

Die anderen sind die Runlevel, das ist schon klar, aber was macht rcS.d?
 
rikola schrieb:
noe. Bei meinem System (Sarge) gibt es in /etc/rc2.d einen Link S99rmnologin, und ich habe ihn nicht dahingelegt. In /etc/rcS.d dagegen gibt es den link gar nicht. Wieso auch, root wird von der Datei ja nicht abgehalten, sich einzuloggen.

Es ging ja darum, dass sich ein user, der nicht root ist einloggen soll.
Bei Singlemod ist es üblich, dass sich nur root einloggen darf - und natürlich auch kein X gestartet wird.

$ cat ../init.d/rmnologin
#! /bin/sh
#
# rmnologin This script removes the /etc/nologin file as the last
# step in the boot process.
...
Alles klar?

Das von mir oben gezeigte Verfahren verhindert schon die Erzeugung.

Gruß Wolfgang
 
Wolfgang schrieb:
Genau so ist es. ;)
Den Link entfernen ist da sicher besser, zumal ein eventueller Update die Änderung in bootmisc.sh wieder überschreiben könnte.

Gruß Wolfgang
Du meinst sicher den Link anlegen, sonst bleibt die Datei ja stehen und der Gute kann sich wieder nicht einloggen ...
 
Goodspeed schrieb:
Du meinst sicher den Link anlegen, sonst bleibt die Datei ja stehen und der Gute kann sich wieder nicht einloggen ...
Stimmt latürnich. ;)

Aaarg ich werd alt.
Den Link zum rmnologin natürlich.

Gruß Wolfgang
 
Ich hab jetzt den link in alle rc?.d kopiert. Dann sollte doch, egal in welchen runlevel ich starte, die nologin in /etc/ gelöscht werden. Scheinbar wird sie das aber trotzdem nicht.
Woran kann es denn jetzt noch liegen?
 
Was steht denn in rmnologin drin? Vielleicht ist die Datei durcheinandergekommen...?
 
Das hier ist der Inhalt ohne die Beschreibung

Code:
PATH=/sbin:/bin
[ "$DELAYLOGIN" ] || DELAYLOGIN=yes
. /lib/init/vars.sh

do_start () {
        #
        # If login delaying is enabled then remove the flag file
        #
        case "$DELAYLOGIN" in
          Y*|y*)
                rm -f /var/lib/initscripts/nologin
                ;;
        esac
}

case "$1" in
  start)
        do_start
        ;;
  restart|reload|force-reload)
        echo "Error: argument '$1' not supported" >&2
        exit 3
        ;;
  stop)
        # No-op
        ;;
  *)
        echo "Usage: $0 start|stop" >&2
        exit 3
        ;;
esac

:
 
Hallo

Was steht denn in der /etc/init.d/bootmisc.sh?

Ändere mal diese Zeile :

rm -f /var/lib/initscripts/nologin

in
rm -f "`readlink -f /etc/nologin || :`"

Oder pass den Pfad an dein System (bei mir Debian Sarge) an.
Schließlich wollen wir ja die richtige Datei löschen.

;)
Gruß Wolfgang
 

Ähnliche Themen

Erfahrungsbericht: Solaris 9 (x86)

Zurück
Oben