ch-mod и .htaccess

Статус
В этой теме нельзя размещать новые ответы.

Juri

Мой дом здесь!
Заблокирован
Регистрация
5 Окт 2007
Сообщения
1.064
Реакции
200
  • Автор темы
  • Заблокирован
  • #1
можно ли как то при помощи .htaccess выставить chmod для файлов по умолчанию. тот который стоит у хостера не устраивает
 
Нельзя. Лучше выполнить команду chmod -R 755 dirname, она присвоит всем файлам и папкам, каталога dirname права 755. Чтобы по умолчанию создавались уже с нужными правами файлы, надо umask <Нужные права> прописать в .bash_profile.
 
  • Автор темы
  • Заблокирован
  • #3
так значит все таки можно только не через .htaccess.
а есть разница в какой строчке это писать?
это правильное написание
umask 644
 
Через .bash_profile ты задашь umask только для файлов, которые создает bash, а тебе, как я понимаю, нужны файлы, создаваемые из скрипта.

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

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

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

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

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


PS: еще подводные камни: у некоторых хостеров если файл открыт для записи всем, то его невозможно прочесть из апача. Хотя права на чтение стоят - все равно возвращает ошибку.
 
если ничего не получится - используй во всех пхп скриптах при создании файлов функцию chmod()
 
можно ли как то при помощи .htaccess выставить chmod для файлов по умолчанию. тот который стоит у хостера не устраивает
Если файл заливался на сервер через ftp, то через php с ним ничего не сделаешь (если хостер не криворукий), поменять права можно только через ftp или ssh. Если файл создавался с помощью php, то chmod()
 
всё зависит от способа установки PHP.

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

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

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

PS разрешение system() на mod_php - тоже самое, что одеть мишень себе на спину (если конечно апач не пропатчен).
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху