User das runter fahren verbieten, wenn...

Dieses Forum ist für die erweiterte Hilfe und Unterstützung vorgesehen:

Bitte stelle hier Deine Fragen zur fortgeschrittenen Benutzung von Mageia. Beispielsweise geht es hier um Fragen zum Netzwerk, automatischen Installationen, komplexer Serverkonfiguration, Kerneltuning, Aufsetzen eines Mageia-Mirrors, kurz gesagt: alle Aufgaben, die auch für erfahrene Benutzer eine Herausforderung sind.

User das runter fahren verbieten, wenn...

Beitragvon AndieY » Sep 28th, '12, 17:10

....ein anderer User oder Root per ssh eingeloggt ist?

Ist das realisierbar? wenn ja wie!

Grund meiner Anfrage:
Habe hier einen Rechner mit Mageia2, den ich per ssh administriere. Nun sitzen verschiedene User an dem Rechner welche mitunter ihn auch mal herunterfahren wenn man Grade per ssh eingeloggt ist und ein update fährt.
AndieY
 
Beiträge: 83
Registriert: Jul 25th, '11, 18:05

Re: User das runter fahren verbieten, wenn...

Beitragvon alf » Sep 28th, '12, 19:05

Generell könntest du das herunterfahren/rebooten der User durch den msec-Parameter ALLOW_REBOOT steuern.
Ansonsten wohl über /usr/share/polkit-1/actions/org.freedesktop.login1.policy. Allerdings sieht es so aus, als sei es die Standardeinstellung das in diesem Fall Systemverwalterrechte für das Runterfahren erforderlich sind.
Das Gehirn ist nicht wie Seife, es wird nicht weniger wenn es benutzt wird. -- Lisa Fitz
Benutzeravatar
alf
 
Beiträge: 2443
Registriert: Jun 1st, '11, 13:39
Wohnort: Paderborn

Re: User das runter fahren verbieten, wenn...

Beitragvon AndieY » Sep 30th, '12, 09:14

mmhh ich sehe schon das. das ist wohl ein schwieriger Fall.

Hab mir mal die /usr/share/polkit-1/actions/org.freedesktop.login1.policy angeschaut. Werde aber auch nicht schlauer daraus, liegt vermutlich an meinen fast nicht vorhandenen Englischkenntnissen. Root Rechte sind nicht das Problem die habe ich sowieso, das eigentliche Problem ist: wie ändere ich nur temporär die Rechte für das herunterfahren.
AndieY
 
Beiträge: 83
Registriert: Jul 25th, '11, 18:05

Re: User das runter fahren verbieten, wenn...

Beitragvon alf » Sep 30th, '12, 09:37

Unter KDE kannst du diese policies auch per gui bearbeiten. KDE-Systemeinstellungen --> Systemverwaltung --> Aktionsberechtigungen.
Das Gehirn ist nicht wie Seife, es wird nicht weniger wenn es benutzt wird. -- Lisa Fitz
Benutzeravatar
alf
 
Beiträge: 2443
Registriert: Jun 1st, '11, 13:39
Wohnort: Paderborn

Re: User das runter fahren verbieten, wenn...

Beitragvon man-draker » Sep 30th, '12, 12:03

AndieY hat geschrieben:mmhh ich sehe schon das. das ist wohl ein schwieriger Fall.

Ja, denn neben der Aktion selber, dürfte es wichtig sein, dass die Anwender darüber informiert werden, warum sie gerade vergeblich versuchen, den Rechner herunter zu fahren.
"Die letzte Stimme, die man hört, bevor die Welt explodiert, wird die Stimme eines Experten sein, der sagt: 'Das ist technisch unmöglich.'"
(Peter Ustinov)
Benutzeravatar
man-draker
 
Beiträge: 4992
Registriert: Jun 1st, '11, 12:56

Re: User das runter fahren verbieten, wenn...

Beitragvon alf » Sep 30th, '12, 14:05

man-draker hat geschrieben:Ja, denn neben der Aktion selber, dürfte es wichtig sein, dass die Anwender darüber informiert werden, warum sie gerade vergeblich versuchen, den Rechner herunter zu fahren.
Eine entsprechende Meldung wird schon ausgegeben, wenn die Regeln entsprechend eingestellt sind. Allerdings ist es mir unter MGA2 noch nicht gelungen die so einzustellen, dass aus der grafischen Oberfläche heraus das Runterfahren/Rebooten unbunden wird; im tty funktionierts :(
Das Gehirn ist nicht wie Seife, es wird nicht weniger wenn es benutzt wird. -- Lisa Fitz
Benutzeravatar
alf
 
Beiträge: 2443
Registriert: Jun 1st, '11, 13:39
Wohnort: Paderborn

Re: User das runter fahren verbieten, wenn...

Beitragvon wanne » Okt 1st, '12, 21:28

Ich wüde das so machen Vielleicht ein bisschen umständlich aber müsste funktionieren:
/usr/local/sbin/sudoshutdown:
Code: Alles auswählen
#!/bin/sh
PATH="/usr/bin:/bin:/usr/sbin:/sbin"
if [ "$(ps -e -o %U%y |grep -E "root[[:space:]]*pts" | wc -l)" =  "0" ]; then
        /sbin/poweroff
        exit 0;
else
        echo "root ist gerade eingelogt"
        exit 4;
fi

/usr/bin/poweroff
Code: Alles auswählen
#!/bin/sh
sudo /usr/local/sbin/sudoshutdown
retcode="$?"
if [ "$retcode" = "4" ]; then
        kdialog --error  "root ist gerade eingelogt."
fi

/etc/sudoers
Code: Alles auswählen
Defaults    !env_reset,!tty_tickets
Defaults        env_delete += "*"

Defaults    secure_path = /sbin:/bin:/usr/sbin:/usr/bin
%users  [HOSTNAME]= (root) NOPASSWD: /usr/local/sbin/sudoshutdown
Zuletzt geändert von wanne am Okt 4th, '12, 20:35, insgesamt 1-mal geändert.
a1d0c6e83f027327d8461063f4ac58a6
wanne
 
Beiträge: 985
Registriert: Jun 1st, '11, 16:54
Wohnort: Südwest-Deutschland

Re: User das runter fahren verbieten, wenn...

Beitragvon AndieY » Okt 4th, '12, 14:03

@wanne
du hast dir ja ne menge Arbeit gemacht, aber irgendwie funktioniert deine Lösung nicht!!

Meine /usr/local/sbin/sudoshutdown:
Code: Alles auswählen
#!/bin/sh
PATH="/usr/bin:/bin:/usr/sbin:/sbin"
if [ "$(ps -e -o %U%y |grep -E "linux[[:space:]]*pts" | wc -l)" =  "0" ]; then
        /sbin/poweroff
        exit 0;
else
        echo "root ist gerade eingelogt"
        exit 4;
fi


Meine /etc/sudoers
Code: Alles auswählen
Defaults    !env_reset,!tty_tickets
Defaults        env_delete += "*"

Defaults    secure_path = /sbin:/bin:/usr/sbin:/usr/bin
%users  [Mageia]= (linux) NOPASSWD: /usr/local/sbin/sudoshutdown

Hostname ist Mageia und der User für das ssh heißt linux
AndieY
 
Beiträge: 83
Registriert: Jul 25th, '11, 18:05

Re: User das runter fahren verbieten, wenn...

Beitragvon man-draker » Okt 4th, '12, 14:35

AndieY hat geschrieben:Hostname ist Mageia und der User für das ssh heißt linux
Ersetze mal den Suchbegriff "root" nicht durch den Benutzernamen des ssh-Users, sondern durch dessen (U)ID.
"Die letzte Stimme, die man hört, bevor die Welt explodiert, wird die Stimme eines Experten sein, der sagt: 'Das ist technisch unmöglich.'"
(Peter Ustinov)
Benutzeravatar
man-draker
 
Beiträge: 4992
Registriert: Jun 1st, '11, 12:56

Re: User das runter fahren verbieten, wenn...

Beitragvon wanne » Okt 4th, '12, 20:33

Halt da hab ich mich wohl nicht gan eindeutig ausgedrückt:
Die /etc/sudoers müsste dann so aussehen:
Code: Alles auswählen
Defaults    !env_reset,!tty_tickets
Defaults        env_delete += "*"

Defaults    secure_path = /sbin:/bin:/usr/sbin:/usr/bin
%users  Mageia= (root) NOPASSWD: /usr/local/sbin/sudoshutdown

Und der nutzer linux sollte dann in der Gruppe users sein. (Die Zeile bedeutet: Die User aus der Gruppe users dürfen ohne Passwort den Befehl /usr/local/sbin/sudoshutdown als root ausfühern.) Wenn du das nur für einen User haben willst geht das dann so:
Code: Alles auswählen
Defaults    !env_reset,!tty_tickets
Defaults        env_delete += "*"

Defaults    secure_path = /sbin:/bin:/usr/sbin:/usr/bin
%linux  Mageia= (root) NOPASSWD: /usr/local/sbin/sudoshutdown

Achso und du darfst dann nur aus der grafischen Oberflöche (z.B. aus der Konsole) runterfahren. Wills du auch von der TTY oder per ssh runter fahren können musst du statt Mageia ALL einfügen.
a1d0c6e83f027327d8461063f4ac58a6
wanne
 
Beiträge: 985
Registriert: Jun 1st, '11, 16:54
Wohnort: Südwest-Deutschland

Re: User das runter fahren verbieten, wenn...

Beitragvon wanne » Okt 4th, '12, 20:39

Achso un der eigentliche Trick ist das ich /usr/bin/poweroff austasche und die /sbin/poweroff behalte. root kann dann immer runter Fahren und normale User wird dann root, wenn root nicht shcon da ist.
a1d0c6e83f027327d8461063f4ac58a6
wanne
 
Beiträge: 985
Registriert: Jun 1st, '11, 16:54
Wohnort: Südwest-Deutschland


Zurück zu Erweiterter Support

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast