Skip to content

17 Январь 2012

9

Массовое изменение прав

images

Проблемы с правами на файлы и папки возникают у всех новичков в деле веб-разработок, а иногда и не только у новичков. Сегодня я покажу как быстро поменять права на файлы и папки вашего сайта.   :paint:

Немного теории  :!:

Зачем вообще нужна вся эта морока с правами? Почему нельзя дать всему 777 и забыть?

Можно. Только до первого хакера. Если ты стремишься стать действительно хорошим специалистом — нужно соблюдать хотя бы элементарные средства защиты.

Итак, в первую очередь нужно запомнить, что все сайты/папки вашего сайта должны быть доступны на чтение веб-серверу, а некоторые файлы и папки — на запись. Порой приходится давать права на запись всему сайту. Изначально владелец и группа дается сайту в момент создания, поэтому, если вы заливали ваш сайт под рутом, или другим пользователем, изначально владельцем станет этот пользователь! И соответственно владелец/группа веб сервера не получит доступ.

Одна из часто используемых конфигураций: права на папки - 2775, на файлы - 664. Этим права на запись дается владельцу и группе. Кроме того, созданные новые файлы всегда будут получать ту группу, какая стоит у папки, в которой они находятся. За это отвечает бит 2 в правах на папки. Это важно, если с этим файловым пространством (сайтом) работают несколько пользователей.

Практика  :!:

chown -R www-data:www-data /var/www/site
find /var/www/site -type f -exec chmod 664 {} \;
find /var/www/site -type d -exec chmod 2775 {} \;
9 коммент.
  1. Sharm
    17 Апр 2013

    upd.
    Немного исправлений и чуть больше объяснений. И добавлен бит 2 в правах на папки.

  2. Очень интересно, а зачем всем файлам давать разрешение на запись? Например зачем файлам PHP 664, когда нужно 644, чтобы запретить запись хотя бы группе.

    Нужно делать так:
    Переходим в нужную директорию
    cd //var/www/site
    и оттуда выполняем
    find . -type f -name ‘*.txt’ -exec chmod 664 {} \;
    find . -type f -name ‘*.php’ -exec chmod 644 {} \;

    По аналогии под себя уже можете подравить нужные вам права и тип файла.

    • Опечатка в строке cd //var/www/site, лишний слеш, должно быть cd /var/www/site

      P.S. На вашем ресурсе нельзя редактировать записи, это отталкивает от публикаций полезных мыслей.

Трекбэк / Пинг

  1. Ubuntu Linux установка Apache + PHP + Настройка | Sharm Technology
  2. Git post receive auto deployment hook | Sharm Technology
  3. Ubuntu Apache - запуск сайтов от разных пользователей | Sharm Technology
  4. Free Music
  5. FL Studio Beat
  6. New Hip Hop Beats

Обсуждение закрыто.