Berechtigungen für shutdown

Warum Debian und/oder eine seiner Spielarten? Was muss ich vorher wissen? Wo geht es nach der Installation weiter?
Antworten
pepsimaus
Beiträge: 27
Registriert: 30.05.2006 18:06:23

Berechtigungen für shutdown

Beitrag von pepsimaus » 03.06.2006 15:13:25

Hallo,

ich möchte gerne meinem User Account das Recht geben, den Rechner herunterzufahren. Da gibt es anscheinend mehrere Wege, dies zu erreichen.
Man könnte ein SUID bit setzen für shutdown. Wäre das okay? Oder besser mit sudo? Das habe ich probiert, mit visudo die sudoers editiert und den user eingetragen. Klappt trotzdem nicht.
Wenn man derart konfiguriert, müßten das nicht die Rechte verändern für shutdown? Hier mal meine Ausgabe auf der Konsole:

Code: Alles auswählen

-rwxr-xr-x  1 root root 18516 2005-01-04 23:43 shutdown
Verstehe ich nicht! ich lese das so: user darf lesen, schreiben, ausführen(rwx)
gruppe darf lesen und ausführen(r-x)
jeder darf lesen und ausführen? (r-x)

das würe ja bedeuten, jeder dürfte shutdown ausführen, es darf doch aber nur root. So funktioniert es ja auch bei mir, will ich als user shutdown ausführen, kommt:

Code: Alles auswählen

shutdown: you must be root to do that!
Ich dachte eigentlich, ich hätte das mit den Berechtigungen verstanden, aber dem scheint nicht so.

Kann mir jemand dazu etwas sagen?

Grüße

pepsimaus

Edit by Snoopy:
Code-Tags für die Leserlichkeit eingefügt.

Benutzeravatar
Snoopy
Beiträge: 4297
Registriert: 17.11.2003 18:26:56
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Rh.- Pflz.

Beitrag von Snoopy » 03.06.2006 15:49:09

Hi

Ich würde da nix an den Rechten umbiegen...das kommt net gut.

Gehe den Weg über und trag den gewünschten User dafür ein.
Die Datei

Code: Alles auswählen

/etc/sudoers
könnte dann zb. so aussehen

Code: Alles auswählen

# /etc/sudoers
#
# This file MUST be edited with the 'visudo' command as root.
#
# See the man page for details on how to write a sudoers file.
#

# Host alias specification

# User alias specification
User_Alias USERS = Dein_User

# Cmnd alias specification
Cmnd_Alias SHUTDOWN = /sbin/shutdown

# User privilege specification
root    ALL=(ALL) ALL
USERS   ALL=NOPASSWD:SHUTDOWN

Benutzeravatar
123thomas
Beiträge: 208
Registriert: 29.05.2006 18:33:50
Wohnort: spelle
Kontaktdaten:

Beitrag von 123thomas » 03.06.2006 15:49:47

Man kann auch son paket insterlieren dann ist das wie windows dann gibts ein button "Herunterfahren" "Neustarten" u.s.w. Aber ich weis nicht wie das heißt ich glaube es fängt mit K an.

pepsimaus
Beiträge: 27
Registriert: 30.05.2006 18:06:23

Berechtigungen für shutdown

Beitrag von pepsimaus » 03.06.2006 17:22:40

Hallo,

also irgendwelche zusatzpackete, die Windows simulieren, will ich nicht installieren. Ich denke, Linux bringt alles mit, was man braucht. Trotzdem danke für den Tipp.
Ich werde meine sudoers nochmals anpassen, wie ihr es beschrieben habt. Aber was mich hauptsächlich interessiert ist dieses:

Code: Alles auswählen

rwxr-xr-x  1 root root 18516 2005-01-04 23:43 shutdown
wenn man die rechte liest:
user(rwx) - lesen, schreiben, ausführen
gruppe(r-x) - lesen, ausführen
jeder(r-x) - lesen, ausführen

das kann doch nicht stimmen,oder? Nur root darf shutdown ausführen. Oder lese ich die rechte falsch?

