将 sftp 用户移到其监狱的子目录中



我有一个关于监狱的问题,稍后解释:

  • 被监禁的用户:foo
  • 监狱目录:/mnt/foo-jail
  • foo的主目录:/mnt/foo-jail/foo-home

一切都还好。监狱已启动,用户连接正确。

  • 问题是:"foo"对他的 Jail 目录没有写权限,但他对他的主目录有写权限。当他连接到我的服务器时,他被重定向到/mnt/foo-jail(他的监狱),而不是在他的家(/mnt/foo-jail/foo-home)中,在那里他可以写作;

如何解决此问题?他不能使CHDIR在文件夹之间移动,但必须将他重定向到他自己的主目录

非常感谢您的帮助!!

编辑:已解决

我将编写 ssh 配置文件sshd_config有趣的部分,希望它对某人有用。

Match user foo ChrootDirectory /mnt/foo-jail/ ForceCommand internal-sftp AllowTCPForwarding no AuthorizedKeysFile /mnt/foo-jail/%h/.ssh/authorized_keys X11Forwarding no

在文件/etc/passwd 中,foo 如下所示:

foo:x:1001:1001:Foo User,,,:/foo-home:/bin/bash

注意 home,它是 /foo-home 而不是/foo-home/,否则 ssh 无法截获密钥的正确路径。

尝试添加

ChrootDirectory %h

/etc/ssh/sshd_config Match Group部分中。 %h将替换为连接用户的主目录。

ChrootDirectory/upload/%u

ForceCommand internal-sftp -d data

这会将 sftp 放在/upload/UserXX/data 目录中。 数据目录由用户XX拥有并可读取/写入

相关内容

  • 没有找到相关文章

最新更新