| |
|
|
| | Здравствуйте.
У меня такая проблема: меняю права на директорию cuteftp, но это действие не затрагивает поддиректории и файлы.
Попытка использовать функцию также окончилась провалом:
<?
function dirchmod($catalog)
{
$dir = opendir($catalog);
while(($file = readdir($dir)))
{
if(is_file($catalog."/".$file)) chmod($catalog."/".$file, 0777);
else if (is_dir($catalog."/".$file) &&
($file != ".") &&
($file != "..")) { chmod($catalog."/".$file, 0777); dirchmod($catalog."/".$file); }
}
closedir($dir);
}
?>
|
Как же поменять права на директорию и ее содержимое?
Заранее спасибо. | |
| |
|
|
| |
|
|
| |
для: antf
(16.03.2007 в 04:00)
| | | А у скрипта на данный момент есть права писать в каталог? | |
| |
|
|
| |
|
|
| |
для: Trianon
(16.03.2007 в 09:46)
| | | А как это проверить? | |
| |
|
|
| |
|
|
| |
для: antf
(18.03.2007 в 18:38)
| | | получить идентификаторы getmyuid(), getmygid(), posix_getgrgid()
и поглядеть от имени кого исполняется скрипт. | |
| |
|
|
| |
|
|
| |
для: Trianon
(18.03.2007 в 20:16)
| | | Первые две функции выдают пятизначные цифры. Третья выдает false. Подскажите, пожалуйста, как сделать так, чтобы index.php мог менять права на все файлы и кателоги сайта. Получается комичная ситуация у меня скрипты создают файлы , с которыми даже ftp-клиент ничего не может поделать (например пользователь загрузил аватар, а поменять его уже не может даже через cuteftp). | |
| |
|
|
| |
|
|
| |
для: antf
(18.03.2007 в 21:07)
| | | Вот такое сообщение вылезает при попытке войти в директорию 11 | |
| |
|
|
| |
|
|
| |
для: antf
(18.03.2007 в 21:07)
| | | Это всего лишь означает, что пользователь, зарегистрировавший ftp-сеанс, и пользователь, от имени которого исполняется php-процесс - разные пользователи. И единственной схемой наделения скрипта правами менять файлы и каталоги может быть схема, при которой права даются не владельцу файла, не группе файла, а всем остальным - это последние три бита в маске chmode.
Как менять права конкретно в cuteFTP я не подскажу - работал с ним больше 10 лет назад.
Но в любом приличном клиенте есть возможность посмотреть и маску прав и группу и владельца файла. И поменять, конечно. В cuteFTP - однозначно есть, благо клиент солидный. | |
| |
|
|
| |
|
|
| |
для: Trianon
(18.03.2007 в 21:27)
| | | Оказывается файлами, которые были созданые скриптами, владеет веб-сервер, а файлы, загруженные через фтп, фтп-пользователя. Неудобно, если я захочу удалить первую группу файлов через фтп-клиент. Впервые сталкиваюсь с таким неудобством.
Еще одна проблема состоит в том, что cute ftp меняет права на директорию, а на поддиректории и вложенные файлы это действие не распространяется... Может у меня там 500 вложенных директорий с 500000 файлами. | |
| |
|
|
| |
|
|
| |
для: antf
(19.03.2007 в 17:39)
| | | Рекурсивно можно спуститься по дереву каталогов скриптом или, если вам доступна системная команда chown использовать ключ -r (в FTP это, к сожалению, не доступно). | |
| |
|
|
| |
|
|
| |
для: cheops
(20.03.2007 в 02:59)
| | | Протокол ftp вроде как дает фозможность выполнять одиночные команды? Почему недоступно? | |
| |
|
|
| |
|
|
| |
для: Trianon
(20.03.2007 в 10:08)
| | | Могу ошибаться, но помоему не все FTP-сервера поддерживают такие расширенные команды. Большинство FTP-клиентов даже не пытается предоставлять рекурсивные возможности по смене прав доступа. | |
| |
|
|