Sftp之ChrootDirectory主目录权限的配置

背景交代:

CentOS6.5搭建SFTP,按照教程配置 + 重启SSHD服务,之后用sftp命令试验登陆,用户名为paymentftp   报错信息如下:

[root@BILLING86 local]# sftp [email protected]

SSH warring: Authorized users only. All activity may be monitored and reported

[email protected]'s password:

packet_write_wait: Connection to 127.0.0.1 port 22: Broken pipe

Connection closed.  

Connection closed

原因:是用户ChrootDirectory配置的主目录权限问题导致,并非网络的原因,需特别注意这两点:

1. ChrootDirectory所指向的文件夹,属主必须是root,属组是sftp用户所属的用户组。

2. ChrootDirectory所指向的文件夹到系统根路径上的所有途径文件夹,属主都必须是root,且权限不允许有群组用户写入权限,即权限只能为750或755,如果任意一个是777,则会出现上述问题。

故以本人配置为例:

用户:paymentftp   用户组:sftp

ChrootDirectory配置:/usr/local/mysftp

则:mysftp文件夹的所有者/组应为:root/sftp   权限是755

       usr  local 三个文件的所有者/组应为:root/root   权限是755


配置可写入的文件夹

使用ftp客户端,以paymentftp用户登陆,可以看到该用户的home文件夹是mysftp,且不能查看向上级目录。

但目前paymentftp用户只能读取mysftp下的文件,没有上传写入的权限(当前配置组用户无写入权限)。

需要在mysftp下新建一个属主为paymentftp的文件夹即可,理论上,按照权限要求,home文件夹下是不允许写入的,只能是新建下级目录才能设置写入权限。

折腾了2小时,收工!

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章