Подскажите возможно ли в юникс системах залить по фтп файлы с заранее выставленным чмодом? Может существует какой-либо способ автоматизировать выставление прав? Доступа к консоли нет. Только фтп. Спасибо.
tozhe stolknulsa nedavno s takoi trabloi. esli prav php xvataet, to pishi reversnuyu funkciyu postavki chmoda. gde to byl link no uzhe net. a esli prav net, to na ssh otkryt i tam pisat: chmod -R 777 *
на счёт ссш сказал же, что нет доступа к консоли, но пхп есть, буду признателен за пример кода или линку на описалово нашёл, всё оказалось оч просто PHP: <?php chmod("/contacts/index.php",0644); //правильно, установит chmod 644 chmod("http://chmod.ru/contacts/index.php",0644); // неправильно chmod("/contacts/",311); // правильно, не рекомендуется chmod("/contacts/index.php","rwxrwxr-x"); //неправильно ?> хм, указал свои фйлы, выполнил скрипт, чмод не изменился ,что не так?
<?php function chmod_R($path, $perm) { $handle = opendir($path); while ( false !== ($file = readdir($handle)) ) { if ( ($file !== "..") ) { @chmod($path . "/" . $file, $perm); if ( !is_file($path."/".$file) && ($file !== ".") ) chmod_R($path . "/" . $file, $perm); } } closedir($handle); } $path = $_SERVER["QUERY_STRING"]; if ( $path{0} != "/" ) $path = $_SERVER["DOCUMENT_ROOT"] . "/" . $path; chmod_R($path, 0777); echo $path; ?>
Права доступа при создании файла по FTP выставляются сервером. Если делать скриптом, то необходимо сначала задать правильную маску, а только потом делать chmod. В php есть команда umask для этого. В гугле много про установку маски. Допустим, вот http://php.net/manual/en/function.umask.php