无法 Chroot 进入目录但可以 cd 进入该目录

无法 Chroot 进入目录但可以 cd 进入该目录

连接到 SFTP 服务器时,我可以毫无问题地 Chrooting 到 /home 目录并访问我想要的目录 (FileFolder)。但是当我尝试配置它以便它直接 Chrooting 到目录时,它拒绝连接。

当我将以下行更改ChrootDirectory /homeChrootDirectory /home/FileFolder以访客用户身份连接时,我的连接被拒绝。访客用户的权限是rx因为我希望用户只能下载文件。

我确实尝试在我的配置中添加日志记录,以便了解正在发生的事情:

SyslogFacility AUTH
LogLevel INFO

但该文件/var/log/auth.log不存在(我可能弄错了,它记录到了不同的文件中)。我也尝试使用,journalctl _COMM=sshd但它没有提供详细信息,只有正在连接的用户及其 IP。

我的sshd_配置:

Port 22

PubkeyAuthentication yes

AuthorizedKeysFile  .ssh/authorized_keys

PasswordAuthentication no

ChallengeResponseAuthentication no

UsePAM yes

Subsystem   sftp    /usr/lib/ssh/sftp-server

Match Address 192.168.8.*
    PasswordAuthentication yes

Match User guest
    ForceCommand internal-sftp
    ChrootDirectory /home

我已经尝试过解决方案从这里但它不起作用。

PS 我是从 192.168.8.* IP 地址连接的,所以这不是公钥认证错误。

解决方案:我必须将 FileFolder 的所有者更改为 root。最初它只是一个具有 root 权限的用户。

答案1

我怀疑是权限问题。chroot 到 /home 之所以能正常工作,是因为它归. Chroot 到/home/文件夹不起作用,因为它不属于 root,并且只能由 root 写入。chroot路径应具有相同的权限。检查“/var/log/secure”以获取日志信息。它将列出 chroot 失败的原因。

相关内容