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 » PHP » Программирование на PHP » Не срабатывает chmod для файла

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

1. dmaw - 02 Июля, 2010 - 16:39:17 - перейти к сообщению

Почему-то не устанавливаются права на файл скриптом, на папку, в которой лежит файл стоят права 777.
2. Uchkuma - 02 Июля, 2010 - 17:05:54 - перейти к сообщению
Такое возможно, если файл был закачан по ftp, а права вы пытаетесь изменить из скрипта. Т.е. другой владелец файла. Меняйте права через ftp менеджер или через файлменеджер cPanel, если у вас виртуальный хостинг.
Кстати, права на чтение, запись и выполнение для всех для файла ставятся 0666.
3. dmaw - 02 Июля, 2010 - 20:17:25 - перейти к сообщению
Uchkuma, спасибо!
Есть ведь функция, которая может поменять владельца файла?
4. Мелкий - 02 Июля, 2010 - 20:32:13 - перейти к сообщению
chown. Но поменять владельца файла может только владелец файла или рут.

Uchkuma пишет:
Кстати, права на чтение, запись и выполнение для всех для файла ставятся 0666.

Нет, это только права на чтение и запись (6 = 110 (бинарные) = rw- (из rwx прав)). Скрипту достаточно только прав на чтение для работы.
5. JustUserR - 03 Июля, 2010 - 01:38:22 - перейти к сообщению
dmaw пишет:
Почему-то не устанавливаются права на файл скриптом, на папку, в которой лежит файл стоят права 777
Права доступа на папку и на находщиеся в ней файлы в общем случае не являются иерархически наследуемыми - например вы можете иметь полный доступ к папке и создавать и удалять в ней любые файлы - но при этом вы можете не иметь права на запись или даже чтение к некоторым ее файлам и тем более не можете изменить их владельца или права доступа
JustUserR пишет:
Обратите внимание что такой подход с разделенными правами на изменение файла и его удаления - а также возможность удаления файла пользователем-владельцем папки не имеющих на него соответствующих прав является оправданным - и на самом деле изменение файла это большая привелегия чем его удаление Дело заключается в системе жестких ссылок в linux - ведь подразумевается что когда вы изменяете файл то есть реализуете права на запись то вы на самом деле изменяете его содержимое - а когда удаляете файл то на самом деле удаляется жесткая ссылка на файл которая привязана к каталогу которым вы владеете Ведь по сути каталог является обычным файлов содержащим индексы находящихся в нем файлов - и манипулирование жесткими ссылками в нем не влияет на данные на которые они ссылаются

 

Powered by ExBB FM 1.0 RC1