[gelöst] system shutdown als normaler benutzer mit lineakd

mycroft

Member
hallo zusammen,
ich stehe wiedermal vor einem problem. folgendes habe ich mir ausgedacht, was ich gerne hätte. bin mal gespannt ob das so funktioniert wie ich mir das ausgedacht habe.
zur situation.
ich habe suse10.0 kde 3.4.2 installiert und steuere amarok über die mutlimedia-tasten meiner tastatur. klappt auch wunderbar :) *freu*
jetzt würde ich gern eine taste mit dem systemshutdown befehl belegen.
ich habe versucht dies mit init 0 oder shutdown +0 zu realiseren. funzt natürlich net weil ich ja nicht root-rechte habe wenn lineakd läuft. hat jemand eine idee wie ich z.b. init 0 als normaler benutzer ausführen kann, bzw. welche möglichkeiten hätte ich denn noch.
herzlichen dank schonmal.
 
Moin mycroft,

es wird elegantere Möglichkeiten geben, aber hast Du schon dran gedacht eine Gruppe z.B. 'exit' zu bauen und die User die das System runterfahren dürfen in diese Gruppe zu stecken? Danach bräuchtest Du nur /sbin/shutdown der Gruppe exit zuordnen und für die Gruppe ausführbar machen. Sollte zumindest gehen.
 
OP
M

mycroft

Member
danke für deinen tipp. hat leider nicht funktioniert. shutdown will von root ausgeführt werden :-( . hat jemand noch eine idee.????
danke+grüße
tom
 
und wie ist es mit 'sudo'?
Die Taste mit
Code:
sudo shutdown -h
belegen und in der '/etc/sudoers' dem betreffenden User erlauben den Befehl mit 'suso' ohne Passwort auszuführen.

Edit: Eine andere Möglichkeit wäre noch
Code:
shutdown -a
zu verwenden und den User in '/etc/shutdown.allow' einzutragen.
 

elastic

Member
Geht schon mit Vergabe von Gruppenrechten (natürlich mußt Du beim Anlegen Root sein ...):

#groupadd --system shutdown (oder mit YaST)
#gpasswd -a <user> shutdown (oder mit YaST)
#chgrp shutdown /sbin/halt
#chmod 4750 /sbin/halt

Dann die Taste mit dem Befehl halt belegen und fertisch
 
OP
M

mycroft

Member
herzlich danke für eure hilfe. das hört sich doch jetzt sehr vielversprechend an. ich werde es heute abend gleich testen. :)

nochmal zu der geschichte mit den gruppen rechten. ich habe über yast eine gruppe exit angelegt und dann auch gleich den hauptuser + root in die gruppe aufgenommen.
dann habe ich als root im konquerer den die datei rechte auf user root und gruppe exit geändert. dies hat er auch so übernommen, das habe ich nachgeprüft. stellt sich mir jetzt die frage, warum das nicht funktioniert hat. ich würde es gern verstehen, wo der fehler liegt. :)
 

elastic

Member
AFAIK musst Du

1. die Gruppe als Systemgruppe anlegen damit es funktioniert (sollte ich mich irren berichtige man mich) => #groupadd --system gruppenname

2. das "set user id" bit (auch kurz "suid bit") setzen - so wird im Gegensatz zur normalen Ausführung das Programm nicht mit den selben Berechtigungen des users ausgeführt der das Programm ausführt sondern mit den Berechtigungen des Eigentümers der Datei (öffnet natürlich u.U. Sicherheitslücken - nie für alle ausführbar machen - wenn dan höchstens für eine spezielle Gruppe !!!) => eine 4 vor die sonst dreistellige chmod Zahl
 
OP
M

mycroft

Member
moin,
herzlichen dank an euch alle. es hat funktioniert. die geschichte mit sudo usw. habe ich probiert, habe ich aber nicht zum laufen gebracht. allerdings funktioniert die sache mit der entsprechenden gruppe und dem halt befehl. herzlichen dank.
glückliche grüße
tom :)
 
Oben