Chrooted SFTP用户 – 即使对于所有者,写入权限也被拒绝

CentOS版本6.5(最后)我创build了一个受限用户test1

useradd -s /bin/false test1 

并configurationssd_config如下

 Subsystem sftp internal-sftp Match User test1 ChrootDirectory %h ForceCommand internal-sftp AllowTcpForwarding no 

定义用户test1的主目录

 usermod -d /usr/local/tomcat/webapps/ROOT 

然后

 chown root:root /usr/local/tomcat/webapps/ROOT chown test1:test1 -R /usr/local/tomcat/webapps/ROOT/* chmod 755 -R /usr/local/tomcat/webapps/ROOT/* 

重新启动sshd并尝试login到sftp

 # sftp test1@localhost Connecting to localhost... test1@localhost's password: sftp> ls -la drwxr-xr-x 9 0 0 4096 Feb 16 08:20 . drwxr-xr-x 9 0 0 4096 Feb 16 08:20 .. drwxr-sr-x 2 500 501 4096 Feb 6 10:37 META-INF drwxr-sr-x 6 500 501 4096 Feb 12 14:07 WEB-INF drwxr-sr-x 2 500 501 4096 Feb 16 08:13 css drwxr-xr-x 2 500 501 4096 Feb 16 08:27 home drwxr-sr-x 3 500 501 4096 Feb 12 14:13 images drwxr-sr-x 2 500 501 4096 Feb 16 00:37 js sftp> mkdir css/test Couldn't create directory: Permission denied 

我已经尝试几乎所有的东西,但仍然不知道为什么目录的所有者没有写权限

我想你需要启用一些selinux布尔,关于一个服务的selinux bools的更多信息,你可以键入你的shell man sftpd_selinux

  [root@worktux ~]# getsebool -a | grep sftp sftpd_anon_write --> off sftpd_enable_homedirs --> off sftpd_full_access --> off sftpd_write_ssh_home --> off 

确切的必须启用是:

 setsebool -P ssh_chroot_rw_homedirs on 

我挣扎了2天之前,我得到了!