2014-01-12 3 views
1

У меня есть сценарий загрузки, который загружает zip-файл в каталог на моем веб-сайте, затем распаковывает файл и создает каталог для каждого загруженного файла.как правильно загрузить загруженный файл

drwxrwxrwx 7 Fabulous admin 238 12 Jan 18:20 . 
drwxrwxrwx 39 Fabulous admin 1326 12 Jan 12:28 .. 
[email protected] 1 Fabulous admin 15364 12 Jan 18:21 .DS_Store 
drwxr-xr-x 4 nobody admin 136 12 Jan 18:20 2012_06 
drwxr-xr-x 4 nobody admin 136 12 Jan 18:20 2012_07 
-rwxr--r-- 1 Fabulous admin 2904 31 Oct 16:11 index.php 

У меня есть другой сценарий PHP, который работает который копирует файлы в каталогах 2012_06 и 2012_07, которые где созданы сценарии загрузки. В браузере все прекрасно работает. Однако я пытаюсь автоматизировать процесс через командную строку, используя командную строку unix для вызова сценариев.

Проблема это скрипт работает, если я сменить владельца каталогов для Fabulous с помощью следующих команд

cd upload 

sudo chown -R Fabulous:admin . 

Однако, когда я делаю это, то мой сценарий загрузки index.php больше не имеет разрешения на доступ не загружать файлы в каталог загрузки, если я не изменю собственность никому.

Сообщение об ошибке

Предупреждение: переименование (/htdocs/data_vis/upload/2012_06/Audit_Log.csv,htdocs/data_vis/data_out/2012_06_Audit_Log.csv): Разрешение отказано в /HTDOCS/data_vis/rename_files_in_sdir_with_sdir_name_prefix.php на линии 27

Любые предложения/советы или исправления на то, что я должен делать или правильный способ решить эту проблему с помощью permissioning или любым другим способом приветствуются. Заранее спасибо.

ответ

0

Либо добавить их обоих к группе или иметь файл, принадлежащий никому и группе принадлежит Fabulous вам не нужно быть администратор, администратор может получить доступ все равно

самый простой путь убедиться, группа остается тем же использует липкие биты

если/путь/к/реж принадлежит правильной группе

chmod g+s /path/to/dir

сделает это так, все новые папки в /path/to/dir, например /path/to/dir/1 принадлежат одной и той же группе, как /path/to/dir вместо группы пользователей по умолчанию

https://superuser.com/questions/102253/how-to-make-files-created-in-a-directory-owned-by-directory-group

Тогда как ваш веб-приложение должно быть в порядке и ваш хрон сценарий без необходимости модифицировать код

+0

Можете ли вы привести мне пример? –

+0

Какой у вас доступ к серверу? – exussum

+0

У меня есть доступ к корню. –

0

Я использовал следующее, чтобы изменить право собственности на файлы в каталоге, чтобы другие скрипты могли использовать файлы.

<?php 

// File name and username to use 
$file_name= "foo.php"; 
$path = "/home/sites/php.net/public_html/sandbox/" . $file_name ; 
$user_name = "fred"; 

// Set the user 
chown($path, $user_name); 

// Check the result 
$stat = stat($path); 
print_r(posix_getpwuid($stat['uid'])); 

?> 
Смежные вопросы