Und sudo? Ist sudo sozusagen in der Priorität höher? Aber man sieht mit ls- l für shutdown keine veränderten Berechtigungen, oder?

Grüße

pepsimaus

Edit by Snoopy:
Code-Tags für die Leserlichkeit eingefügt.

pepsimaus
Beiträge: 27
Registriert: 30.05.2006 18:06:23

Berechtigungen für shutdown

Beitrag von pepsimaus » 03.06.2006 18:05:02

Hallo,

ich habs versucht, ich öffne sudoers mit visudo, allerdings wird dann sudoers.tmp geöffnet. Ist das korrekt so?
Hier die sudoers nach Änderung:

Code: Alles auswählen

# /etc/sudoers
#
# This file MUST be edited with the 'visudo' command as root.
#
# See the man page for details on how to write a sudoers file.
#

# Host alias specification

# User alias specification
User_Alias USERS = paloncino
# Cmnd alias specification
Cmnd_Alias down = /sbin/shutdown -h now
# User privilege specification
root    ALL=(ALL) ALL
USERS   ALL= NOPASSWD:down
Wenn ich speichern will, kommt folgendes:

Code: Alles auswählen

>>> sudoers file: syntax error, line 12 <<<
>>> sudoers file: syntax error, line 15 <<<
What now? e

irgendeine Idee? Ich hab schon gestern versucht, die sudoers anzupassen, leider mit der gleichen Fehlermeldung. Wo stimmt denn die Syntax nicht?

Grüße

pepsimaus[/list][/list]

Benutzeravatar
Snoopy
Beiträge: 4297
Registriert: 17.11.2003 18:26:56
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Rh.- Pflz.

Beitrag von Snoopy » 03.06.2006 18:14:27

Hi

Nein nein...sudo wird NUR über

Code: Alles auswählen

visudo
editiert.

Du gibst Parameter mit...sudo ist sehr pingelig und das hat auch einen Grund ( deswegen auch visudo )

Was sagt er dazu ?

Code: Alles auswählen

# /etc/sudoers
#
# This file MUST be edited with the 'visudo' command as root.
#
# See the man page for details on how to write a sudoers file.
#

# Host alias specification

# User alias specification
User_Alias USERS = paloncino
# Cmnd alias specification
Cmnd_Alias down = /sbin/shutdown
# User privilege specification
root    ALL=(ALL) ALL
USERS   ALL= NOPASSWD:down

pepsimaus
Beiträge: 27
Registriert: 30.05.2006 18:06:23

Beitrag von pepsimaus » 03.06.2006 18:30:24

Hallo Snoopy,

nix! die gleiche Meldung:

Code: Alles auswählen

# /etc/sudoers
#
# This file MUST be edited with the 'visudo' command as root.
#
# See the man page for details on how to write a sudoers file.
#

# Host alias specification

# User alias specification
User_Alias USERS = paloncino
# Cmnd alias specification
Cmnd_Alias down = /sbin/shutdown
# User privilege specification
root    ALL=(ALL) ALL
USERS   ALL= NOPASSWD:down
ergibt dann:

Code: Alles auswählen

>>> sudoers file: syntax error, line 12 <<<
>>> sudoers file: syntax error, line 15 <<<
What now?

Wenn die Zeilen von 1 an gezählt werden, dann hiesse das ja, das Linie 12 die kommentat Linie ist: # Cmnd alias specification
Wie kann ein Kommentar eine falsche Syntax haben, zumal sie von sudoers stammt.
Linie 15 ist dann:

Code: Alles auswählen

 root    ALL=(ALL) ALL

Ich versteh das nicht. Was mach ich falsch?

Grüße

pepsimaus

Benutzeravatar
docNet
Beiträge: 876
Registriert: 03.08.2004 15:00:06
Wohnort: Wiesbaden

Beitrag von docNet » 03.06.2006 19:14:29

Code: Alles auswählen

# /etc/sudoers

