Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: mkdir() i mimowolny chmod 0700
Forum PHP.pl > Forum > Serwery WWW > Apache
punnks
mam strukturę katalogów..potrzebna do mechanizmu uploadu:

FileManager/

i chcę utworzyć podkatalogi do ktorych bede wrzucal pliki...

  1. <?php
  2. $path = '';
  3. $dirs = array('news', 'content', 'gallery');
  4.  
  5. $res = true;
  6. foreach ($dirs as $dir)
  7. {
  8.    if (!@mkdir($path . $dir . '/', 0755) $res = false;
  9. }
  10.  
  11. echo ($res == true) ? 'install-success' : 'install-failure';
  12. ?>


Ustawiam chmod 0755 lecz jak sprawdzam potem przez WinSCP katalogom jednak zostaja ustawione chmod'y 0700.
Przy 0700 nie moge uzyskac dostepu do plikow / folderu. Apache wywala:

  1. Forbidden
  2.  
  3. You don't have permission to access /public/uploads/FileManager/content/ on this server.
  4. Apache/2.2.9 (Debian) mod_fastcgi/2.4.6 mod_ssl/2.2.9 OpenSSL/0.9.8g Server at [...] Port 80


Jak wymusic porzadany przez mkdir() chmod 0755?
Chmod dla folderu FileManager ustawilem rowniez na 755 i nic to nie skutkuje.

Prosze o pomoc.
blooregard
Wydaje mi się, że na serwerze ustawiona jest maska (mask) dla tworzonych katalogów, która w połaczeniu z przesyłaną przez Ciebie wynikowo daje 0700.
Spróbuj skopiować katalog bez podawania maski jako parametru f-cji mkdir() i sprawdź, jakie uprawnienia będzie miał wtedy utworzony katalog.
punnks
mkdir('content'); // i w WinSCP rowniez daje chmod 0700
blooregard
To rzeczywiście dziwne, że serwer ustawia uprawnienia do r/w/x tylko dla root-a ohmy.gif , tym bardziej, że Apache jest z reguły użytkownikiem www-data albo coś takiego i musi mieć uprawnienia do czytania katalogów, gdzie są pliki strony.

A sprawdź w ustawieniach WinSCP - może tam jest jakaś opcja "Domyślna maska dla kopiowanych katalogów" (strzelam, bo nie używam Windows, więc nie mam tych problemów)
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.