我对尝试部署的此设置感到困惑。我希望你们中的某人可以帮我忙:非常感谢。
背景资料
服务器是Debian 6.0,ext3,前端有Apache2 / SSL和Nginx作为反向代理。我需要提供对Apache根目录(/ var / www)的sftp访问,确保sftp用户被chroot到具有RWX权限的路径。
所有这些都无需修改/ var / www中的任何默认权限。
drwxr-xr-x 9 root root 4096 Nov 4 22:46 www
内部/ var / www
-rw-r----- 1 www-data www-data 177 Mar 11 2012 file1
drwxr-x--- 6 www-data www-data 4096 Sep 10 2012 dir1
drwxr-xr-x 7 www-data www-data 4096 Sep 28 2012 dir2
-rw------- 1 root root 19 Apr 6 2012 file2
-rw------- 1 root root 3548528 Sep 28 2012 file3
drwxr-x--- 6 www-data www-data 4096 Aug 22 00:11 dir3
drwxr-x--- 5 www-data www-data 4096 Jul 15 2012 dir4
drwxr-x--- 2 www-data www-data 536576 Nov 24 2012 dir5
drwxr-x--- 2 www-data www-data 4096 Nov 5 00:00 dir6
drwxr-x--- 2 www-data www-data 4096 Nov 4 13:24 dir7
我尝试过的
- 创建了一个新的组secureftp
- 创建了一个新的sftp用户,并使用nologin shell 加入了secureftp和www-data组。Homedir是/
- 用以下命令编辑了sshd_config
Subsystem sftp internal-sftp AllowTcpForwarding no Match Group <secureftp> ChrootDirectory /var/www ForceCommand internal-sftp
我可以使用sftp用户登录,列出文件,但不允许执行写操作。Sftp用户位于www-data组中,但是/ var / www中的权限是该组位的read / read + x,因此...不起作用。
我也尝试过ACL,但是当我将sftp用户的ACL RWX权限应用于/ var / www(递归的目录和文件)时,它也会更改unix权限,这也是我所不希望的。
我在这里可以做什么?
我当时想我可以使用户www-data以sftp身份登录,以便它能够修改www-data在/ var / www中拥有的文件/目录。但是出于某种原因,我认为这在安全方面是愚蠢的举动。