Ssh

致命:SFTP 中 chroot 目錄組件“/”的所有權或模式錯誤

  • December 11, 2019

我一直在嘗試在 debian 伺服器中配置 sftp。sshd_config:

Subsystem sftp internal-sftp

UsePAM no

Match User sftpUser
ChrootDirectory /users/sftp/sftpUser
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no

目錄:

drwxr-xr-x   3 root      root      4096 Oct 20 10:59 users

drwxr-xr-x   3 root      root      4096 Oct 20 11:00 sftp

drwxr-xr-x   2 root      root      4096 Oct 20 11:00 sftpUser

cat /var/log/auth.log

Oct 20 10:58:22 w1 sshd[24634]: Accepted password for sftpUser from 201.156.103.213 port 34106 ssh2
Oct 20 10:58:22 w1 sshd[24636]: fatal: bad ownership or modes for chroot directory component "/"

sftpUser 沒有家,bin/false並且是使用者組的成員。

在客戶端,我越來越有名Write failed: Broken pipe,然後連接被斷開。在 sshd_config 中註釋ChrootDirectory命令會建立連接,但會讓使用者鬆動。

我究竟做錯了什麼 ?

使用ChrootDirectoryoption insshd_config需要對書面文本有一些基本的了解。

這是來自手冊頁的快照sshd_config(5)

Chroot目錄

指定chroot(2)身份驗證後到的目錄的路徑名。 路徑名的所有組件必須是任何其他使用者或組不可寫的根目錄。在 chroot 之後,sshd(8)將工作目錄更改為使用者的主目錄。

這是您的錯誤日誌:

fatal: bad ownership or modes for chroot directory component "/"

這意味著您需要確保滿足引用中強調的部分:您/需要由 root 擁有並且w只有所有者擁有 acl。

引用自:https://serverfault.com/questions/730305