openSUSE Server automatisch herunterfahren lassen und normalen Usern ohne Root und Admin ,,/sbin/shutdown now" Befehl ausführen lassen?

4 Antworten

mit dem Einrichten eines Cron-Jobs ist das durchaus möglich. Du musst natürlich root-Rechte auf dem Server haben.

In openSuSE gibt es immer noch den Superuser ( root) und wenn du dessen Passwort kennst, dann editiere ganz einfach die Datei

/etc/crontab

da stehen bestimmt bereits einige Zeilen drin. Lass die so, wie sie sind und erweitere die Datei um eine Zeile mit Enter das eilenende abschließen!!

Die muss dann so aussehen:

59 23 * * * root /sbin/shutdown now  

das Bedeutet shutdown ist auszuführen in der 59. Minute der 23. Stunde an jedem Tage ( 1. Stern ) in jedem Monat ( 2. Stern ) an jedem Tag der Woche ( 3.Stern )

root muss nicht unbedingt da stehen, wohl aber der volle Pfad zu shutdown, denn bei Ausführung sind solche Umgebungsvariablen nicht bekannt. Vielleicht sind Pfade aber bereits in den ersten Zeilen der Datei definiert. z.B.

PATH=/sbin:/usr/sbin

dann kann /sbin/ entfallen, schaden kann es aber nicht.

Für diese Einträge brauchst du keine root-Rechte über sudo und auch keine Einträge in der Datei /etc/sudoers

visudo ist normalerweise in openSuSE nicht verfügbar. Solltest du doch sudo konfigurieren wollen, dann editiere (natürlich nur als root) die Datei /etc/sudoers und trage für dich eine Zeile ein:

%myusers

bedeutet natürlich den User (nicht die Gruppe)

Vielleicht so:

HypeHacker  ALL=(ALL) NOPASSWD: ALL

Bedenke aber, damit kannst du jeden Befehl ( mit sudo davor) auch mit root-Rechten ausführen und das alles ohne root-Passwort.

Woher ich das weiß:Berufserfahrung – openSuSE seit 1995
HypeHacker 
Fragesteller
 30.12.2017, 14:20

Ok danke

0
HypeHacker 
Fragesteller
 30.12.2017, 14:49

Aber ich hab da wieder das Problem dass ich keine Berechtigungen dazu habe obwohl ich mir Root angemeldet bin. Bei mir steht da ,, /etc/crontab: Permission denied".

Was soll ich da machen?

0
guenterhalt  30.12.2017, 16:29
@HypeHacker

wann steht da Permission denied ? Das kann doch nur passieren, wenn du diese Datei ausführen willst. Beim Editieren kommen da ganz andere Fehlermeldungen wenn der, der sie editieren will keine Zugriffsrechte hat.

bei (joe ist ein Editor, der normalerweise bei SuSE vorinstalliert ist)

joe /etc/crontab

kommt dann im Fenster "Error opening file" . Eine ähnliche Fehlermeldung erhält man mit vi

Schreibe doch genau die Befehle auf, die du ausgeführt hast.

0

Zum Thema Berechtigung für shutdown bzw. poweroff und reboot:

Kennst Du visudo? Mit dem Befehl editierst Du die /etc/sudoers. Dort trägst Du folgende Zeile ein:

%myusers ALL=NOPASSWD: /sbin/halt, /sbin/reboot, /sbin/poweroff, /sbin/shutdown

%myusers ersetzt Du mit einem Gruppennamen, den Du Deinen berechtigten Nutzern zuweist.

Zum Thema automatisches Herunterfahren:

Dafür gibt’s die Crontab, die Du mit „crontab -e“ editierst. Dort trägst Du ein Schema für die Uhrzeit oder das Interval ein und den Befehl, der ausgeführt werden soll. Jeder Benutzer hat seine eigene Crontab. Wenn Du also „sudo crontab -e“ ausführst, editierst Du die Crontab von root.

HypeHacker 
Fragesteller
 29.12.2017, 15:36

Hey danke für die Info, aber ich kann /etc/sudoers nicht öffnen auch nicht mit Root. Und wie sieht das in crontab aus wenn ich jetzt z.B. möchte, dass sich der Server jeden tag um genau 0:00 Uhr ausschaltet?

0
HypeHacker 
Fragesteller
 29.12.2017, 15:40
@HypeHacker

Ist es egal wo ich ,,%myusers ALL=NOPASSWD: /sbin/halt, /sbin/reboot, /sbin/poweroff, /sbin/shutdown" einfüge?

0
ReinartLayn  29.12.2017, 15:47
@HypeHacker

Du hast visudo zum editieren genommen, richtig? Eigentlich ist es egal, wo Du die Zeile einträgst. Ich schreib sie immer dorthin wo schon was ähnliches steht (ein Eintrag müsste für Deinen Benutzer, der nicht root ist, schon stehen).

0

Dafür gibt es Cron und die Crontab.

https://wiki.ubuntuusers.de/Cron/

Damit kannst Zeitplanung für das Herunterfahren des Servers erstellen. Ist allemal besser als den Usern die Rechte zum Shutdown zu geben.

Hallo

Ich besitze einen Linux Server mit openSUSE. Ich wollte fragen wie ich den Server automatisch herunterfahren lassen kann?
  • Was soll denn das für einen Sinn machen?

Ein Server ist da um permanent zu laufen und seine Dienste anzubieten, die uptime ist das A & O dabei, meiner läuft seit mehr als 300 Tagen durch.

Ich hoffe ihr könnt mir helfen.

Wenn der Server bei dir zuhause steht kannst Du das natürlich mit einem Cronjob einrichten, aber genauso gut kannst Du es von Hand machen indem Du das Gerät herunterfahren lässt.

Und ich wollte auch noch fragen wie man normalen Usern ohne Root oder Admin den Befehl ,,/sbin/shutdown now" erlauben darf also die Berechtigung dafür gibt.
  • Ja klar kann man das, dafür gibt es das Programm sudo mit dem man bestimmten Benutzern und/oder Benutzergruppen das ausführen von expliziten Kommandos gestatten oder auch verwehren kann.
  • Aber einem normalen Benutzer das zu erlauben ist schon mehr als unüblich auf einem Server.
  • Man stelle sich vor in einem Konzern mit mehreren Tausend Mitarbeitern auf der ganzen Welt würde ein Mitarbeiter das System abschalten, das wäre fatal für alle anderen und ein Administrator müsste dann vor Ort, also wo die Hardware steht, das Gerät wieder einschalten (glücklicherweise gibt es ja iLO und andere Möglichkeiten ;-)
man sudo
man cron

erklären Dir wie das geht. Die Erklärungen meiner "Vorschreiber" sollten aber keine Fragen mehr offen lassen.

Linuxhase

Woher ich das weiß:eigene Erfahrung – Ich benutze seit 2007 Linux und habe LPIC101 und LPIC102