Мой сайт находится на общем хостинге. Я использую FTP и PHP File Manager для загрузки и удаления файлов. Недавно я нашел файл, который я не смог удалить из-за разрешений, ни в PHPFM, ни в FTP. Поэтому я использовал DirectAdmin (единственный вариант для своего плана), чтобы сбросить все разрешения. Затем я установил все разрешения для всех файлов в public_html и подпапках на рекурсию 777. Я знаю только, что это позволяет мне делать больше, чем любой другой вариант разрешения.
Теперь сайт работает статически, я могу открыть PHP File Manager и не имеет права на загрузку файлов. Однако я могу загружать файлы в DirectAdmin, но это небезопасно. PHP File Manager читает: "Ошибка ввода-вывода". Каталоги выглядят так:
Что означают 1422 и 1420? Что я могу сделать, чтобы снова загружать файлы? Спасибо вам за помощь.
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.