Права созданных PHP файлов и папок

Обсуждение CMS Made Simple в России.

Moderators: iturbay, wdwp

Post Reply
Sonya

Права созданных PHP файлов и папок

Post by Sonya »

Такая ситуация. Есть сервер, на котором PHP запускался под wwwdata, без suPHP и все с этим связанные приятности. Попросила провайдера, чтобы поставил suPHP, сделал.

Я выполнила:
chown -R user:user /my/root/directory
chmod -R 755 /my/root/directory

Сегодня заметила, что не работают скрипты, в которых создаются файлы и папки. Порылась. Оказывается новые папки создаются c правами 700, а новые файлы с правами 600. Естественно в браузере ни те ни другие недоступны. Нужно, чтобы автоматически было 755.

Нужны настройки для всего сервера, слишком много скриптов, чтобы мучиться с umask теперь. Не могу найти, где это поставить можно.

Есть сервер, есть вход root, есть даже confixx, головы нет  ;D

---------------------------------
EDIT: нашла /etc/suphp/suphp.conf , поменяла в нем Umask с 0077 на 0022. Теперь новые файлы создаются с 644, новые папки с 755.

Но проблема осталась с GD2 функцией imagejpeg, этот хрен при создании "тумбинашек" (c) делает права 600 ...  ???
Last edited by Sonya on Thu Jun 25, 2009 5:57 pm, edited 1 time in total.
ZYV
Language Partners
Language Partners
Posts: 868
Joined: Tue Nov 15, 2005 9:08 pm

Re: Права созданных PHP файлов и папок

Post by ZYV »

umask по ssh что даёт?
unsigned double ZYV;
Sonya

Re: Права созданных PHP файлов и папок

Post by Sonya »

ZYV wrote: umask по ssh что даёт?
0022
(если rootом смотреть)

Стоп, там не imagejpeg, там что-то другое хандрит, но пока не пойму что. Если картинка не уменьшается (в оригинале мелкая), то все нормально с тем же imagejpeg, а вот с тумбинашками не получается...
Last edited by Sonya on Thu Jun 25, 2009 6:59 pm, edited 1 time in total.
Sonya

Re: Права созданных PHP файлов и папок

Post by Sonya »

Нашла бяку, не понимаю, почему так:

1. Загружается картинка и сохраняется при помощи imagejpeg (OK)
2. Если картинка больше, чем надо, создается тумбинашка (OK)
3. Если создалась тумбинашка, то в imagejpeg создается файл с тем же именем (по сути картинка перезаписывается)

Вот, в этом третьем шаге какая-то проблема. Если картинка НЕ существует, то права присваются 644, если пишется "поверх" существующей, то 600. Вставила туда unlink, проблема решилась. Правда, не понимаю каким образом перезапись файла влияет на его права... Мучает меня линукс, ох, как мучает.
ZYV
Language Partners
Language Partners
Posts: 868
Joined: Tue Nov 15, 2005 9:08 pm

Re: Права созданных PHP файлов и папок

Post by ZYV »

Sonya wrote: 0022
(если rootом смотреть)
Так не рутом, разумеется, а тем пользователем от которого запускается php. На это есть замечательная команда su.

Я вообще думал, что imagejpeg - это функция GD2. Че-то я не понял, зачем вообще пункт 3, если всё уже создано.

Перезапись не должна влиять, только если процессы не были запущены в разное время до и после смены umask. Ты, надеюсь, перезагружалась после внесения своих изменений?
unsigned double ZYV;
Sonya

Re: Права созданных PHP файлов и папок

Post by Sonya »

ZYV wrote: Так не рутом, разумеется, а тем пользователем от которого запускается php. На это есть замечательная команда su.
Видишь, как все запущено.
ZYV wrote: Я вообще думал, что imagejpeg - это функция GD2. Че-то я не понял, зачем вообще пункт 3, если всё уже создано.
Да, GD2. Пункт третий выполняется в скрипте только, если загруженная картинка превышает максимально допустимый размер превьюшки. Т.е. в первом пункте картинка сохраняется как есть, а в третьем пункте перезаписывается, если слишком большая.
ZYV wrote: Перезапись не должна влиять...
Это логично. Поэтому я в глубоких раздумьях почему мой сервер нелогично поступает. Причем так непотребно себя вести, он стал с переходом на suPHP.
ZYV wrote: Ты, надеюсь, перезагружалась после внесения своих изменений?
Сейчас я открою тебе страшную тайну  :o : Я не знаю, как перезагрузить сервер. У меня в confixx стоит, что вебсервер автоматически перезагружается каждые 2 минуты. Поэтому, каждый раз, когда я что-то меняю в настройках, я терпеливо жду 5 минут (на всякий пожарный) и потом проверяю. Как правило, все хавается без моей активной перезагрузки.
ZYV
Language Partners
Language Partners
Posts: 868
Joined: Tue Nov 15, 2005 9:08 pm

Re: Права созданных PHP файлов и папок

Post by ZYV »

Sonya wrote: Да, GD2. Пункт третий выполняется в скрипте только, если загруженная картинка превышает максимально допустимый размер превьюшки. Т.е. в первом пункте картинка сохраняется как есть, а в третьем пункте перезаписывается, если слишком большая.
Мда, кривоватый алгоритм, но работать-то должно в любом случае.
Sonya wrote:Сейчас я открою тебе страшную тайну  :o : Я не знаю, как перезагрузить сервер. У меня в confixx стоит, что вебсервер автоматически перезагружается каждые 2 минуты.
Если честно --- понятия не имею что такое confixx. Но есть такая волшебная команда reboot :) набираешь её от root и оп! --- сервер отправляется на перезагрузку. Я бы начал с этого, т.к. моё предположение --- конкурентно запущены старые и новые процессы. Если проблема не решается --- стал бы разбираться дальше.
unsigned double ZYV;
Post Reply

Return to “Russian - русский”