1. Задавайте здесь вопросы о коде, которые не подходят в другие разделы, такие как:
    Дизайн > Верстка
    PHP > Как сделать на PHP
    Скрыть объявление

ch-mod и .htaccess

Тема в разделе "Web Coding", создана пользователем Juri, 7 фев 2008.

Статус темы:
Закрыта.
Модераторы: latteo
  1. Juri

    Juri

    Заблокирован
    Регистр.:
    5 окт 2007
    Сообщения:
    1.065
    Симпатии:
    197
    можно ли как то при помощи .htaccess выставить chmod для файлов по умолчанию. тот который стоит у хостера не устраивает
     
  2. Flock

    Flock Постоялец

    Регистр.:
    16 июн 2007
    Сообщения:
    142
    Симпатии:
    44
    Нельзя. Лучше выполнить команду chmod -R 755 dirname, она присвоит всем файлам и папкам, каталога dirname права 755. Чтобы по умолчанию создавались уже с нужными правами файлы, надо umask <Нужные права> прописать в .bash_profile.
     
  3. Juri

    Juri

    Заблокирован
    Регистр.:
    5 окт 2007
    Сообщения:
    1.065
    Симпатии:
    197
    так значит все таки можно только не через .htaccess.
    а есть разница в какой строчке это писать?
    это правильное написание
    umask 644
     
  4. venetu

    venetu

    Регистр.:
    28 мар 2007
    Сообщения:
    735
    Симпатии:
    261
    Через .bash_profile ты задашь umask только для файлов, которые создает bash, а тебе, как я понимаю, нужны файлы, создаваемые из скрипта.

    Попробуй после создания файла делать ему chmod() указывая нужные права. Если это не сработает - пиши в саппорт хостерам, возможно они все-таки разрешат.

    Альтернативный вариант - если у тебя открыты file_wrappers, то можно создавать файл так:

    fopen('ftp://login:рAssw0rd@localhost/dir/file','b')

    т.е. создаешь файл у себя же на серваке, но через ftp - тогда файлу автоматически присваивается другой овнер и 99%, что chmod() теперь будет работать правильно.

    А один раз открыв доступ для всех (при создании) - дальше можно будет уже обращаться обычным способом, и читать-писать..


    PS: еще подводные камни: у некоторых хостеров если файл открыт для записи всем, то его невозможно прочесть из апача. Хотя права на чтение стоят - все равно возвращает ошибку.
     
  5. modesco

    modesco Создатель

    Регистр.:
    4 июн 2007
    Сообщения:
    38
    Симпатии:
    1
    если ничего не получится - используй во всех пхп скриптах при создании файлов функцию chmod()
     
  6. Talker

    Talker Создатель

    Регистр.:
    6 янв 2008
    Сообщения:
    33
    Симпатии:
    3
    Если файл заливался на сервер через ftp, то через php с ним ничего не сделаешь (если хостер не криворукий), поменять права можно только через ftp или ssh. Если файл создавался с помощью php, то chmod()
     
  7. PHP_Master

    PHP_Master

    Регистр.:
    3 фев 2008
    Сообщения:
    2.647
    Симпатии:
    591
    всё зависит от способа установки PHP.

    Например, если PHP установлен как CGI, то менять права можно и из скриптов.

    Если как mod_php, то только через FTP.
     
  8. [H.Q.]

    [H.Q.] Писатель

    Регистр.:
    8 фев 2008
    Сообщения:
    5
    Симпатии:
    0
    Ну если даже в mod_php разрешены вызовы system(), то почему нельзя из скрипты поменять ? )
     
  9. masto

    masto Прохожие

    Потому что файлы залитые через FTP имеют владельцем вашего юзера (как правило это ваш логин), а php-скрипты при mod_php выполняются не от имени вашего юзера, а от имени апача или nobody. Отсюда происходит конфликт в правах доступа.
    Если вы файл создаёте скриптами, то у него соответственно юзер будет апач или nobody и таким файлам можно делать chmod скриптами.

    немного сумбурно, но суть понять можно.

    PS разрешение system() на mod_php - тоже самое, что одеть мишень себе на спину (если конечно апач не пропатчен).
     
Статус темы:
Закрыта.