Skip to content

17 Апрель 2013

32

Ubuntu Apache: Запуск сайтов от разных пользователей.

apache-process

Внимание! У вас уже должен быть установлен и настроен веб сервер Apache. В противном случае для вас есть другой пост: http://sharm-blog.ru/ubuntu-linux-apache-php.html

Для кого эта статья? В первую очередь для тех, кто хостит много сайтов на Ubuntu сервере, либо просто заботится о безопасности своего сервера. Мы научимся запускать apache из под разных пользователей и правильно настраивать права, для того чтобы полностью изолировать сайты друг от друга. В чем benefit?

  1. Безопасность. Взлом одного из ваших сайтов никогда не приведет к взлому всей системы или других сайтов, стоящих рядом.
  2. Расширяемость. Теперь мы можем отдать права на именно эту папку с сайтом своему web программисту, не открывая других сайтов и тем более всей системы.

:!:  Поехали:

  1. Итак, установим модуль apache, который позволит запускать процессы под разными пользователями, в зависимости от домена.
    apt-get install apache2-mpm-itk
  2. Apache будет запускать наш сайт от нового пользователя. Создадим этого пользователя.
    useradd -d/opt/www/site.ru -s/bin/bash webmaster-site
    passwd webmaster-site
  3. Но скорее всего доступ к сайту необходим будет не только этому пользователю.  Как минимум, если есть nginx — его пользователь тоже должен иметь доступ. Для этого создадим группу. И сразу добавим в нее нашего пользователя.
    groupadd site-group
    usermod -a -Gsite-group webmaster-site
  4. Редактируем конфиг apache от нашего сайта. Ориентировочно должен лежать тут: /etc/apache2/sites-available/site.ru. Добавляем:

    <IfModule mpm_itk_module>
        AssignUserId webmaster-site site-group
    </IfModule>
    php_admin_value open_basedir "/opt/www/letswow.ru:/tmp"
    
    # Можно не давать доступ сайту к /tmp и создать свою tmp для каждого сайта. Но некоторые сайты откажутся работать в такой конфигурации
    # php_admin_value upload_tmp_dir "/opt/www/letswow.ru/tmp"
    # php_admin_value session.save_path "/opt/www/letswow.ru/tmp"
  5. :?: Проследите что у apache пользователь по-умолчанию и не совпадает не с одним из созданным под сайты. Лучше всего ничего не трогать и оставить стандартного пользователя www-data.
  6. Меняем права на папку с сайтом. Подробнее о правах на файлы рассказано тут: http://sharm-blog.ru/web-chmod-chown.html
    chown -R www-data:site-group /opt/www/site.ru;
    find /opt/www/site.ru -type f -exec chmod 664 {} \;
    find /opt/www/site.ru -type d -exec chmod 2775 {} \;
  7. Если используете nginx для записи, или есть другие сервисы/пользователи, которым нужен доступ к сайту на запись — самое время их добавить в группу!
    usermod -a -Gsite-group nginx-user

:!:  А доехали ли?

Ну вот, теперь наши сайты запускаются под разными пользователями, с правами только на свою папку. Самых большой плюс — это безопасность. Один взломанный сайт/шелл не сможет навредить другим сайтам на этом сервере. Кроме того, сегодня мы сделали первый шаг ко второму большому плюсу — распределению доступа. Как дать доступ веб мастеру только к одному из многих сайтов, размещенных на сервере? :!: Читайте в следующей статье! 

32 коммент.
  1. Дмитрий
    29 Июл 2014

    Добрый день! Проделав вышеописанное получаю «You don’t have permission to access / on this server». Подскажите в чем может быть проблема?

    • Мимокрокодил
      3 Июн 2015

      Проверьте права доступа к папкам, в которых находится сайт.

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

  1. Exclusive Music
  2. دوربین مدار بسته پویابین
  3. بهترین مارک دوربین مدار بسته
  4. Free Rap Instrumentals
  5. آموزش نصب دوربین های مدار بسته
  6. Rap Beats
  7. Kodak Black Type Beat
  8. دوربین مدار بسته پویابین
  9. نصب دوربین
  10. http://profil20.no/index.php?option=com_k2&view=itemlist&task=user&id=1253060
  11. نصب دوربین
  12. دوربین مدار بسته پویابین
  13. نصب و اجرای دوربین مداربسته
  14. اجرای دکوراسیون داخلی
  15. نصب دوربین های مدار بسته
  16. نصب و اجرای دوربین مداربسته
  17. فروش دوربین های مدار بسته مخفی
  18. دوربین مدار بسته پویابین
  19. بهترین مارک دوربین مدار بسته
  20. آموزش نصب دوربین های مدار بسته
  21. http://www.frivgirlgames.com/profile/rosenthal25mcclain
  22. نصب و اجرای دوربین مداربسته
  23. فروش دوربین های مدار بسته مخفی
  24. دوربین مدار بسته پویابین
  25. بهترین مارک دوربین مدار بسته
  26. آموزش نصب دوربین های مدار بسته
  27. دوربین مدار بسته ارزان
  28. دوربین های مدار بسته
  29. دوربین مدار بسته ارزان
  30. دوربین های مدار بسته

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