设置共享开发机器

设置共享开发机器

我有一台包含 10 个用户的服务器。操作系统:Ubuntu 12.04.3 LTS 64 位

这些用户都是开发者(主要是Web开发者: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,您可以这样做。您可以将不同的目录作为 /var/www/ 目录的 webroot 别名。假设您有两个用户 u1 和 u2。

我认为你已经安装了 apace2,如果没有,请安装它sudo apt-get install apache2

我将目录 /home/u1/web 和 /home/u2/web 设为用户 u1 和 u2 的 webroot。

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>

现在,每个用户都可以通过将 Web 浏览器指向 localhost/u1(用户 u1)和 localhost/u2(用户 u2)来访问自己的 Web 根目录

答案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,以便任何用户都无法弄乱其他用户的文件,但保留使用 www-data 组的权限在浏览器中打开其他人的 html 文件的能力。


相关内容