我有一个EasySCPpipe理面板的Debian Squeeze服务器。 此面板在/var/www/virtual/domain.name设置域文件夹
每个域的唯一标识为vu2000 , vu2001 …域文件夹下的文件的所有权为vu2000:vu2000 domain1上的vu2001:vu2001 ,域vu2001:vu2001上的vu2001:vu2001等。 一切工作很好(Apache,根访问等)。
我需要一个非根SSH / SCP用户,他们可以在/var/www/virtual (复制,创build文件等)下读写所有域文件夹(recursion地)。 只有root才能做到这一点,我不想因为很多安全风险而给别人root权限。
我必须为用户设置哪个组才能访问和更改域文件夹中的文件? 使用www-data组,该用户可以读取,但不能写入。 我如何设置?
您可以使用setacl命令使用ACL
suku@ubuntu-vm:~$ ls -ld /test drwxrwxr-x+ 2 root root 4096 Jan 4 20:55 /test suku@ubuntu-vm:~$ sudo setfacl --recursive -mu:test:rwx /test suku@ubuntu-vm:/test$ getfacl /test getfacl: Removing leading '/' from absolute path names # file: test # owner: root # group: root user::rwx user:test:rwx group::rx mask::rwx other::rx suku@ubuntu-vm:~$ sudo su - test test@ubuntu-vm:~$ touch /test/a test@ubuntu-vm:~$ ls -l /test/ total 0 -rw-rw-r-- 1 test test 0 Jan 4 20:58 a
手册页: http : //manpages.ubuntu.com/manpages/gutsy/man1/setfacl.1.html
如果你没有setfacl命令,你可以在Ubuntu下使用下面的命令安装它:
sudo apt-get install acl