User_Alias USERS = myself
Cmnd_Alias SHUTDOWN = /sbin/shutdown -h now 
root    ALL=(ALL) ALL
USERS   ALL=NOPASSWD:SHUTDOWN
User_Alias USERS = da kommt natürlich dein User hin.
und ALL=NOPASSWD dazwichen (dem = ) kein Leerzeichen.

lg docNet :wink:
break on through to the other side

pepsimaus
Beiträge: 27
Registriert: 30.05.2006 18:06:23

Beitrag von pepsimaus » 03.06.2006 19:37:33

Hab ich gemacht, also alles entfernt aus der sudoers und das Listing abgetippt, natürlich mit meinem usernamen. diesmal kommt auch von sudoers kein fehler, allerdings klappt es nicht. wenn ich alsuser angemeldet bin und shutdown -h no aufrufe, kommt immer noch ein hinweis, dass das nur root darf. In diesem zuammenhang stellt sich mir die frage, woher weiss sudoers, welche user es gibt? vielleicht muss ich noch eine entsprechende datei den user eintragen?

grüße

pepsimaus

ToPeG
Beiträge: 437
Registriert: 14.04.2004 00:42:06

Beitrag von ToPeG » 03.06.2006 19:47:51

Dann versuch mal

Code: Alles auswählen

sudo shutdown -h
Um ein wenig zu erklären.
shutdown muß eine Menge Programme anhalten die als root laufen auf Hardware zugreifen (Festplatten parken u.s.w) aber nur root hat darauf Zugriff. Allso muß shutdown immer als root ausgeführt werden. Mit sudo erlaubst du einem normalen Benutzer ein bestimmtes Programm (hier shutdown) unter einem anderen Nutzer auszuführen (hier root)

pepsimaus
Beiträge: 27
Registriert: 30.05.2006 18:06:23

Beitrag von pepsimaus » 03.06.2006 19:52:15

Hallo,

oh weia, ich hab vergessen...sudo vor shutdown zu stellen. ..aber trotzdem klappt es nicht...komischerweise, wenn ich kontrolliere, welche kommandos der user paloncino ausführen darf, kommt das:

Code: Alles auswählen

paloncino@palo:~$ sudo -l
User paloncino may run the following commands on this host:
    (root) NOPASSWD: /sbin/shutdown -h now
paloncino@palo:~$ sudo shutdown -h now
Sorry, user paloncino is not allowed to execute '/usr/bin/shutdown -h now' as root on localhost.localdomain.
paloncino@palo:~$
Widerspricht sich das nicht?

Edit by Snoopy:
Code-Tags für die Leserlichkeit eingefügt.

Benutzeravatar
Snoopy
Beiträge: 4297
Registriert: 17.11.2003 18:26:56
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Rh.- Pflz.

Beitrag von Snoopy » 03.06.2006 19:52:26

Hi

Du kannst Dir auch ein alias setzen.

Als Beispiel

Code: Alles auswählen

alias down='sudo shutdown -h now'
und das z.B. in Deine

Code: Alles auswählen

.bashrc
eintragen...dann kannst Du dir das Getippe sparen.

Benutzeravatar
Snoopy
Beiträge: 4297
Registriert: 17.11.2003 18:26:56
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Rh.- Pflz.

Beitrag von Snoopy » 03.06.2006 19:55:38

Bitte gewöhn Dir mal an, Code-Tags zu benutzen....

Das ist nicht korrekt..Du schreibst

Code: Alles auswählen

/usr/bin/shutdown -h now

Code: Alles auswählen

root@asterix:  ~
# > which shutdown
/sbin/shutdown
In

Code: Alles auswählen

visude
reicht dieser Eintrag bzgl. dem Shutdownkommando

Code: Alles auswählen

Cmnd_Alias SHUTDOWN = /sbin/shutdown

pepsimaus
Beiträge: 27
Registriert: 30.05.2006 18:06:23

Beitrag von pepsimaus » 03.06.2006 19:55:56

Hi Snoopy,

hab ich schon gemacht, aber erst mal muss es ja funktinoieren

