Centos
Chrooted SFTP 使用者 - 即使所有者也拒絕寫入權限
在**CentOS 版本 6.5(最終版)**上,我創建了一個受限使用者 test1
useradd -s /bin/false test1
並配置 ssd_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 並嘗試登錄 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 bool,有關服務的 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 天!!