[php] met safe-mode aan subdirs maken

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Liqued
  • Registratie: Februari 2001
  • Laatst online: 06-08 15:21
Ik krijg het niet voor elkaar om met php safe-mode aan een dir en daar weer een subdir in te maken.

Huidige code:
PHP:
1
2
3
4
5
6
echo "mkdir ";
echo mkdir("test"."/", 0777);
echo "<br>chmod ";
echo chmod ("test"."/", 01777);
echo "<br>mkdir sub ";
echo mkdir("test/test/", 0777);


Foutmelding:
code:
1
2
3
4
5
6
7
mkdir 1
chmod 1
mkdir sub 
Warning: mkdir(): SAFE MODE Restriction in effect. The script whose uid is 590 is 
not allowed to access /home/virtual/site87/fst/var/www/html/typo3conf/test 
owned by uid 48 in /home/virtual/site87/fst/var/www/html/typo3conf/ext.php on 
line 7


Hoe kan ik dit probleem omzeilen?

Acties:
  • 0 Henk 'm!

  • Cavorka
  • Registratie: April 2003
  • Laatst online: 27-03-2018

Cavorka

Internet Entrepreneur

CHMOD 01777?

Moet dat niet ook gewoon 0777 zijn? Aangezien je de eerst dit wel kan (om test te maken en ernaartoe te gaan), lijkt het me dat je ook wel nog een directory kan aanmaken.

[ Voor 63% gewijzigd door Cavorka op 03-12-2003 16:32 ]

the-blueprints.com - The largest free blueprint collection on the internet: 50000+ drawings.


Acties:
  • 0 Henk 'm!

Verwijderd

Als je een directory aanmaakt met een script (lees ff user), en daaronder in hetzelfde script (zelfde user dus) een subdirectory, dan moet dit werken, tenzij je de rechten veranderd, en hier een foutje inmaakt... vraag me idd ook af waarom je 01777 gebruikt ?

En als je nou helemaal geen rechten insteld, gewoon alleen de directory aanmaakt ? Dan moeten de rechten goed staan om er met het script in te komen

Acties:
  • 0 Henk 'm!

  • Liqued
  • Registratie: Februari 2001
  • Laatst online: 06-08 15:21
Situatie:
dir: "typo3conf" owner: "filmnl" mod:"777"
dir: "test" owner: "apache" mod: "755" (zonder hem te chmodden na de chmod 01777 wordt ie 777)

Op zich zou het dus niet moeten uitmaken of ik chmod, maar zo heeft iedereen schrijf rechten. Maar wat ik dus niet snap is dat ik met de user "apache" een dir aan maak en dat ik daar dan onder geen nieuwe dir kan plaatsen.
code:
1
2
3
4
Warning: mkdir(): SAFE MODE Restriction in effect. The script whose uid is 590 is 
not allowed to access /home/virtual/site87/fst/var/www/html/typo3conf/test 
owned by uid 48 in /home/virtual/site87/fst/var/www/html/typo3conf/ext.php on 
line 7

[ Voor 77% gewijzigd door Liqued op 04-12-2003 11:37 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Ben zelf ook gestruikeld over safe mode.

In telegram stijl:

Een PHP script wordt onder safe mode alleen uitgevoerd als het de zelfde eigenaar heeft als de directory waarin het staat.

Maakt dat script een directory aan dan is PHP (UID 48) de eigenaar van die directory en niet de eigenaar van het script.

De eigenaar van het script is dus niet de eigenaar van die door PHP aangemaakte directory. Daarom mag het script niet in die directory schrijven... Dat heet veilige modus.

Je zult die directories met de hand in FTP moeten aanmaken.

Er zijn programma'tjes die je webhost kan installeren waardor je een CHOWN (change owner) kan uitvoeren via een execute commando in PHP.
Is echter niet aan te raden, want niet iedere webhost wil dat.

Groeten

Acties:
  • 0 Henk 'm!

  • Liqued
  • Registratie: Februari 2001
  • Laatst online: 06-08 15:21
Je zult die directories met de hand in FTP moeten aanmaken.
En dat kan dus niet (of het kost me een jaar van mijn leven). Het gaat hier om een CMS (typo3) die hier van gebruikt maakt voor het online downloaden en installeren van modules.
Er zijn programma'tjes die je webhost kan installeren waardor je een CHOWN (change owner) kan uitvoeren via een execute commando in PHP.
chown kan (ik denk vanwege safe-mode) niet gebruikt worden.

Acties:
  • 0 Henk 'm!

  • jan-marten
  • Registratie: September 2000
  • Laatst online: 16-09 14:45
Verwijderd schreef op 04 december 2003 @ 15:21:
Je zult die directories met de hand in FTP moeten aanmaken.
Waarom niet via PHP?
Volgens mij kun je FTP ook gebruiken in safe-mode. Je logt dan alleen in op je eigen systeem en maakt dan een map aan.
Tis natuurlijk wel een beetje omslachtig :) maar niet onhaalbaar.

