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小時,收工!

 

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