Benutzeravatar
Snoopy
Beiträge: 4297
Registriert: 17.11.2003 18:26:56
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Rh.- Pflz.

Beitrag von Snoopy » 03.06.2006 20:00:50

Hi

Also..nun hab ich das selber mal nachvollzogen

Code: Alles auswählen

# /etc/sudoers
#
# This file MUST be edited with the 'visudo' command as root.
#
# See the man page for details on how to write a sudoers file.
#

# Host alias specification

# User alias specification
User_Alias USERS = andreas

# Cmnd alias specification
Cmnd_Alias SHUTDOWN = /sbin/shutdown

# User privilege specification
root    ALL=(ALL) ALL
USERS   ALL=NOPASSWD:SHUTDOWN
So sieht die sudo-File aus

Ich kann nun als User andreas

Code: Alles auswählen

sudo shutdown -h now
durchführen und meine Kiste geht aus

Mit einem

Code: Alles auswählen

alias down='sudo shutdown -h now'
reicht mir nun ein

pepsimaus
Beiträge: 27
Registriert: 30.05.2006 18:06:23

Beitrag von pepsimaus » 03.06.2006 20:21:47

Hallo Snoopy,

ich glaubs dir ja,bei mir klappts halt nicht:
Hier die sudoers:

Code: Alles auswählen

 /etc/sudoers

User_Alias USERS = paloncino
Cmnd_Alias SHUTDOWN = /sbin/shutdown
root    ALL=(ALL) ALL
USERS   ALL=NOPASSWD:SHUTDOWN
das müßte doch okay sein, oder?!

sudoers meldet auch keinen Fehler. Trotzdem, wenn ich aufrufe:

Code: Alles auswählen

paloncino@palo:/usr/sbin$ sudo shutdown -h now
Sorry, user paloncino is not allowed to execute '/usr/bin/shutdown -h now' as root on localhost.localdomain.
ich hab noch zu wenig ahnung von linux, aber mir kommt es so vor, als müßte noch andererweitig eine berechtigung gesetzt werden...kann das sein? ansonsten versteh ich die meldung nicht, das paloncino keine rechte hat...vorher...mit sudo -l wird doch noch ausgegeben, das shutdown aufgerufen werden darf von paloncino...

Benutzeravatar
docNet
Beiträge: 876
Registriert: 03.08.2004 15:00:06
Wohnort: Wiesbaden

Beitrag von docNet » 03.06.2006 20:41:41

es sollte

Code: Alles auswählen

Cmnd_Alias SHUTDOWN = /sbin/shutdown -h now
heißen. Das -h now fehlt bei dir. Vielleicht liegt es daran.

lg docNet :wink:
break on through to the other side

Benutzeravatar
garibaldi
Beiträge: 2443
Registriert: 17.09.2004 02:31:12
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Berlin

Beitrag von garibaldi » 03.06.2006 20:48:07

docNet hat geschrieben:es sollte

Code: Alles auswählen

Cmnd_Alias SHUTDOWN = /sbin/shutdown -h now
heißen. Das -h now fehlt bei dir. Vielleicht liegt es daran.

lg docNet :wink:
Gar nicht! S.o. post von Snoopy.

@pepsimaus: Hast du denn

Code: Alles auswählen

# visudo
benutzt? Bei dir fehlen ja die Kommentarzeilen. Nach der Anleitung von Snoopy mit visudo hat es bei mir auf Anhieb geklapppt, und zwar ohne ... -h now!

pepsimaus
Beiträge: 27
Registriert: 30.05.2006 18:06:23

Beitrag von pepsimaus » 03.06.2006 21:24:10

Hallo,

jetzt klappt es endlich *jubel*
die kommentarzeilen hab ich entfernt, die werden ja eh nicht berücksichtigt. Ausserdem komischerweise..seitdem liess mich soduers sauber raus, ohne fehlermeldung...
Ich hab in die usr/bashrc noch zwei aliase für shutdown -h und shutdown -r eingetragen....klappt wunderbar!

Ich bedanke mich bei allen für die Hilfe!!!!

Grüße

pepsimaus

Antworten