PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Apache2 und Root-Rechte



multiuser
08.06.10, 22:26
Hallo!

Ich entwickle gerade mit ein paar anderen ein Backend in PHP, mit dem man einen Linux-Server wie einen Router über Web verwalten kann...

Backend ist bald fertig und wir kämpfen noch immer mit einem Problem:
Ich muss als User "wwwrun" am Server div. Files verändern / neu schreiben und aber auch div. Dienste bei "Save" neu starten.

Nun gibt es ja bekantlich system() und exec().

system ( "echo 'DAS_ROOT_PASSWORT' | sudo -S /etc/init.d/network restart" );Dieser Befehl funktioniert auch super, jedoch wenn ich ein File neu schreiben will, funktioniert das nicht: Permission denied :-(

Kennt jemand eine bessere Möglichkeit dies umzusetzen?

derRichard
08.06.10, 22:46
hi!

naja, was genau willst du erreichen?
wenn der apache alles können soll, was root kann, dann musst du den apache als root starten.
(verdammt schlechte idee!)

die "echo passwort | ..."-geschichte ist auch nicht so toll.
stell lieber in der sudoers ein, dass wwwdata bestimmte dinge als root ohne passwort machen darf.

//richard

p.s: webmin kennst du aber schon?

multiuser
09.06.10, 07:03
naja, was genau willst du erreichen?

ich / wir möchten am schluss einen linux server so verwalten und einstellen können, wie einen z.b. linksys-raouter oder eine qnap-nas



wenn der apache alles können soll, was root kann, dann musst du den apache als root starten.
(verdammt schlechte idee!)

das ist klar - das wolen wir eh net...



die "echo passwort | ..."-geschichte ist auch nicht so toll.

warum - was ist schlecht daran?
um dinge ändern zu können, muss man das root-kennwort wissen, das vorher auf der oberfläche per dialog abgefragt wird... es steht also NICHT irgendwo im klartext drinn - so is es nicht...



stell lieber in der sudoers ein, dass wwwdata bestimmte dinge als root ohne passwort machen darf.

da gibt es aber viele dinge - zu viele würd ich meinen!
-netzwerkeinstellungen ändern
-dhcp server einstellen
-samba
-backups verwalten
-cron-jobs
-u.v.m.




p.s: webmin kennst du aber schon?
ja klar kenn ich den - wir wollen aber ein eigenes protukt machen.



wenn jemand interessiert ist, kann ich ja dann mal den link hier posten, zu diesem backend...


bitte um hilfe ;-)

marce
09.06.10, 07:35
ich würde auch die sudo mit nopasswd-Variante nehmen. Allerdings würde ich mir dann ein wrapper-Script schreiben, welches die notwendigen Tasks erledigt und anhand eines Übergabeparameters ausführt. Dann braucht's nur eine Zeile in der sudoers.

Nebenbei hoffe ich für euch, daß ihr all das, was den Ruf von Webmin und anderen Tools der Art versaut hat, nicht auch nochmals falsch macht...

Roger Wilco
09.06.10, 07:37
Warum willst du die Veraenderungen direkt aus der Webapplikation heraus vornehmen? Das hat mehrere Nachteile, das Rechteproblem mal aussen vorgelassen.

Besser ist es, die Einstellungen ueber die Weboberflaeche und die tatsaechliche Durchfuehrung zu entkoppeln. Die Webapplikation fuegt die noch durchzufuehrenden Aenderungen in eine Queue ein und ein Daemon mit den entsprechenden Rechten fuehrt diese dann aus. Der Daemon sollte natuerlich so wenig Rechte wie moeglich besitzen, wobei wir wieder bei sudo waeren.

Zusaetzlich bekommst du mit dieser Architektur die Moeglichkeit ueber eine einzige Webapplikation mehrere Systeme zu verwalten quasi geschenkt.

multiuser
09.06.10, 07:52
danke!

