PDA

View Full Version : Shutdown/Reboot per GUI ohne sudo



j4all
03-Apr-2015, 14:20
Hallo zusammen,

meine Frage ist denke nicht nicht sehr kompliziert:
Wie kann ich das System mit einem nicht-Administrator Nutzer über das Desktop Menü neustarten / herunterfahren, ohne das root Passowort eingeben zu müssen?

Was ich bisher getan habe:

1) Notwendige Befehle in visudo eingetragen:
meinuser ALL=NOPASSWD: /sbin/shutdown
meinuser ALL=NOPASSWD: /sbin/reboot
meinuser ALL=NOPASSWD: /sbin/poweroff

2) Alias für die Befehle in ~/.bashrc erstellt
alias shutdown="sudo shutdown"
alias reboot="sudo reboot"
alias poweroff="sudo poweroff"

Mit dem Terminal funktioniert das wunderbar und für einen Linux Benutzer gehört es sich ja quasi das System über die Konsole zu steuern. Aber ich würde es gerne auch über Desktop Menü machen können.

Systeminformationen:
Gnome 3.14.1
openSUSE 13.2 (Harlequin)

Vielen Dank schonmal für die Hilfe und viele Grüße!

wolfi323
03-Apr-2015, 14:26
meine Frage ist denke nicht nicht sehr kompliziert:
Wie kann ich das System mit einem nicht-Administrator Nutzer über das Desktop Menü neustarten / herunterfahren, ohne das root Passowort eingeben zu müssen?

Ich verstehe die Frage nicht ganz.
Du musst da gar nichts machen, das sollte doch standardmäßig funktionieren?
Ich musste in 12 Jahren (open)SUSE noch nie ein Root-Passwort zum Neustarten/Herunterfahren eingeben...

Hast du die Security-Einstellungen verändert?
Was sagt:

grep SECURITY /etc/sysconfig/security

Ich glaube kaum dass GNOME "shutdown", "reboot" oder "poweroff" aufruft, also werden deine Aliase nichts bringen.

j4all
06-Apr-2015, 12:17
Hallo Wolfi,
danke für deine Antwort. Scheinbar funktioniert es nicht standardmäßig, ich hab mal einen Screenshot angehängt.
Den User, den ich benutze, habe ich nicht als Systemadministrator eingestellt. Hängt es eventuell damit zusammen? Ich wollte das System so einrichten, dass wirklich nur root Sachen einstellen kann und die User eben nur User sind. Ich bin noch etwas am rumprobieren, da ich in der Linuxwelt noch relativ neu bin.


grep SECURITY /etc/sysconfig/security
PERMISSION_SECURITY="secure local"


Gruß

http://fs1.directupload.net/images/150406/wnkhbfjl.png

wolfi323
07-Apr-2015, 01:59
Scheinbar funktioniert es nicht standardmäßig
Doch.


Den User, den ich benutze, habe ich nicht als Systemadministrator eingestellt. Hängt es eventuell damit zusammen?
Das ist eine GNOME-Eigenheit, und damit kenne ich mich nicht aus da ich kein GNOME verwende.
Aber ich denke mir, dass mit dieser Option der Benutzer kein Root-Passwort eingeben muss, obwohl Root-Rechte erforderlich sind.
Aber wie gesagt, Neustarten/Herunterfahren sollte aber _ohne_ Root-Rechte gehen.




grep SECURITY /etc/sysconfig/security
PERMISSION_SECURITY="secure local"

Tja, wie vermutet liegt hier das Problem.
Dein System ist auf "secure" gestellt, das verbietet eben normalen Benutzern u.a. das System neuzustarten/Herunterzufahren.
Schalte das auf das Default "easy", "secure" ist nicht wirklich für private Desktopsysteme gedacht.

Dazu öffne die Datei als root mit einem Texteditor, z.B. so:

gnomesu gedit /etc/sysconfig/security
Ändere die Zeile in:

PERMISSION_SECURITY="easy local"
Und rufe dann "sudo set_polkit_default_privs" und "sudo chkstat --system" auf, um die Änderung anzuwenden.

Oder rufe stattdessen einfach YaST->Sicherheit und Benutzer->Sicherheits-Center und Systemhärtung auf, und schalte dort unter "Verschiedene Einstellungen" die "Dateiberechtigungen auf "Easy (Einfach)" um.

