script mit rootrechten ausführen?

Warum Debian und/oder eine seiner Spielarten? Was muss ich vorher wissen? Wo geht es nach der Installation weiter?
Antworten
Benutzeravatar
HELLinG3R
Beiträge: 1328
Registriert: 15.04.2004 07:54:33

script mit rootrechten ausführen?

Beitrag von HELLinG3R » 13.09.2004 17:51:50

Hallo, ich habe auf meiner lokalen Box ein script, dass mir eine Entwicklungsumgebung startet (Apache+Mysql)

ich würde das script gerne als normaler user starten können, kann ich das irgendwie bewerkstelligen?
Meines Wissens nach gilt das Set-Uid bit nur für Binarys...

Ich kann leider nicht Programmieren, aber gäbe es eine möglichkeit, ein kleines Progrämmchen zu schreiben, dass mir die dienste startet oder stoppt, je nach kommando?

Benutzeravatar
GoKi
Beiträge: 2068
Registriert: 04.07.2003 23:08:56
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von GoKi » 13.09.2004 18:08:15

Wie wäre es mit sudo?

Benutzeravatar
fober
Beiträge: 243
Registriert: 09.10.2002 08:29:24
Wohnort: Chemnitz
Kontaktdaten:

Beitrag von fober » 14.09.2004 07:58:38

oder vor den entsprechenden Befehlen im Script ein 'su' davor schreiben ...

cu Frank
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Lesen ist seeliger denn posten :D
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Benutzeravatar
HELLinG3R
Beiträge: 1328
Registriert: 15.04.2004 07:54:33

Beitrag von HELLinG3R » 14.09.2004 08:09:54

@sudo: hm, da gibts doch die sudoers-datei, in der festgelegt ist, welcher user was ausführen darf?
da müsste dann jeder User rein, der das Script ausführen soll, oder?

@su: schlecht, weil jedesmal eine Passwortabfrage stattfinden würde...

Benutzeravatar
zyta2k
Beiträge: 2446
Registriert: 14.03.2003 09:18:00
Kontaktdaten:

Beitrag von zyta2k » 14.09.2004 08:38:56

Korrekt, sudoers brauchst du aber nur für sudo's nach root.

Also root brauchst du die sudoers nicht...

guckstdu Manpage von sudo:

SYNOPSIS
sudo [ -u username|#uid ] command

d.h.

sudo -u DEINUSER DEINSCRIPT

Benutzeravatar
HELLinG3R
Beiträge: 1328
Registriert: 15.04.2004 07:54:33

Beitrag von HELLinG3R » 14.09.2004 09:00:43

zyta2k hat geschrieben:sudo -u DEINUSER DEINSCRIPT
naja, ich will das script aber mit root ausführen, weil sich sonst der apache nicht starten lässt.
also wäre es im script:
sudo -u root /etc/init.d/mysql start
sudo -u root /etc/init.d/apache start

und wenn mein user test heisst, muss er in der sudoers file eingetragen sein.
in der sudoers file kann man auch einstellen, wer *was* darf, also könnte ich sudo auf die beiden Sachen (mysql+apache) beschränken und es würde funktionieren, oder?

Benutzeravatar
zyta2k
Beiträge: 2446
Registriert: 14.03.2003 09:18:00
Kontaktdaten:

Beitrag von zyta2k » 14.09.2004 09:10:43

genau :)

Benutzeravatar
HELLinG3R
Beiträge: 1328
Registriert: 15.04.2004 07:54:33

Beitrag von HELLinG3R » 14.09.2004 09:12:30

na super, ich werde das mal testen heute abend! :)
dankeschön für die Anregungen und Tipps!

Nano
Beiträge: 66
Registriert: 21.04.2004 17:46:34

Beitrag von Nano » 02.10.2004 13:19:55

Hi,

Obwohl der thread schon etwas älter ist, möchte ich keinen neuen erstellen, weil's hier perfekt dazupasst.

Ich habe ein ähnliches problem: Möchte gerne per CGI ein skript mit rootrechten ausführen. Das skript sollte ein paar ports per iptables command an einen bestimmten host forwarden, wie auch immer...
HELLinG3R hat geschrieben:@sudo: hm, da gibts doch die sudoers-datei, in der festgelegt ist, welcher user was ausführen darf?
da müsste dann jeder User rein, der das Script ausführen soll, oder?

@su: schlecht, weil jedesmal eine Passwortabfrage stattfinden würde...
hmm? sudo verlangt genauso eine passworteingabe wie su meines erachtes.
Oder hab ich in der sudo manpage irgendwas übersehen? Kann man die abfrage unterbinden? Dass das potenziell unsicher ist, ist mir klar.
MfG,
Nano

Benutzeravatar
zyta2k
Beiträge: 2446
Registriert: 14.03.2003 09:18:00
Kontaktdaten:

Beitrag von zyta2k » 06.10.2004 09:59:48

Nano hat geschrieben: hmm? sudo verlangt genauso eine passworteingabe wie su meines erachtes.
Oder hab ich in der sudo manpage irgendwas übersehen?
Jo. Was übersehen ;)
Kann man die abfrage unterbinden? Dass das potenziell unsicher ist, ist mir klar.
Ja.

Bspiel einer sudoers (am besten mittels visudo editieren):

Code: Alles auswählen

user1   ALL= NOPASSWD: /usr/sbin/chroot
Würde bedeuten, dass user1 mittels sudo /usr/sbin/chroot ausführen kann ohne ein PW zu benutzen und es trotzdem als root ausgeführt wird.

Und: So gefärhlich ist das nicht, solange du nur einzelnen Scripts solche Rechte gibst:

Code: Alles auswählen

user1   ALL= NOPASSWD: /usr/local/bin/meinscript.pl

Nano
Beiträge: 66
Registriert: 21.04.2004 17:46:34

Beitrag von Nano » 06.10.2004 13:15:15

Ahh ! Danke zyta2k , das hilft mir weiter =)
MfG,
Nano

Antworten