我创建了一个名为 sftp 的 sftp 用户,其规则如下:
Match User xxx-ftp
ForceCommand internal-sftp
PasswordAuthentication yes
ChrootDirectory /home/xxx-ftp
PermitTunnel no
AllowAgentForwarding no
AllowTcpForwarding no
X11Forwarding no
当我尝试 ssh 时,出现错误(在 /var/log/auth.log):
致命错误:chroot 目录组件“/”的所有权或模式错误
我已经检查了/权限:
toing@ToingNet:~$ ls -ld /
drwxrwxr-x 26 root root 4096 déc. 16 2021 /
并且它归 root 所有,那么为什么 sftp 会告诉我这个?
答案1
问题是每个目录子组件都应只有 root 才具有写入权限。就我而言,/
只有 group 才具有写入权限。但/home
权限/home/xxx-ftp
没问题。
一旦解决了这个问题,一切都将按预期进行。
前
toing@ToingNet:~$ ls -ld /
drwxrwxr-x 28 root root 4096 déc. 21 16:40 /
命令:
sudo chmod g-w /
后
toing@ToingNet:~$ ls -ld /
drwxr-xr-x 28 root root 4096 déc. 21 16:40 /