1) ftp_connect
2) ftp_login
3) ftp_mkdir
4) ftp_close

Tadaa...

Acties:
  • 0 Henk 'm!

Verwijderd

De normale CHOWN is alleen door ROOT te gebruiken.
Gewone gebruikers mogen geen bestanden aan anderen geven of zichzelf toe eigenen.
Als je op CHOWN en PHP safe mode zoekt, zul je wel een paar C - programma's tegenkomen die door de webhost geinstalleerd kunnen worden. Die werkt dan alleen in jouw DOCUMENT_ROOT en subdirectories. Echter dan wordt je afhankelijk van webhosts die dat willen toestaan. Als je website onverhoopt moet verhuizen dan heb je weer hetzelfde probleem.

Als iemand geen normale ftp toegang heeft, dan zal ook de omslachtige methode met ftpconnect niet werken? Maar op zich een goed idee om te proberen.
Helaas is dat idee voor mijn project te laat. Ik heb nu 1200 bestanden in één directory i.p.v. netjes gesorteerd in sub-directories...

Acties:
  • 0 Henk 'm!

Verwijderd

Ik loop op dit moment tegen exact het zelfde probleem aan, de workaround die ik bedacht heb, nog niet geimplementeerd, is een prefix aan elk bestand toe te voegen welke ik normaal als dir naam zou gebruiken, dit maakt het mogelijk om toch groepen bestanden te verwijderen op dezelfde manier als normaal met directory's dus ipv dat ik bestanden in /sub1/sub2/bestandsnaam zet wil ik er dan van maken:
sub1-sub2-bestandsnaam

Acties:
  • 0 Henk 'm!

  • FlowinG
  • Registratie: Maart 2003
  • Laatst online: 09:30
Om een aantal rechten problemen te omzeilen die je krijgt na het gebruik van chmod, moet je usmask gebruiken.

Voor meer info: http://nl.php.net/umask

Acties:
  • 0 Henk 'm!

Verwijderd

Liqued schreef op 04 december 2003 @ 16:26:
[...]

En dat kan dus niet (of het kost me een jaar van mijn leven). Het gaat hier om een CMS (typo3) die hier van gebruikt maakt voor het online downloaden en installeren van modules.


[...]


chown kan (ik denk vanwege safe-mode) niet gebruikt worden.
[beetje offtopic]
heb je typo3 zelf geïnstalleerd, of is dit door je webhoster gedaan?
Het bedrijf waar ik stage loop biedt ook typo3-hosting aan. Op deze accounts wordt de safe-mode altijd uit gezet om dit soort problemen te voorkomen.

Acties:
  • 0 Henk 'm!

Verwijderd

Ik heb zelf ook een prefix voor de bestanden gemaakt als workaround.
Echter om backups te maken op mijn computer thuis moet ik nu een ander FTP programma gebruiken. Want 1200 bestanden is de grens voor WSFTP..

Daar de inhoud van de website via PHP-scripts (=CMS) door anderen beheerd wordt, gebruik ik liever geen ftpconnect om subdirs te maken. Dat wachtwoord daarvoor laat ik liever niet slingeren in een PHP-script op een webserver.

Acties:
  • 0 Henk 'm!

  • trogdor
  • Registratie: Mei 2003
  • Laatst online: 22-04 10:17
wsftp... tja.
probeer het eens met bitbeamer.

Acties:
  • 0 Henk 'm!

  • Liqued
  • Registratie: Februari 2001
  • Laatst online: 06-08 15:21
Verwijderd schreef op 05 december 2003 @ 10:49:
[...]


[beetje offtopic]
heb je typo3 zelf geïnstalleerd, of is dit door je webhoster gedaan?
Het bedrijf waar ik stage loop biedt ook typo3-hosting aan. Op deze accounts wordt de safe-mode altijd uit gezet om dit soort problemen te voorkomen.
Heeft dat bedrijf ook een naam?
Pagina: 1