Как правильно выставить права на файлы?


Доброе время суток!

Подскажите, пожалуйста, каким файлам нужно присвоить права 777?

Не могу найти в интернете рекомендаций на этот счет. Пока, я на все файлы ставляю 777, а иначе установщик отказывает устанавливать движеок.
08 сентября 2012, 02:24    Александр Наумов   G+  
1    2988 0

Комментарии (12)

  1. Виталий Батушев 08 сентября 2012, 06:14 # 0
    Папки 755, файлы 644.
    1. Василий Наумкин 08 сентября 2012, 06:59 # 0
      Файлы и деректории должны принадлежать юзеру, от имени которого запускается php для этого сайта.

      Тогда — 755 и 644.

      Если же у вас, например, все принадлежит юзеру ftp, а php работает от www-data, то надо или сменить владельца для файлов, или выставлять 777.

      Почиатйет про права тут — это интересно system-administrators.info/?p=1087
      1. Александр Наумов 13 сентября 2012, 00:43 # 0
        У меня, все принадлежит root, а php работает от www-data.

        Подскажите, пожалуйста, как лучше (безопаснее) поступить в моей ситуации, сменить владельца или выставить 777?
        1. Василий Наумкин 13 сентября 2012, 06:47 # 0
          Безопаснее настроить сервер по этой заметке — bezumkin.ru/blog/2012/06/18/13/

          Запускать все сайты от одного юзера, или ставить 777 — одинаково небезопасно.
          В любом случае это обозначает, что получив доступ к одному сайту, злоумышленник может накуралесить и на остальных.

          Правильнее система: один сайт — один юзер, причем не www-data и не root. И права 755, 644. И отдельный доступ для этих юзеров через sftp, для работы с файлами.
          1. Александр Наумов 13 сентября 2012, 10:34 # 0
            Все понятно. Спасибо!
      2. Василий Наумкин 08 сентября 2012, 07:01 # 0
        Вот скрипт для смены прав — надо настроить директорию и юзера.

        https://gist.github.com/3671478
        1. Valentin Rasulov 13 сентября 2012, 04:39 # 0
          зачем какие-то скрипты?
          просто через ssh

          для директорий
          find /path/to/dir -type d -exec chmod 755 {} \;

          для файлов
          find /path/to/dir -type f -exec chmod 644 {} \;

          если хотите в файлах поменять к примеру только файлы с расширением php, то добавляем -iname

          пример — меняем все php файлы
          find /path/to/dir -type f -iname "*.php" -exec chmod 644 {} \;
          1. Valentin Rasulov 13 сентября 2012, 04:42 # 0
            сори — нужно сначало посмотреть, а потом отвечать :), тоже самое, только в профиль.
            1. Василий Столейков 27 июня 2017, 09:01 # 0
              Где найти скрипт для смены прав? На гитхабе 404
              1. Александр Наумов 28 июня 2017, 10:30 # +2
                #!/bin/bash
                
                dir=/var/www/site
                user=root
                
                echo "Set permissions for $dir...";
                echo "CHOWN files...";
                chown -R $user:$user "$dir";
                echo "CHMOD directories...";
                find "$dir" -type d -exec chmod 0755 '{}' \;
                echo "CHMOD files...";
                find "$dir" -type f -exec chmod 0644 '{}' \;
                
                1. Василий Столейков 28 июня 2017, 10:32 # 0
                  Ок, спасибо!
            2. Александр Наумов 08 сентября 2012, 21:45 # 0
              Спасибо большое!
              Вы должны авторизоваться, чтобы оставлять комментарии.