2013-04-08 4 views
1

У меня есть следующий код:пользователь не «никто» при создании каталога PHP

mkdir($thumb_dir) 

, который создает каталог в нужном месте, но при просмотре разрешений это

Owner : nobody 
Group : nobody 

I не имеют доступа к оболочке до chown. Как запретить пользователю назначать как никто, и как мне удалить папку, которую я уже сделал, поскольку у меня нет разрешения.

Это GoDaddy общий сервер ...

+0

И 'chmod()' не работает. правильно? вы пытались создать каталоги с помощью 'exec()' eg 'mkdir -p {} -m {}'? – rinchik

ответ

1

Вы можете удалить пустые каталоги с помощью rmdir().

Никто не является пользователем, выполняющим процесс apache. Вы не можете изменить владельца из php, и вы не можете удалить эту папку с помощью доступа к оболочке (или внести любые изменения в нее) без прав root; вы можете манипулировать им только через php

+0

Спасибо за отзыв. Я использовал выбранный здесь ответ, чтобы удалить каталог и файлы http://stackoverflow.com/questions/3349753/delete-directory-with-files-in-it. Не разрешает мою назначенную проблему с владельцем, но если это невозможно, это хорошая работа. –

+0

ОК, если каталог не пуст, я бы пошел с параметром directoryIterator в этом сообщении, но имейте в виду, что вам нужно 2 прохода, чтобы избежать рекурсии: один для удаления всех файлов и один для rmdir всех папок (например, путем размещения их в массив, реверсив его и удаляя каждый) – periklis

0

Используйте rmdir($thumb_dir);, чтобы удалить его.

Вы не можете изменить своего пользователя PHP на общем сервере.

1

Это происходит потому, что веб-сервер управляется пользователем nobody. Поэтому все, что вы делаете в файловой системе, будет выполнено с привилегиями nobody.

Как правило, вы ничего не можете изменить об этом. Вам придется управлять, если пользователь Apache отличается от пользователя FTP. Если вы создаете каталог с PHP, вы сможете удалить его только с помощью PHP (используя rmdir(), когда каталог пуст), и если вы создадите файлы, вам, скорее всего, придется удалить их и из PHP.

Я предлагаю вам создать структуру своего каталога с вашим FTP-пользователем и сохранить как можно меньше PHP-контента из-за этого.

Вы можете облегчить симптомы, используя разрешительные разрешения (с chmod), но это, как правило, не очень хорошая идея безопасности.

+0

Хотелось бы, чтобы я мог использовать ваше предложение о создании файлов/папок сначала в ftp, но они предназначены для эскизов, сгенерированных php. –

+0

@LetterSticker, возможно, у вас, возможно, есть структура папок. – zneak

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