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

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

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

Subsystem sftp internal-sftp


Match group sftponly
    ChrootDirectory /home/%u
    X11Forwarding no
    AllowTcpForwarding no
    ForceCommand internal-sftp

一切运行良好,用户 magnarp 进入了他的主目录。然后我尝试向其添加一个符号链接。

home$ sudo ln -s /home/DUMP/High\ Defenition/ /home/magnarp/"High Defenition"

符号链接通过 SSH 可以正常工作,但通过 SFTP 则不行。

所以我现在想要做的是将 sftponly 组 Chroot 到 /home/DUMP 并且我这样做:

Match group sftponly
    ChrootDirectory /home/DUMP
    X11Forwarding no
    AllowTcpForwarding no
    ForceCommand internal-sftp

DUMP文件夹具有以下权限。

drwxrwxrwx  5 root     root      4096 aug 18 02:25 DUMP

错误代码如下:

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

答案1

sshd在 chroot 目录方面有一定程度的偏执。我不认为可以禁用此功能(即使使用StrictModes no)。chroot 目录和所有父目录必须正确设置

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

在你的情况下,登录错误可以通过以下方法修复:chmod 755 /home/DUMP 你显然想要有一个世界可写的目录,sftpuser 可以登录,每个人都可以把文件放进去,可以通过把该目录设为/home/DUMP/

答案2

A) 如果创建 simlink 有助于逃避 chroot,那么创建 chroot 有什么意义呢?(任何用户都可以上传 simlink,然后访问整个文件系统)

B) 再一次 chmod 777 你将受到 theo 的攻击(http://rlv.zcache.com/i_got_flamed_by_theo_de_raadt_t_shirt_tshirt-p235453348828729121en7rf_210.jpg)。 看http://lists.mindrot.org/pipermail/openssh-unix-dev/2010-January/028151.html了解为什么 openssh 对 chroot 目录权限如此挑剔。

相关内容