per php mounten

Die Scriptsprache PHP für die Gestaltung von dynamischen Websites.

per php mounten

Beitragvon Specter » Mi 29 Apr, 2009 02:11

Hallo!

Ich würde gern per php ein share mounten. Als nicht-root in der shell ist es kein Problem. Allerdings via php gibts Probleme. Eigentlich dachte ich wenn ichs als normaler user kann, sollte es der ww-data auch schaffen.
Weder direkt (über system('mount /daten/share1');) noch indirekt (über ein 2. script mit suid) funktionierts. Ich bekomme immer den Fehler
Code: Alles auswählen
mount error: permission denied or not superuser and mount.cifs not installed SUID


Mit einem normalen Script über cgi ist genau das gleiche.

Hat jemand eine Idee auf was ich noch achten könnte?
Danke.

Greetz
Specter
Junior Board-Mitglied
Junior Board-Mitglied
 
Beiträge: 92
Registriert: Fr 30 Nov, 2007 12:02

Beitragvon lordpeng » Mi 29 Apr, 2009 07:55

per php script direkt mounten zu können wäre IMHO sehr bedenklich ...

du gehst das problem aber auch falsch an, erstelle per php script in /tmp/ (oder sonstwo) eine datei, auf der anderen seite baust du dir ein shellscript, welches das vorhandensein dieser datei überprüft und bei einem positiven rückgabe wert dein volume ins filesystem einhängt, das shellscript führst du dann minütlich aus und du hast was du willst - ganz ohne an irgendwelchen php berechtigungseinstellungen herumschrauben zu müssen ...

unmounten wär dann im grunde der selbe vorgang nur halt mit negativem rückgabewert ...
lordpeng
Moderator
Moderator
 
Beiträge: 10198
Registriert: Mo 23 Jun, 2003 22:45

Beitragvon Specter » Mi 29 Apr, 2009 10:42

Danke für den Ansatz - werde es so versuchen.
Der Sinn dahinter ist das ich lokal bei mir zuhause via Handy-Browser mit einem klick den Share (Media Player) mounte und mit einem 2. ein Script aufrufe das meine Videodatenbank aktualisiert.
Specter
Junior Board-Mitglied
Junior Board-Mitglied
 
Beiträge: 92
Registriert: Fr 30 Nov, 2007 12:02

Beitragvon lordpeng » Mi 29 Apr, 2009 11:13

des problem kannst auf oben angeführte art jedenfall relativ sicher lösen - ohne gröbere umbauten in den php bzw. webserver berchtigungen ... hab schon öfters derartige probleme mit dieser methode gelöst ... wennst's noch sicherer haben willst, dann kannst irgendeine art prüfsumme in die datei schreiben, welche dann vom shell-script (welches der crond als root oder benutzer mit entsprechenden rechten ausführt) auf gültigkeit geprüft wird ...

funzt 100 %ig :-)

die minimalversion wäre folgende:
1. per php script ein controlfile in /tmp/ erstellen
2. folgenden cronjob erstellen /usr/bin/test -e /tmp/meincontrollfile && mount \\remoteserver\freigabe ...

viel einfacher kann ma's eh ned haben ...
lordpeng
Moderator
Moderator
 
Beiträge: 10198
Registriert: Mo 23 Jun, 2003 22:45

Beitragvon Specter » Mi 29 Apr, 2009 12:48

Das es nicht eine sichere Variante ist, war mir bewusst. Wär aber nur für mein LAN gewesen und angenehm weil php gleich alle Meldungen vom Script am Browser ausgibt.
Aber mit den Berechtigungen so herumpfuschen damit nachher noch alles funktioniert ist vermutlich mindestens so aufwendig wie es indirekt über einen cron job zu lösen.
Es gibt ein Apache Modul http://www.suphp.org/Home.html das den Benutzer vom php-prozess verändern kann - aber für meinen Fall ist das sicher mit Kanonen auf Spatzen schießen.
Danke nochmals
Specter
Junior Board-Mitglied
Junior Board-Mitglied
 
Beiträge: 92
Registriert: Fr 30 Nov, 2007 12:02

Re: per php mounten

Beitragvon badbaer » Do 11 Okt, 2012 10:24

Ur Alt ...der Thread .. vielleicht als ergänzung weil ja auch suchende mittlels Suchmaschniene hier her kommen könnten.. mittels sudo und einem Systemcall sollte das aber eigentlich generell kein Problem darstellen..
What color do you want that database?
badbaer
Board-Mitglied
Board-Mitglied
 
Beiträge: 113
Registriert: Do 26 Nov, 2009 07:37

Re: per php mounten

Beitragvon lordpeng » Do 11 Okt, 2012 16:34

>Ur Alt ...der Thread .. vielleicht als ergänzung weil ja auch suchende mittlels Suchmaschniene hier her kommen könnten..
>mittels sudo und einem Systemcall sollte das aber eigentlich generell kein Problem darstellen..

du hast recht, mittels sudo als systemaufruf isses technisch ohne weiteres machbar, dennoch finde ich, dass kommandos die mit rootrechten laufen nicht via webinterface angestossen werden sollten
lordpeng
Moderator
Moderator
 
Beiträge: 10198
Registriert: Mo 23 Jun, 2003 22:45

Re: per php mounten

Beitragvon badbaer » Fr 12 Okt, 2012 04:03

lordpeng hat geschrieben:du hast recht, mittels sudo als systemaufruf isses technisch ohne weiteres machbar, dennoch finde ich, dass kommandos die mit rootrechten laufen nicht via webinterface angestossen werden sollten


Aus Sicherheitsgründen würde ich den gesamten Aufruf inkl Args in die sudoers eintragen.. somit kann man eigentlich ausschließen das sonstiger Unfug aus dem Webinterface damit getrieben wird.
What color do you want that database?
badbaer
Board-Mitglied
Board-Mitglied
 
Beiträge: 113
Registriert: Do 26 Nov, 2009 07:37


Zurück zu PHP

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 5 Gäste