ich werd das nochmal mit so nem "wrapper-Script" versuchen, auch wenns letztens nicht so geklappt hat...


@marce
Nebenbei hoffe ich für euch, daß ihr all das, was den Ruf von Webmin und anderen Tools der Art versaut hat, nicht auch nochmals falsch macht...

webmin ist was anderes (wir integrieren auch scalix als mailserver uvm.) - wir würden unsere software dann eher mit "open-sbs.de" vergleichen - nur die, die gibt es seit 2008 nicht mehr ;-( - zumindest reagiert dort niemand mehr.
das ist auch der grund unserer arbeit!

cane
09.06.10, 09:33
Vielleicht schaut ihr euch mal die Konkurrenz an und schaut wie die das machen:
- http://www.open-xchange.com/de/open-xchange-advanced-server-edition-de
- http://univention.de/ucs.html
- http://www.collax.com/

Wenn ihr im deutschsprachigen Raum erfolgreich sein wollt würde ich statt Scalix eher Open-Xchange oder Zarafa als Groupware verwenden. Scalix war im US Markt ganz angesagt, wurde aber meiner Meinung nach von Zimbra stark verdrängt und die Qualität ist auch nicht besser geworden.

mfg
cane

multiuser
09.06.10, 19:47
@cane

was mir am wichtigsten dabei ist, das es einen "public folder" und einen outlook-conector gibt - auch ein schönes webmail muss es haben und kostenlaos muss es sein, sonnst hätt es keinen sinn... scalix erfüllt dies alles...

cane
10.06.10, 08:34
@cane

was mir am wichtigsten dabei ist, das es einen "public folder" und einen outlook-conector gibt - auch ein schönes webmail muss es haben und kostenlaos muss es sein, sonnst hätt es keinen sinn... scalix erfüllt dies alles...

Vorsicht:
Bei Scalix kannst Du in der kostenlosen Community Edition nur 10 Benutzer mit dem Outlook Konnektor ausstatten!

Meiner Meinung nach ist übrigens mittlerweile genauso wichtig wie ein Outlook Konnektor, wenn nicht gar noch wichtiger eine serverseitige Active Sync Implementierung um Mobile Endgeräte zu synchronisieren. So zu mindest in den Groupware Projekten die ich betreue...

Generell bietet dir aber keine Groupware einen kostenlosen Outlook Konnektor + kostenlose Active Sync Implementierung, die Entwickler der Hersteller wollen auch bezahlt werden und Community Projekte gibt es in dieser Liga (noch?) nocht mit annähernd akzeptabler Qualität.

mfg
cane

multiuser
10.06.10, 09:11
@cane
genau so ist es - aber wir werden uns bemühen, dies voran zu treiben!

ich hab gestern noch geschaft, files zu schreiben ;-)

einfach ne .sh datei aufrufen und parameter übergeben - plötzlich hats geklappt! juhu, danke

derfele
10.06.10, 09:32
Generell bietet dir aber keine Groupware einen kostenlosen Outlook Konnektor + kostenlose Active Sync Implementierung, die Entwickler der Hersteller wollen auch bezahlt werden und Community Projekte gibt es in dieser Liga (noch?) nocht mit annähernd akzeptabler Qualität.

Bei dem kostenlosen Outlook Konnektor kann ich dir nur zustimmen, ein "Konnektor"/Outlook-Plugin ist das was eine gute Groupware ausmacht und immer ein Argument um Geld für die Weiterentwicklung und Verbesserung zu verlangen.

Bei der Active Sync Implementierung muss ich aber widersprechen. Ich nutze jetzt seit über einem Jahr Z-Push in Verbindung mit Zarafa. Z-Push liegt unter der GPL und ist eine Implementierung des Active Sync OTA Protokolls. Inzwischen gibt es sogar einige die Projekte Backends für andere Groupwarelösungen entwickeln.

PS: Zarafa ist seit gestern in der Version 6.40 erhältlich und in der Community Version für 3 Outlook Benutzer kostenlos.