Невозможно получить разрешения на загрузку файлов для файлового менеджера PHP

1

Мой сайт находится на общем хостинге. Я использую FTP и PHP File Manager для загрузки и удаления файлов. Недавно я нашел файл, который я не смог удалить из-за разрешений, ни в PHPFM, ни в FTP. Поэтому я использовал DirectAdmin (единственный вариант для своего плана), чтобы сбросить все разрешения. Затем я установил все разрешения для всех файлов в public_html и подпапках на рекурсию 777. Я знаю только, что это позволяет мне делать больше, чем любой другой вариант разрешения.

Теперь сайт работает статически, я могу открыть PHP File Manager и не имеет права на загрузку файлов. Однако я могу загружать файлы в DirectAdmin, но это небезопасно. PHP File Manager читает: "Ошибка ввода-вывода". Каталоги выглядят так:

Изображение 174551

Что означают 1422 и 1420? Что я могу сделать, чтобы снова загружать файлы? Спасибо вам за помощь.

  • 1
    1422 - это ваш linux user_id, а 1420 group_id.
  • 1
    установка 777 и использование сценария файлового менеджера на сервере представляет собой довольно серьезный риск, особенно если для папки установлено разрешение 777 ... где находится ваш файловый менеджер php? Может ли он получить доступ к этой папке с файлами для добавления / изменения / удаления, где он находится?
Показать ещё 8 комментариев
Теги:
permissions

1 ответ

1
Лучший ответ

1422 - это user_id, к которому принадлежит файл, и 1420 принадлежит group_id.

Linux имеет систему разрешений, в которой вы можете предоставить специальные разрешения владельцу, вашей группе и всем остальным.

Разрешение 777 означает, что каждый может читать/записывать/выполнять, ваша группа (1420) может читать/записывать/выполнять, и вы (пользователь 1422) можете читать/записывать/выполнять файл.

Permissions: 
1 is execute file or open directory 
2 is write 
4 is read

Разрешение чтения/записи составляет 2 + 4 = 6, чтение/выполнение (или открытие каталога) - 1 + 4 = 5

Три числа представляют [owner] [group] [all], поэтому установка файла на 644 означает, что пользователь может читать/писать, а все остальные просто читать файл.

Изменить: безопасно установить все файлы на 644 и каталоги до 755. Частные файлы должны быть 600 и исполняемые файлы 755 (файлы PHP НЕ исполняются).

Apache запускается как пользователь apache или httpd, который является другим пользователем, поэтому вы должны дать разрешение "всем" читать ваши PHP файлы и каталоги.

Edit2: если вам требуется PHP для загрузки файлов, это действительно делается как пользователь apache/httpd. Поэтому вам нужно предоставить полные привилегии "всем" для открытия каталогов и чтения/записи 777. Разрешения на доступ к файлам должны быть 666.

  • 0
    Спасибо!! Я установил для файлов значение 644, включая файл php менеджера файлов php, а для папок значение 755, и все еще вижу «Ошибка ввода-вывода», когда пытаюсь загрузить файлы. php.ini недоступен для меня. DirectAdmin работает. Возможно, осталось только дождаться ответа поддержки? ..
  • 0
    Можете ли вы получить объяснение "Ошибка ввода-вывода", ошибка записи, ошибка входа в систему ...
Показать ещё 5 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню