我按照手册在 FreeBSD-8.2 上设置了一个 jail。设置完成后,我将这些文件 rc.conf、/etc/passwd 从 base 复制到 jail。以下是我按顺序执行的操作:
- jexec id passwd (更改 jail root 密码)
- jexec id adduser (我以非 root 身份添加了一个用户)
为什么我无法通过 ssh 登录监狱?但我可以用“jexec id login”登录?我的意思是我可以连接到监狱,但无法进行身份验证?
为什么我在监狱里无法执行任何命令,如 rehash/ping/ps?我还需要从基地复制哪些文件?
答案1
默认情况下,在基本系统中,ssh 将监听所有接口、端口 22。
在默认的 jail 安装中,sshd 将监听所有接口(在被监禁的 rc.conf 中指定)和端口 22。
由于基本系统 sshd 已经在监听这些地址,因此被监禁的 sshd 将无法绑定到它们。
从实际意义上讲,这意味着当您尝试使用新的 jail-only 用户通过 ssh 连接到您的 jail 时,您实际上是在尝试连接到基本系统(该系统不知道该用户)。
至于第二个问题,ping/ps 应该安装在你用 指定的 DESTDIR 中make installworld
。
确保你的 jail 中有一个 /bin/ps。
如果您需要更多帮助,请尝试发布更多信息,例如您运行的命令(从开始到结束)以到达这一点......