Существует несколько потенциальных причин проблем с разрешениями файлов и папок на хостинге Linux.
1. Права доступа к файлам и папкам
Убедитесь, что для разрешений для папок задано значение 0755, а для разрешений для файлов установлено значение 0644. Обратите внимание, что разрешения для файлов и папок можно сбросить до этих стандартных параметров безопасности для всего сайта с помощью бесплатной или платной версии Akeeba Admin Tools.
2. Параметры PHP
Проверьте, что параметр upload_max_filesize на вкладке Информация о PHP в Системной информации является достаточным. Вы часто можете переопределить настройки по умолчанию в среде общего хостинга через настройки PHP в cPanel или в пользовательском php.ini
файле.
3. Неправильные пути в файле configuration.php
Возможно, вы указали неверные пути для папок tmp и logs. Они указаны в Конфигурации системы или могут быть обновлены непосредственно в файле configuration.php, если вам удобно редактировать системные файлы напрямую. Если вы не знаете, каким должен быть путь, создайте и загрузите файл whereami.php
(или аналогичный) в корневую папку вашего сайта со следующим содержимым:
<?php
print 'Current folder is ' . dirname(__FILE__);
?>
Найдите, чтобы [mywebsite].com/whereami.php
увидеть путь к корневой папке.
Как только у вас будет правильный путь, не забудьте удалить whereami.php
файл.
4. Неподходящий PHP File Handler
Ваш веб-хостинг может быть сконфигурирован с обработчиком файлов PHP по умолчанию, но в идеале он должен использовать suPHP или FastCGI или аналогичный, чтобы Joomla могла загружать и выполнять файлы с использованием безопасных файловых разрешений.
Вы можете увидеть, какой обработчик PHP используется System -> System Information -> WebServer to PHP Interface
.
Хорошая статья об относительных достоинствах обработчиков файлов PHP находится по адресу: http://boomshadow.net/tech/php-handlers.
В среде общего хостинга у вас обычно нет доступа к изменению того, какой обработчик PHP-файлов включен, но ваша веб-хостинговая компания может изменить это для вас.
Иногда в качестве обходного пути права доступа к файлам и папкам изменяются на 0777, но это переводит ваш веб-сайт в уязвимое состояние, и в целом следует избегать разрешений для файлов 0777.
Если ваша веб-хостинговая компания не может включить suPHP или FastCGI, единственным другим вариантом может быть поиск новой веб-хостинговой компании.
5. Дисковое пространство
Убедитесь, что вы не превысили квоту дискового пространства.
УСТРАНЕНИЕ НЕИСПРАВНОСТЕЙ
Каковы рекомендуемые рекомендации по настройке разрешений и владельцев в Joomla в системах Linux?
Смотрите 1 и 4.
Невозможность передачи файлов на сервер с помощью таких программ, как WinSCP.
Смотрите 1, 2, возможно 4 и 5.
Невозможно установить расширения Joomla, плагины и т. Д.
Смотрите 1, 2, 3, 4 и 5.
Небезопасные файлы и папки из-за опасных прав доступа и настроек владельца.
Смотрите 1 и 4.
Пожалуйста, проверьте уровни разрешений, это должно быть 644 и 755 для файлов и папок соответственно.
Во многих случаях уровни разрешений просто хороши, даже когда возникают некоторые проблемы. Это означает, что вам нужно будет проверить владельца и группу конкретных файлов и папок . Обычно группу и владельца можно изменить на www-data для apache (используется в веб-серверах на основе Ubuntu).
Не стесняйтесь проверить этот интересный документ Joomla на основе проверки прав доступа к файлам.
источник
Простое решение для меня - часто разрешать PHP работать в режиме (Fast-) CGI и устанавливать право собственности на каталог Joomla для пользователя FTP. Таким образом, вы сможете загружать и перезаписывать файлы через FTP, а Joomla также сможет записывать файлы.
Способ сделать это в среде общего хостинга (если это разрешено), это добавить что-то вроде этого в ваш файл .htaccess:
Также см. Обзор о различных режимах .
источник
Разрешения должны быть 644 и 755, как объяснил Shyam.
В Joomla вы можете избежать всех проблем, которые вы упомянули, с помощью следующих методов.
Невозможность передачи файлов на сервер с помощью таких программ, как WinSCP.
configuration.php
это разрешение не разрешено по умолчанию (в целях безопасности).Невозможно установить расширения Joomla, плагины и т. Д.
Это произойдет из-за
temp/log
неправильного разрешения папки (требуется 755).Или другая причина в том, что
temp/log
путь неверен вconfiguration.php
Небезопасные файлы и папки из-за опасных прав доступа и настроек владельца.
Надеюсь, это помогает ..
источник
Разрешения должны быть 644 и 755, как объяснил Shyam.
Проблемы, с которыми вы сталкиваетесь, скорее всего, связаны с настройкой вашего сервера. В большинстве случаев это происходит на общих хостах, где Apache работает под другим пользователем, нежели ваша учетная запись FTP. Поскольку вы обычно загружаете Joomla с использованием FTP, Apache не является владельцем файла и, следовательно, не имеет необходимых прав для его изменения.
В Joomla есть режим FTP, который позволяет обойти эту проблему. Вы можете включить его в глобальной конфигурации Joomla. Затем он будет осуществлять доступ ко всем файлам, используя пользователя FTP вместо обычного пользователя Apache.
Однако лучший способ - попросить своего хозяина решить проблему. Они могут настроить PHP (Apache) для работы под специальным пользователем, который в таком случае должен быть вашим пользователем FTP. Тогда все будет работать нормально.
источник
Да, разрешения должны быть 644 и 755, как объяснил Shyam , но другие авторы забывают упомянуть, что это если файл принадлежит вашему веб-серверу, а группа - это группа, к которой вы принадлежите.
Например, в FileZilla вы увидите разрешения примерно так:
Права доступа drwxr-xr-x равны 755 (просто игнорируйте ведущего dr, так что это wxr-xr-x). Разрешения на чтение стоят 4, Разрешения на запись - 2, а разрешения на выполнение - 1 ... поэтому их все можно добавить до 7, и это то, что есть у владельца этого файла. Группа имеет разрешения на чтение и выполнение, но не на запись, поэтому у них есть 5, и у каждого также есть 5 .. делая разрешения 755.
754 были бы владельцы, читающие, пишущие, исполняющие. Группа, прочитавшая и выполнившая, и все, имеющие только права на чтение.
В приведенном выше примере вы можете видеть, что владельцем файла является www-data (которая является группой веб-серверов по умолчанию для многих серверов Apache), а Group - это группа myGroup, которой является группа (администраторы), к которой я принадлежу.
Первое число - это права владельцев, второе - права групп, а третье - права всех. Очевидно, что вы должны быть осторожны, чтобы дать веб-серверу необходимые разрешения и убедиться, что файлы, которые должны быть заблокированы, не могут быть записаны или выполнены кем-либо (третье число). Ниже приведены значения цифр:
Предполагая, что файлы принадлежат веб-серверу, ваш админ находится в группе, и, конечно, каждый третий номер.
644: Файлы с разрешениями, установленными на 644, доступны для чтения всем и доступны для записи только владельцу файла / папки.
755. Файлы с разрешением 755 доступны для чтения и исполнения всем, но доступны только для записи владельцу файла / папки.
777: Файлы с разрешениями, установленными на 777, доступны для чтения, записи и выполнения всеми. Не используйте этот набор разрешений, из соображений безопасности, на вашем веб-сервере, за исключением случаев, когда это абсолютно необходимо, и только временно. Это катастрофа, ожидающая того, что произойдет, особенно если каталог имеет такие разрешения ... это означает, что любой может загрузить файлы и выполнить их.
Вот команды Linux для настройки Joomla! рекомендуемые разрешения из командной строки. Рекомендуемые разрешения для файлов Joomla
ПРИМЕЧАНИЕ - многие люди будут показывать вам эти команды без пути, но я предпочитаю ВСЕГДА использовать полный путь, потому что если вы забудете сменить каталоги на корневой Joomla! установив каталог и запустив их без пути, вы просто изменили разрешения для каждого файла и каталога в этом верхнем каталоге и создали огромный беспорядок.
После выполнения этих команд вам нужно будет исправить разрешения для любых каталогов, которым требуются дополнительные разрешения ... например ... пользователи, загружающие изображения и т. Д.
ЕСЛИ ВЫ ИСПОЛЬЗУЕТЕ ТОЛЬКО JOOMLA! интерфейс, и у вас нет доступа администратора или FTP к серверу, а затем используйте владение и разрешения выше.
ОСТАНОВИТЕСЬ ЗДЕСЬ, ЕСЛИ ВЫ НОВИНКА .. Ниже приведены только для людей, которые действительно понимают, что делают разрешения и права собственности.
Тем не менее, я считаю, что владение и права доступа очень неудобны, потому что мне нравится использовать FileZilla и командную строку терминала в большинстве случаев, и я загружаю много файлов вручную. Но я не могу перезаписать какие-либо файлы, потому что не владею ими и у меня нет прав на запись. Я мог бы войти в FileZilla под учетной записью веб-сервера, НО ... Я хочу, чтобы FileZilla входил под моей учетной записью, чтобы я мог просматривать и другие каталоги, а не только файлы, к которым веб-сервер имеет доступ ... ТАК ... Я меняю владельца и разрешения на это:
Я делаю себя владельцем и помещаю веб-сервер в группу ... и меняю разрешения для каталогов на 775, а для файлов - на 664. Облегчает мою жизнь ... но я не рекомендую это для все.
Если вы делаете это по-моему, это команды:
источник
Другие ответы дают хорошее объяснение того, что должно быть сделано, я только хочу добавить скрипт для исправления разрешений, если вы уже загрузили компонент и не можете получить доступ к файлам с помощью ftp.
В этом случае я загружаю этот файл как
fix.php
на FTP-сервер и открываю его в браузере:http://example.com/fix.php
Этот сценарий устанавливает для всех прав доступа к файлу 666, а для всех каталогов - 777. Доступность для записи в мире - не лучший набор разрешений для общего хоста, но вы сможете снова получить доступ к своим файлам и затем установить для него правильные значения с помощью FTP.
источник
Поздно на вечеринку. Я приехал сюда в поисках, а также в других местах, чтобы получить исчерпывающее руководство о том, какие папки должны быть записаны для joomla.
Извините, что я предвестник плохих новостей.
Совет использовать разрешения 755 для всех каталогов и 644 для всех папок по меньшей мере безответственен .
Сделать владельцем всех ваших папок и файлов доступным для записи хорошо, если владелец не является веб-сервером (apache et al).
Я знаю, что это обычная рекомендуемая практика, но я могу заверить вас, что это не очень хорошая практика. Последним программным обеспечением, которое вы хотите дать возможность писать в папки, является сам веб-сервер. Это веб-сервер, который используется хакерами для того, чтобы воспользоваться этой уязвимостью, которая еще не была исправлена (или даже найдена).
Как вы думаете, .htaccess спасет вашего Кевина? Забудьте об этом, потому что вы разрешили веб-серверу доступ для записи, наши дорогие друзья-хакеры могут создавать свои собственные файлы .htaccess, предоставляя им любые разрешения, которые они хотят! как О, я не знаю, Umm сделать файлы .jpg, исполняемые сервером. И вы думали, что защита от выполнения .php покроет ваш А.
Но убедитесь, что только папки, требующие доступа для записи, действительно имеют его. 755 и 644 для следующих папок.
И убедитесь, что вы отключили файлы .htaccess с AllowOveride none для всех доступных для записи папок (как показано выше)
Для тех из вас, кто пользуется виртуальным хостингом, удачи, так как это элемент конфигурации, который вы не можете контролировать.
Не думайте, что создание файла .htaccess только для чтения поможет. Если наши друзья-хакеры могут создать новую папку (они могут), они могут создать свой собственный .htaccess.
Для тех из вас, кто использует общий хостинг для всего святого, пожалуйста, получите ключ к безопасности.
Если вы не понимаете безопасность, пожалуйста, выходите из хостинг-бизнеса, вы делаете это жестко для остальных из нас.
Теперь вернемся к моему поиску полного руководства по папкам, нуждающимся в праве записи ...
источник