SSH 连接fatal: bad ownership or modes for chroot directory “/home/data/sftp“

cat /var/log/secure

Jul 2 12:29:10 localhost sshd[32918]:Accepted password for sftp from 10.40.34.50 port 52386 ssh2 Jul 2 12:29:10 localhost sshd[32918]: pam_unix(sshd:session): session opened for user sftp by (uid=0) Jul 2 12:29:10 localhost sshd[32918]: fatal: bad ownership or modes for chroot directory "/home/data/sftp" [postauth] Jul 2 12:29:10 localhost sshd[32918]: pam_unix(sshd:session): session closed for user sftp还是报错

日志指出,通过 SSH 连接(特别是 SFTP)成功认证后,出现了关于 chroot 环境设置的错误。错误 fatal: bad ownership or modes for chroot directory "/home/data/sftp" [postauth] 表示 chroot 目录 /home/data/sftp 的所有者(ownership)或权限(modes)设置不符合 SSHD 的要求。

在 SSHD 的配置中,使用了基于 ChrootDirectory 指令的环境,当用户连接时,他们的活动被限制在指定的目录(即“chroot jail”)中。为了确保安全和隔离,SSH 服务要求该目录仅由 root 用户拥有,且其他用户(特别是将被锁定在该目录中的用户)不能拥有对此目录的写权限。目录的普通设置应为 755 (即 drwxr-xr-x)。

您需要确保 /home/data/sftp 目录:

  1. 是由 root 用户拥有。
  2. 设置了正确的权限,通常为 755。

要解决问题,请按照以下步骤操作:

  1. 修改 /home/data/sftp 目录的所有权和权限:
 

1sudo chown root:root /home/data/sftp 2sudo chmod 755 /home/data/sftp

  1. 如果该目录是要给 SFTP 用户作为主目录的话,您应该为用户在 /home/data/sftp 内部创建一个他们可写入的目录(如 files),因为 sftp 用户无法直接在他们的主目录中写入文件。
 

1sudo mkdir /home/data/sftp/files 2sudo chown sftp_user:sftp_group /home/data/sftp/files 3sudo chmod 755 /home/data/sftp/files

请将 sftp_usersftp_group 替换为相应的用户和组名称。

  1. 重启 SSH 服务器以应用修改:
 

1sudo systemctl restart sshd 2# 或者 3sudo service sshd restart

执行上述步骤后重试 SFTP 连接,如果设置正确,不应再报 bad ownership or modes for chroot directory 错误。如果仍然有问题,请确认 SELinux 没有干涉这些操作,可以暂时禁用 SELinux (setenforce 0) 进行测试,记得测试结束后重新启用 (setenforce 1)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值