我如何pipe理多个用户在我的服务器上编辑相同的代码的权限?

我有一个服务器,几个不同的编码器将用于在各种网站上工作。 每个编码器都需要访问每个网站。

有两个“干净”的方法,我想出来做这个,但我宁愿避免它们…

  1. 每个网站都被赋予它自己的用户/组。 该网站将存储在/ home / username / www /,我将使用Apache的suEXEC在用户/虚拟主机之间切换。

  2. 我在每个编码器用来login的系统上创build一个用户/组。 网站然后可以存储在/var/www/website.com/和Apache将作为该用户运行有读/写访问的文件

第一点显而易见的安全好处是每个网站都是沙箱。 如果一个网站遭到入侵,其他网站应该是安全的。 这种方法的缺点是每个编码器都要记住多个用户名/密码。

点2意味着每个编码器有一个login(相同的login…),并没有混乱(主机上的50个网站是指50个新用户/组)

我的理想设置是给每个编码器自己的用户/组。 这将给他们自己的〜文件夹来存储他们的东西,如果我需要撤销编码器的访问,我只是简单地禁用他们的login。 这不得不改变每个网站/编码器帐户的密码。

我不能依赖版本控制系统的原因是它很less被使用。 这个主机上的很多网站将使用Joomla / WordPress /等。

所以我基本上寻求一种干净和安全的方式,让多个编码人员在一个主机上的多个共享网站上工作。 你有什么build议?

允许多人编辑生产代码是要求一个受到伤害的世界。 使用版本控制并仅部署标记的构build。

如何部署构build并不像跟踪更改和退出一样重要。

虽然我同意版本控制是一个很好的select ,但是您可以通过执行以下操作(再次特别注意版本控制列出的问题)来实现您的要求。

所以这里是你的问题的答案

创build两个用户,并给他们相同的组ID

#groupadd -g 5000 programmers #useradd ren #useradd stimpy 

编辑你的/ etc / passwd文件并改变你的两个用户的guid:

  ren:x:505:5000::/home/ren:/bin/bash stimpy:x:506:5000::/home/stimpy:/bin/bash 

接下来,更改这些用户的umask,以便他们用rw为组编程人员创build所有文件

  #vi /home/ren/.bash_profile umask 002 

现在,让每个用户看到他们可以同时编辑相同的文件:

  #su - ren #vi /path/to/file.txt here's some content in the file #exit #su - stimpy #vi /path/to/file.txt append some more content 

你会发现当ren创build文件时,所有者是ren:rw-rw-r的程序员。 这将使stimpy也编辑文件。 您还可以跟踪最初创build文件的方式(而不是编辑者)。