воскресенье, 21 ноября 2010 г.

Автоматическое изменение прав папок и файлов на 755 и 644 из консоли (SSH)

Для безопасной работы joomla(да и вообще всех веб-приложений) необходимо выставить для папок права доступа 755 и для файлов 644. Как это сделать быстро?) Давным-давно я делал это вручную, писал специальные программы. Чуть позже я монтировал ftp в папку и потом менял рекурсивно права доступа(это было долго). Но, чтобы вы не повторяли моих ошибок, метод прост). Как-то я узнал слово SSH. А теперь, начав работать с joomla, решил поделиться с вами. SSH есть практически на любом хостинге. В панели управления можно соединиться с помощью java апплёта. Из linux вы соединяетесь так:
ssh username@hosting.ru . Он спросит пароль и пропустит дальше. Если владеете основным перечнем комманд linux, то можете управлять сайтом прямо оттуда =). И вот мы вошли.
набираем 
Для папок: find /path/to_dir -type d -exec chmod 755 {} \;
Для файлов: find /path/to_dir -type f -exec chmod 644 {} \; 

/path/to_dir - это путь к вашей папке. У меня он был ~/public_html

Информация для новичка:
Если подсоединившись, вы не знаете, что делать, то вам достаточно узнать о коммандах cd и ls. cd позволяет переходить в другой каталог, ls - отображает все файлы и папки в данном каталоге. Т.е. если вы подключились к хостингу, введите    cd ~  Это переведёт вас в вашу домашнюю папку. Далее введите ls вы увидите список папок. Обычно есть папки public_html или www(обычно это просто ссылка на public_html). Теперь вы можете ввести cd public_html и окажетесь в нужной папке. Теперь можно упростить комманды и ввести для папок только find -type d -exec chmod 755{} \; а для файлов find -type f -exec chmod 644 {} \; 
Немного подождав, всё вдруг станет безопасным. Кратенькая добавочка к рецепту от joomla docs

  • Если Joomla нужны будут права для записи/перезаписи, то она скажет об этом сама, подсветив нужные ей папки и файлы КРАСНЫМ цветом с сообщением Недоступно для записи.
Для работы Joomla (полностью настроенного сайта, когда нужные расширения уже установлены) только у нижеуказанных папок могут быть CHMOD 777:
  • administrator/backups/ - chmod 777 иногда требуется для различных компонентов, делающих бэкап базы Joomla.
  • images/
  • images/banners/ - chmod 777, если записываете сюда баннеры с помощью Joomla
  • images/stories/ -
  • Каталог кэша cache/ - папка для записи кэша
  • Каталог сессий - определено в настройках PHP - ДОЛЖЕН БЫТЬ ДОСТУПЕН ДЛЯ ЗАПИСИ
Защитите папку administrator паролем. В большинстве хостинговых панелей это делается за несколько секунд, а нервы здорово сбережет.

1 комментарий: