Настройка общей машины для разработки

Настройка общей машины для разработки

У меня есть серверная машина, на которой работают 10 пользователей. ОС: Ubuntu 12.04.3 LTS 64bit

Эти пользователи — разработчики (в основном веб-разработчики: HTML+JS+PHP+MYSQL)

Я разрешил им удаленный вход в систему через XRDP и VNC.

Теперь все работает нормально, но проблема в /var/www

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

Мне нужно знать, есть ли безопасный способ позволить им делиться исходным кодом и в то же время иметь собственный репозиторий. Я приветствую любые идеи.

решение1

Вы помещаете всех этих пользователей в одну ГРУППУ

usermod -g {group} {user}

Таким образом, все пользователи имеют одинаковые разрешения. Обычно мы используем группу, с которой настроен apache (www-data или apache).

Любые изменения прав доступа к файлу или каталогу в группе изменят их для всех.

В общем случае файлы в /var/www/ могут иметь как минимум 664. А каталоги 775. Никогда не устанавливайте для них 777, но вы можете установить более низкий уровень.

решение2

Другой метод (благодаря вознаграждению :))

Вы можете сделать это таким образом, если не хотите держать всех пользователей в одном webroot. Вы можете создать разные каталоги как псевдонимы webroot для каталога /var/www/. Предположим, у вас есть два пользователя u1 и u2.

Я предполагаю, что вы уже установили apace2, если нет, сделайте это.sudo apt-get install apache2

Я сделаю каталоги /home/u1/web и /home/u2/web корневыми каталогами для пользователей u1 и u2.

sudo chmod 775 home/u1/web
sudo chmod 775 home/u2/web

sudo gedit /etc/apache2/sites-available/default

Создайте псевдоним (добавьте в файл следующее) для пользователя u1:

Alias /u1 /home/u1/web
<Directory /u1>
    Options All
    AllowOverride All
    order allow,deny
    allow from all
</Directory>

Создайте псевдоним (добавьте в файл следующее) для пользователя u2:

Alias /u2 /home/u2/web
<Directory /u1>
    Options All
    AllowOverride All
    order allow,deny
    allow from all
</Directory>

Теперь каждый пользователь может получить доступ к своему корневому веб-каталогу, указав в своем веб-браузере localhost/u1 для пользователя u1 и localhost/u2 для пользователя u2.

решение3

Это можно сделать следующим образом:

  1. создайте каталог внутри /var/www для каждого пользователя
  2. измените владельца каждого каталога на соответствующего пользователя и группу на группу www-data

    sudo chown user1:www-data /var/www/user1

    sudo chown user2:www-data /var/www/user2

  3. Измените права доступа к каждому каталогу на 750, чтобы ни один пользователь не мог вмешиваться в файлы других пользователей, но сохраните возможность открывать html-файлы других пользователей в браузере, используя разрешения группы www-data.


Связанный контент