我有一个运行 Ubuntu Server 14.04 的 VPS。
以下是我的目录结构的选择:
/
home/
my_user/
var/
www/
wp-content/
themes/
my-theme/
my-theme-child/
目录的权限为 755,文件的权限为 644。
假设我雇用了一名开发人员my_user
,为我开发一个主题。我希望他们能够对其主文件夹进行任何操作。我还希望他们能够读取my-theme
和写入my-theme-child
,但仅此而已。他们甚至不应该能够看到服务器任何其他部分的目录结构。
我读了一些资料,觉得chroot
监狱可以很好地将我的开发人员保留在他们的主目录中,但我不知道如何授予他们访问权限,my-theme
并my-theme-child
补充他们当前的访问权限。
我怎样才能实现这个目标?
答案1
这可能不太适合您的需求,但我做了类似的事情,以便让朋友向我发送文件。假设您已设置 SFTP jail,您可以执行以下操作:
1) 为这个 chrooted myuser 创建一个主目录。我这样做了mkdir /var/sftproot
2)用户主目录应归 root 所有:chown root:root /var/ftproot
3) mkdir /var/ftproot/dump
(chroot jail 内) 和/var/dumpstuff
(jail 外)
4)chown -R myuser:users /var/ftproot/dump
并且chown -R myuser:users /var/dumpstuff
(如果你想让用户拥有它)
4)mount --bind /var/ftproot/stuff/ /var/dumpstuff/
/var/sftproot 不可由 myuser 写入,但其中的子目录可由 myuser 写入。这可能限制他们使用 sftp;无 shell 访问权限。
你没有说你是否希望这个开发人员拥有 shell 访问权限,但既然他是开发人员,也许你会这么做。为此,请考虑ssh 和监狱(这是针对 Arch 的,但类似的事情可能在 Ubuntu 上也是可能的 - 我没有测试过)。