Eine andere Möglichkeit wäre speziell das Neustarten und/oder Herunterfahren in /etc/polkit-default-privs.local zu erlauben. Aber wie gesagt, "secure" ist nicht wirklich für normale Desktopsysteme gedacht, und du wirst noch für viele andere Sachen das Root-Passwort benötigen (Zugriff auf USB-Sticks/externe Festplatten z.B.). Alle Sachen explizit zu erlauben, die bei "secure" nicht erlaubt sind ist ja auch nicht wirklich Sinn der Sache...

Alf1967
22-Apr-2015, 13:05
Schau mal in YaST->Sicherheit und Benutzer->Sicherheits-Center und Systemhärtung -> Einstellungen für den Systemstart -> Verhalten des Anmeldemanagers. Bei mir steht es auf Automatisch, wenn bei dir auch versuch es mal mit Alle Benutzer.

Ich habe zwar KDE, aber ich vermute daß Yast bei Gnome gleich ist.

wolfi323
22-Apr-2015, 13:16
Ich habe zwar KDE, aber ich vermute daß Yast bei Gnome gleich ist.
YaST ist schon gleich, aber diese Option betrifft nur KDM.
Steht aber auch dabei... ;)

Und wenns auf "Automatisch" ist, wirds eben auch bei KDM entsprechend der Security-Einstellung gesetzt, also "secure" bedeutet das Root-Passwort ist fürs Runterfahren/Neustarten notwendig.

GDM (GNOME's Login Bildschirm) kennt so eine Enstellung nicht und verhält sich immer entsprechend der Polkit/Security-Einstellungen.

Alf1967
22-Apr-2015, 13:56
YaST ist schon gleich, aber diese Option betrifft nur KDM.
Steht aber auch dabei... ;) Schon, aber ich wußte nicht das Gnome einen anderen Loginmanager benutzt.


Und wenns auf "Automatisch" ist, wirds eben auch bei KDM entsprechend der Security-Einstellung gesetzt, also "secure" bedeutet das Root-Passwort ist fürs Runterfahren/Neustarten notwendig. Deshalb schrieb ich ja evtl. auf alle Benutzer umstellen.


GDM (GNOME's Login Bildschirm) kennt so eine Enstellung nicht und verhält sich immer entsprechend der Polkit/Security-Einstellungen. Das wußte ich dann erst recht nicht. ;) Ich hatte zwar schonmal eine Distri mit Gnome in einer VM installiert, aber da mir Gnome nicht gefällt habe ich mich nicht wirklich damit beschäftigt.

Hätte ja sein können, obwohl ich mich schon ein wenig gewundert habe, daß du nicht auf die Idee gekommen bist. Jetzt weiß ich warum. ;)

j4all
28-Apr-2015, 12:54
Oder rufe stattdessen einfach YaST->Sicherheit und Benutzer->Sicherheits-Center und Systemhärtung auf, und schalte dort unter "Verschiedene Einstellungen" die "Dateiberechtigungen auf "Easy (Einfach)" um.

Perfekt! Das war genau die richtige Einstellung, vielen Dank.
Gibt es durch diese Umstellung irgendwelche Sachen, auf die man jetzt "aufpassen" sollte?

Gruß

wolfi323
29-Apr-2015, 06:46
Gibt es durch diese Umstellung irgendwelche Sachen, auf die man jetzt "aufpassen" sollte?

Nicht wirklich.

Obwohl gewisse Sachen natürlich z.B. auf echten Mehrbenutzersystemen störend sein könnten. Z.B. kann jeder "normale" Benutzer mit Apper/PackageKit Updates installieren (nicht mit YaST, das benötigt immer noch das root Passwort), oder eben den Rechner herunterfahren (allerdings nur wenn keine anderen Benutzer angemeldet sind).

Wie bereits angedeutet, kann man einzelne polkit-Regeln in /etc/polkit-default-privs.local "überschreiben", die Defaults befinden sich in /etc/polkit-default-privs.standard (für "easy" Security) bzw. /etc/polkit-default-privs.restrictive (für "secure").
Es wäre also auch möglich, die Security-Einstellung auf "secure" zu lassen, und nur Shutdown/Reboot für alle Benutzer erlauben (dafür sind die Regeln "org.freedesktop.login1.power-off" bzw. "org.freedesktop.login1.reboot" zuständig, nach einer Änderung von /etc/polkit-default-privs.local immer "sudo set_polkit_default_privs").
Aber prinzipiell ist auf einem "normalen" Privat-PC die Einstellung "easy" wohl sinnvoller... (deswegen ist sie ja auch das Default)