chroot 目录 ubuntu 12.04 的 SFTP 致命错误所有权或模式

Jon*_*han 13 ubuntu ssh chroot sftp

我刚刚设置了我的 SFTP 服务器,当我从我的第一个用户帐户使用它时,它工作正常。我想添加一个我们称之为“magnarp”的用户。起初我在 sshd_config 中这样做:

Subsystem sftp internal-sftp


Match group sftponly
    ChrootDirectory /home/%u
    X11Forwarding no
    AllowTcpForwarding no
    ForceCommand internal-sftp
Run Code Online (Sandbox Code Playgroud)

效果很好,用户 magnarp 进入了他的主目录。然后我尝试向它添加一个符号链接。

home$ sudo ln -s /home/DUMP/High\ Defenition/ /home/magnarp/"High Defenition"
Run Code Online (Sandbox Code Playgroud)

符号链接通过 SSH 运行良好,但不能通过 SFTP。

所以我现在想做的是将 Chroot 组 sftponly 设置为 /home/DUMP,我这样做了:

Match group sftponly
    ChrootDirectory /home/DUMP
    X11Forwarding no
    AllowTcpForwarding no
    ForceCommand internal-sftp
Run Code Online (Sandbox Code Playgroud)

DUMP 文件夹的权限如下。

drwxrwxrwx  5 root     root      4096 aug 18 02:25 DUMP
Run Code Online (Sandbox Code Playgroud)

这是错误代码:

Aug 18 16:40:29 nixon-01 sshd[7346]: Connection from 192.168.1.198 port 51354
Aug 18 16:40:30 nixon-01 sshd[7346]: Accepted password for magnarp from 192.168.1.198 port 51354 ssh2
Aug 18 16:40:30 nixon-01 sshd[7346]: pam_unix(sshd:session): session opened for user    magnarp by (uid=0)
Aug 18 16:40:30 nixon-01 sshd[7346]: User child is on pid 7467
Aug 18 16:40:30 nixon-01 sshd[7467]: fatal: bad ownership or modes for chroot directory "/home/DUMP"
Aug 18 16:40:30 nixon-01 sshd[7346]: pam_unix(sshd:session): session closed for user magnarp
Run Code Online (Sandbox Code Playgroud)

Der*_*rfK 26

sshd当谈到 chroot 目录时,有一定程度的偏执。我认为这不能被禁用(即使使用StrictModes no)。chroot 目录和所有父目录必须正确设置

  1. chroot 目录及其所有父目录不得具有组或世界写入功能(即chmod 755
  2. chroot 目录及其所有父目录必须由 root 拥有。

在您的情况下chmod 755 /home/DUMP ,可以通过使该目录成为 sftpuser 的子目录来解决登录错误/home/DUMP/