Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Интересный chmod
Форумы портала PHP.SU » Серверное администрирование » Администрирование *nix » Интересный chmod

Страниц (1): [1]
 

1. DeepVarvar - 22 Августа, 2011 - 12:55:04 - перейти к сообщению
Заливаем по фтп исполняемый файл (755) и папку (777).
Запускаем его, он создает в папке некий файл.
Если этот файл теперь редактировать - нам покажут шиш.
Та оно понятно - апач и пхп выполнялись от другого пользователя.

Однако удалить мы этот файл можем.
Еще однако - по протоколу фтп изменение файла равно его замещению на новый одноименный, с предварительным удалением старого.

Тогда вопрос - почему удаляет, но не редактирует (delete && now put new) ???
2. EuGen - 22 Августа, 2011 - 12:59:25 - перейти к сообщению
Сервер ftp и веб-сервер (apache) случайно не в одной группе (что-то вроде daemon) ?
3. Данил_123 - 22 Августа, 2011 - 13:21:28 - перейти к сообщению
файлам chmod 666
папкам chmod 777
4. DeepVarvar - 22 Августа, 2011 - 13:23:40 - перейти к сообщению
EuGen а вот это я не смогу сказать точно - хостинг как хостинг, но не наш..
И как связана невозможность редактирования и возможность удаления с общей группой?
(Добавление)
Данил_123 сказал как в лужу ******
5. EuGen - 22 Августа, 2011 - 14:52:28 - перейти к сообщению
Если Вы говорите, что удалить+записать через ftp Вам удается (а делает это все тот же FTP) и файл создается через apache, то если они в 1-й группе - можно себе представить, что группе разрешена запись.
А вот если Вы пытаетесь править файл, то делаете Вы это, подозреваю, вручную (скажем, каким-нибудь vi или vim) - от имени уже другого пользователя, который, скорее всего, не имеет отношения к группе ftp и apache. Но это только предположение.
6. DeepVarvar - 22 Августа, 2011 - 15:52:48 - перейти к сообщению
EuGen пишет:
группе разрешена запись
Да, разрешена от того пользователя, который загружал папку с помощью фтп-клиента.
Т.к. этот пользователь и ставил права 777 на папку в которой пхп создает файл.
Но создавая файл пхп ставит интересные права о которых я писал выше.
Если верить фтп-клиенту, то права у созданного файла - 644.
Но сдается мне что это гон какой-то, тогда бы и удалить нельзя было...
7. EuGen - 22 Августа, 2011 - 15:56:18 - перейти к сообщению
Так если php-скрипт создает файл, то права на этот файл и его владелец будет соответственно apache (а никак не тот пользователь, который создавал php-скрипт через ftp)
8. DeepVarvar - 22 Августа, 2011 - 15:57:34 - перейти к сообщению
EuGen это понятно.
Вопрос почему удалить можно, а редактировать нельзя?
9. EuGen - 22 Августа, 2011 - 16:02:59 - перейти к сообщению
Потому что удаляете/создаете через ftp, который в той же группе что и apache а редактируете из-под своего пользователя (это в предположении что действительно имеет место быть такая настройка у хостера - ftp и apache в одной группе)
10. DeepVarvar - 22 Августа, 2011 - 16:53:22 - перейти к сообщению
EuGen пишет:
а редактируете
--- тоже через фтп загрузив файл локально. Как и удаляем через тот же фтп. Т.е. все классически по юзерски, но с приколами вот такими.
11. DeepVarvar - 22 Августа, 2011 - 20:03:26 - перейти к сообщению
Воспроизвел у себя.

1. Создал пользователя test.
2. Создал ему папку /home/test/www , дал рекурсивно 777 и chown test:test.
3. proftpd работает от группы и пользователя deep
4. сервер nginx работает от www-data.

Захожу по ftp как test, загружаю файл, создаю папку, даю ей 777 (иначе скрипт не создаст там файл).
Запускаю скрипт по http, в папке создается файл.
Снова захожу по ftp, файл спокойно удаляется.
Снова запускаю скрипт по http, в папке снова создается файл.
Опять захожу по ftp, открываю файл для редактирования - нет прав для изменения содержимого файла.
Удаляется на ура...

 

Powered by ExBB FM 1.0 RC1