1

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

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

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

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

我该如何解决这个问题?他不能让 CHDIR 在文件夹之间移动,但必须将他重定向到他自己的 Home Dir

非常非常感谢您的帮助!!!

编辑:已解决

我将编写 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 无法拦截到 key 的正确路径。

4

2 回答 2

0

尝试添加

ChrootDirectory %h

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

于 2015-04-01T14:19:57.107 回答
0

Chroot 目录 /upload/%u

ForceCommand 内部 sftp -d 数据

这会将 sftp 放在 /upload/UserXX/data 目录中。数据目录由 UserXX 拥有和读/写

于 2018-06-14T14:16:51.443 回答