Diese Website existiert nur weil wir Werbung mit AdSense ausliefern.
Bitte den AdBlocker daher auf dieser Website ausschalten! Danke.

[gelöst] init Skripte als nicht-root

Alles rund um das Internet, Internet-Anwendungen (E-Mail, Surfen, Cloud usw.) und das Einrichten von Netzwerken einschl. VPN unter Linux

Moderator: Moderatoren

Antworten
Wizzkid
Newbie
Newbie
Beiträge: 37
Registriert: 5. Dez 2005, 16:34

[gelöst] init Skripte als nicht-root

Beitrag von Wizzkid »

Hallo.

Ich habe bei Strato einen VServer auf den neben mir noch andere Nutzer arbeiten. Einer der Nutzer entwickelt J2EE Anwendungen welche im Tomcat laufen. Der Tomcat wird über das Skript /etc/init.d/tomcat6 gestarted, gestoppt usw. Nun möchte ich dem besagten Nutzer die Möglichkeit einräumen, dass auch er dieses Skript ausführen kann. Sudo möchte ich ihm nicht erlauben.

Wie gehe ich am besten vor?
Zuletzt geändert von Wizzkid am 7. Feb 2010, 15:17, insgesamt 1-mal geändert.
altashveede
Member
Member
Beiträge: 130
Registriert: 9. Jun 2007, 20:13

Re: init Skripte als nicht-root

Beitrag von altashveede »

Ich würd' mal ganz naiv vorschlagen:

Eine Gruppe "tomcat" einrichten und das Skript dieser Gruppe zuordnen. Ausführungsrechte für die Gruppe vergeben und Gruppenmitgliedschaft in "tomcat" für den User einrichten.
towo
Moderator
Moderator
Beiträge: 3726
Registriert: 15. Feb 2004, 16:42
Wohnort: Nimritz
Kontaktdaten:

Re: init Skripte als nicht-root

Beitrag von towo »

Sudo möchte ich ihm nicht erlauben.
Warum nicht?
Genau dafür est es da.
Signatur nach Diktat spazieren gegangen

Bild
Wizzkid
Newbie
Newbie
Beiträge: 37
Registriert: 5. Dez 2005, 16:34

Re: init Skripte als nicht-root

Beitrag von Wizzkid »

towo hat geschrieben: Warum nicht?
Genau dafür est es da.
Weil er dann so ziemlich alles machen kann, und das möchte ich halt nicht. Er soll lediglich den Tomcat starten und stoppen können.
Oder übersehe ich hier etwas?
altashveede hat geschrieben: Eine Gruppe "tomcat" einrichten und das Skript dieser Gruppe zuordnen. Ausführungsrechte für die Gruppe vergeben und Gruppenmitgliedschaft in "tomcat" für den User einrichten.
Das hatte ich mir auch schon überlegt, war mir aber nicht sicher ob das ein praktikables und empfehlenswertes Vorgehen ist.
Danke für den Tipp.
towo
Moderator
Moderator
Beiträge: 3726
Registriert: 15. Feb 2004, 16:42
Wohnort: Nimritz
Kontaktdaten:

Re: init Skripte als nicht-root

Beitrag von towo »

Weil er dann so ziemlich alles machen kann, und das möchte ich halt nicht.
Man merkt, Du hast wirklich viel Ahnung!
Bist Du sicher, daß ein Server das richtige Spielzeug ist?
Signatur nach Diktat spazieren gegangen

Bild
spoensche
Moderator
Moderator
Beiträge: 7538
Registriert: 30. Okt 2004, 23:53
Wohnort: Siegen

Re: init Skripte als nicht-root

Beitrag von spoensche »

@Wizzkid:

Du kannst sudo auch Feintunen, so dass die Gruppe Tomcat nur den Tomcatserver starten kann und alle anderen Befehlsaufrufe (per sudo) nicht erlaubt sind.

Siehe:

Code: Alles auswählen

man 5 sudoers
Wizzkid
Newbie
Newbie
Beiträge: 37
Registriert: 5. Dez 2005, 16:34

Re: init Skripte als nicht-root

Beitrag von Wizzkid »

towo hat geschrieben: Man merkt, Du hast wirklich viel Ahnung!
Bist Du sicher, daß ein Server das richtige Spielzeug ist?
Dankeschön!

Genau aus dem Grund frage ich hier ja nach, was sich für solch ein Szenario das Standardvorgehen ist. Mein Arbeitsrechner ist eine Single-User-Maschine; aus diesem Grund habe ich mich nie mit sudoers beschäftigt. Es war schlicht und ergreifend für mich nicht notwendig.
spoensche hat geschrieben: Du kannst sudo auch Feintunen, so dass die Gruppe Tomcat nur den Tomcatserver starten kann und alle anderen Befehlsaufrufe (per sudo) nicht erlaubt sind.
Danke für den Hinweis. Ich werde mich mit sudoers einmal genauer beschäftigen.
Benutzeravatar
HBtux
Member
Member
Beiträge: 203
Registriert: 18. Jul 2009, 22:52
Wohnort: $HOME

Re: init Skripte als nicht-root

Beitrag von HBtux »

Klarer Fall für sudo...

Das File /etc/sudoers mit dem Befehl visudo editieren.

Code: Alles auswählen

# hier die erlaubten Befehle in einer Gruppe zusammenfassen.
# die Rechte können sogar bis auf die genaue definition der Parameter festgelegt werden.
# (z.B. nur tomcat_befehl mit Parameter -a oder -c erlaubt)
Cmnd_Alias      TOMCAT_BEFEHLE = /tomcat_starten, /tomcat_stoppen, \
                                /tomcat_befehl -a, tomcat_befehl -c

# hier die Gruppe der TOMCAT_ADMINS definieren
User_Alias 	  TOMCAT_ADMINS = user1, user2, user6

# hier wird letztlich die Freigabe erteilt.
# TOMCAT_ADMINS dürfen TOMCAT_BEFEHLE als user "root" ohne Eingabe eines Passwort starten.
TOMCAT_ADMINS     ALL=(root) NOPASSWD:   TOMCAT_BEFEHLE
Der Benutzer kann dann die freigegebenen Programme wie folgt ausführen.

Code: Alles auswählen

user2@wwwroot:~> sudo /tomcat_starten

oder 

user2@wwwroot:~> sudo -u root /tomcat_starten
Viele Grüße
HBtux
Wizzkid
Newbie
Newbie
Beiträge: 37
Registriert: 5. Dez 2005, 16:34

Re: init Skripte als nicht-root

Beitrag von Wizzkid »

Super! Genau so etwas habe ich mir vorgestellt.
Mir war gar nicht bewusst, wie mächtig und flexibel sudo ist.
Habe gerade auch gesehen, dass im Yast ein Dialog für sudo angeboten wird.

Danke für eure Hilfe.
Antworten