Hallo,
Also: Mich würde interessieren, ob (und wie) es möglich ist, unter Linux als root einen User mit normalen Benutzerrechten zu "kicken", also aus dem System zu werfen.
Also, wenn das möglich ist, welchen Befehl ich dazu brauche!
als root user "kicken"
- traeumerle
- Posts: 64
- Joined: 18. Sep 2002 8:17
- Location: Osnabrück
- Contact:
Re: als root user
Ist nur sone Idee, es könnte sein, dass es auch "eleganter" geht aber hier mal die Idee (habs nur kurz getestet und es hat funktioniert)
Zuerst gehe ich mal davon aus, dass ein Benutzer mehrfach angemeldet sein kann. Also holst du dir in einer Shell ersteinmal per "who" alle angemeldeten Benutzer (Wenn es ganz viele sein sollten kannst du es ja per "who | grep [Benutzername]" nach dem gewünschten Benutzer filtern.
Bei mir hab ich im Moment folgende Ausgabe:
<blockquote><pre><font size="1" face="">code:</font><hr><font face="Courier New" size="2">
desktop root # who
test vc/1 Apr 6 00:48
root vc/2 Apr 5 21:03
test vc/3 Apr 6 00:51
jahu :0 Apr 5 21:01
</font><hr></pre></blockquote>
Der Benutzer test ist also 2 mal eingeloggt und zwar auf Terminal 1 und 2.
Wenn ich mir nun alle Prozesse auf einem Terminal per "ps aux | grep vc/1" anzeige bekomme ich folgende Ausgabe.
<blockquote><pre><font size="1" face="">code:</font><hr><font face="Courier New" size="2">
desktop root # who
test vc/1 Apr 6 00:48
root vc/2 Apr 5 21:03
test vc/3 Apr 6 00:51
jahu :0 Apr 5 21:01
</font><hr></pre></blockquote>
Ignorieren wir mal den letzten Prozess (weil dieser durch den Filter gerutscht ist da im Programnamen vc/1 vorkommt <img src="http://www.pl-forum.de/UltraBoard/Images/Happy.gif" border="0" align="middle"> ) und nehmen von den anderen den mit der niedrigsten Prozessnummer (23073 also bash). Killen wir diesen also per "kill -9 23073" so ist der Benutzer (auf der entsprechenden Shell) ausgeloggt.
Wenn der Benutzer auf allen Shells gekickt werden soll, einfach für alle Shells wiederholen.
Das ganze sollte auch mit X-Sessions funktionien.
Aber wie gesagt, es gibt bestimmt eine einfachere Lösung
Zuerst gehe ich mal davon aus, dass ein Benutzer mehrfach angemeldet sein kann. Also holst du dir in einer Shell ersteinmal per "who" alle angemeldeten Benutzer (Wenn es ganz viele sein sollten kannst du es ja per "who | grep [Benutzername]" nach dem gewünschten Benutzer filtern.
Bei mir hab ich im Moment folgende Ausgabe:
<blockquote><pre><font size="1" face="">code:</font><hr><font face="Courier New" size="2">
desktop root # who
test vc/1 Apr 6 00:48
root vc/2 Apr 5 21:03
test vc/3 Apr 6 00:51
jahu :0 Apr 5 21:01
</font><hr></pre></blockquote>
Der Benutzer test ist also 2 mal eingeloggt und zwar auf Terminal 1 und 2.
Wenn ich mir nun alle Prozesse auf einem Terminal per "ps aux | grep vc/1" anzeige bekomme ich folgende Ausgabe.
<blockquote><pre><font size="1" face="">code:</font><hr><font face="Courier New" size="2">
desktop root # who
test vc/1 Apr 6 00:48
root vc/2 Apr 5 21:03
test vc/3 Apr 6 00:51
jahu :0 Apr 5 21:01
</font><hr></pre></blockquote>
Ignorieren wir mal den letzten Prozess (weil dieser durch den Filter gerutscht ist da im Programnamen vc/1 vorkommt <img src="http://www.pl-forum.de/UltraBoard/Images/Happy.gif" border="0" align="middle"> ) und nehmen von den anderen den mit der niedrigsten Prozessnummer (23073 also bash). Killen wir diesen also per "kill -9 23073" so ist der Benutzer (auf der entsprechenden Shell) ausgeloggt.
Wenn der Benutzer auf allen Shells gekickt werden soll, einfach für alle Shells wiederholen.
Das ganze sollte auch mit X-Sessions funktionien.
Aber wie gesagt, es gibt bestimmt eine einfachere Lösung
Bis denne denn
Christian Nobis
Christian Nobis