Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Warum kann ich als User X abschießen?
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German)
View previous topic :: View next topic  
Author Message
Battlestar Gentoo
l33t
l33t


Joined: 23 Dec 2004
Posts: 708
Location: Wien

PostPosted: Thu Feb 22, 2007 10:11 pm    Post subject: Warum kann ich als User X abschießen? Reply with quote

Hallo,

irgendwie wundere ich mich, dass ich als normaler User den X-Server mit dem Kill-Befehl abschießen kann. Ich dachte nie so wirklich darüber nach, aber eigentlich dürfte das doch gar nicht gehen, oder?

Die Ausgabe von ps aux zu dem X-Server-Prozess lautet:

Code:
root      5223 12.3  2.3  33436 24312 tty7     SLs+ 23:07   0:19 X :0 -nolisten tcp -br -auth /home/markus/.serverauth.5203 -deferglyphs 16


Meine Gruppenzugehörigkeiten:

Code:
disk lp wheel floppy audio cdrom video games cdrw usb users ldap scanner

_________________
vorher: Gentoo Reptile
Back to top
View user's profile Send private message
amne
Bodhisattva
Bodhisattva


Joined: 17 Nov 2002
Posts: 6378
Location: Graz / EU

PostPosted: Thu Feb 22, 2007 11:04 pm    Post subject: Reply with quote

Jeder User darf nur seinen eigenen XServer abschiessen. Logg dich einmal mit einem zweiten User ein und mach startx -- :1, dann als einer der beiden killall X. Ist also nichts, über das man sich Sorgen machen müsste.
_________________
Dinosaur week! (Ok, this thread is so last week)
Back to top
View user's profile Send private message
mrsteven
Veteran
Veteran


Joined: 04 Jul 2003
Posts: 1938

PostPosted: Thu Feb 22, 2007 11:11 pm    Post subject: Reply with quote

Oh je, die Sache ist etwas komplizierter: Prinzipiell hat jeder Prozess zwei User IDs (effektive und reale), unter denen er läuft. Normalerweise sind beide auf die User ID des Benutzers gesetzt, der das Programm startet.
Der X-Server wird normalerweise mit gesetztem SetUID-Flag installiert:
Code:
$ ls -l /usr/bin/Xorg
-rws--x--x 1 root root 1599084 21. Feb 12:00 /usr/bin/Xorg

Dadurch wird der X-Server immer mit der effektiven User ID des Systemverwalters root gestartet. Dadurch hat der X-Server die gleichen Rechte wie ein Prozess, der von root gestartet wurde, auch wenn X via startx von einem normalen User gestartet wurde. So kann der X-Server z.B. direkt auf die Grafikhardware zugreifen.
Die reale User ID des Servers ist jedoch immer noch die des aufrufenden Benutzers, in deinem Fall die von markus. Die Manpage von kill (2) sagt, dass du einem Prozess ein Signal schicken kannst, wenn eine der beiden User IDs des Prozesses mit deiner übereinstimmt, was genau hier der Fall ist.

Prinzipiell ist das ein Bug im X-Server, weil der seine reale User ID nicht auf seine effektive ID setzt.

Wenn du nicht willst, dass ein Benutzer das System unbrauchbar macht, indem er via startx X hochfährt um den Server dann gleich mit einem SIGKILL abzuschießen, dann löschst du am besten das SetUID-Bit vom X-Server und verwendest einen Display-Manager.

Ich hoffe das war einigermaßen verständlich... :?
_________________
Unix philosophy: "Do one thing and do it well."
systemd: "Do everything and do it wrong."
Back to top
View user's profile Send private message
Battlestar Gentoo
l33t
l33t


Joined: 23 Dec 2004
Posts: 708
Location: Wien

PostPosted: Fri Feb 23, 2007 3:46 pm    Post subject: Reply with quote

Danke für eure Erklärung. Ich dachte schon an eine Fehlkonfiguration in meinem System.
_________________
vorher: Gentoo Reptile
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum