• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Mehrfaches Anmelden verhindern

A

Anonymous

Gast
Hallo,
ich bin auf der Suche nach einem Skript, dass ein mehrfaches Anmelden von Benutzern auf verschiedenen Clients verhindert.

cu
 

schweer

Hacker
ernst schrieb:
ich bin auf der Suche nach einem Skript, dass ein mehrfaches Anmelden von Benutzern auf verschiedenen Clients verhindert.
Habe ich mal gefunden, aber bisher nie verwendet:
Julius Szelagiewicz (julius turtle com)
Fri, 7 Feb 2003 09:32:36 -0500 (EST)

* Messages sorted by: [ date ][ subject ][ author ]
* Next message: Jim Hays "[K12OSN] Cannot connect from Mac OS/X"
* Previous message: Paul Iadonisi "Re: [K12OSN] Prevent a user to log twice"

Ok, guys, here we go again ;-)
Avery good place to check for multiple logins an any *nix system
is /etc/profile. below is the function I use on my HP-UX and linux
computers. put the function definition at the beginning of the
/etc/profile and invoke it where you find it convenient. In RH8.0 you may
have to replace "who -u" with "last -R | grep "still logged in"", because
who seems to be broken. good luck, julius

nologin()
{
#nologin - test for user name already logged in

num=1
numps=0
u=$LOGNAME
if [ "$u" = "julius" -o "$u" = "root" ]
then
num=1
else
num=`who| cut -d" " -f1|grep "^$LOGNAME"$|wc -l`
fi

if [ $num -gt 1 ]
then
numps=`ps -eu $LOGNAME |grep -v -e sleep -e COMMAND|wc -l`
num=`expr $numps + 1`
fi
#[ $num -gt 1 ] to allow su if no login (0 occurences)

if [ $num -gt 1 ]
then
echo yours would be login number $num of name $LOGNAME
echo this is a big no-no!
echo if somebody else used your name, notify D.P. department
echo it is vital to the system\'s well being to know who the users are
echo it is with a heavy processor, that i have to deny you access.
echo have a nice day nevertheless - HAL very junior
exit
#else
# echo you are the one and only $LOGNAME - enjoy!

fi
}

wolfgang
 

Luppes

Newbie
Hallo,

auch mich hat es genervt, dass sich User an mehreren Terminals gleichzeitig anmelden konnten. Folgender Beitrag hat bei mir zum Erfolg geführt:

http://www.linux-club.de/viewtopic.php?t=77

Insbesondere der letzte Kommentar hat mein Problem sofort gelöst:

in /etc/kde3/kdm/Xstartup steht das:

Code:
 # multiple login verhinder, userprozesse killen 
 if [ $USER != "root" ]; then 
         skill -u $USER 
         skill -9 -u $USER 
 fi

falls du einen anderen dm verwendest, musst halt die entsprechende config suchen.

Gruß,
Luppes
 
OP
A

Anonymous

Gast
Hi,
fast genau das, wonach ich gesucht habe :D .
Ich habe es noch etwas angepasst:
Code:
# multiple login verhinder, userprozesse killen
if [ $USER = "root" -o $USER = "mein_account" ]; then
 echo $USER um `date` korrekt eingeloggt >> /tmp/doppelt_eingeloggt
else
        echo $USER um `date` entfernt >> /tmp/doppelt_eingeloggt
        /usr/bin/skill -u $USER
        /usr/bin/skill -9 -u $USER
fi

Der zuletzt angemeldete User schmeißt den vorher angemeldeten raus. Das ist schon mal klasse!!
Perfekt wäre es, wenn der zuletzt angemeldete auch mit entfernt wird, vielleicht noch mit einer Meldung, dass doppelte logins nicht erlaubt sind.

cu ernst
 

Luppes

Newbie
Der zuletzt angemeldete User schmeißt den vorher angemeldeten raus. Das ist schon mal klasse!!
Stimmt, das ist auch eine interessante Variante.
Perfekt wäre es, wenn der zuletzt angemeldete auch mit entfernt wird,
Komisch, bei mir ist das der Fall. Sobald jemand auf einem zweiten Terminal sich anmelden möchte, fliegt er auf beiden raus und muss sich neu anmelden.

vielleicht noch mit einer Meldung, dass doppelte logins nicht erlaubt sind.
Das ist auch eine gute Idee und müsste doch zu machen sein...

Gruß,
Luppes
 
Oben