用户通过 ssh 连接。用户还被 chroot 到其主目录。目标是安全。
由于用户已 chroot,因此登录时找不到 /bin/bash。显然用户需要 shell 命令。
可以通过以下方式提供 Shell 访问:
1)将 /bin/bash 符号链接到 /home/username
2) 通过 /etc/fstab 安装 --bind - 首选选项,因为服务器经常重新启动。
这两种方案的安全性有区别吗?
或者有第三种更安全的方案吗?
答案1
符号链接帮不了你。你不仅需要
/bin/sh
,还需要库。还有特殊设备,如/dev/null
或/dev/zero
。还有更多东西。最好的方法不仅是符号链接,还有硬链接。而且系统更新将非常棘手。mount
看起来好一点,但你最好看看autofs
- 所以,它可以只在需要时挂载用户目录,例如当用户登录时。
我更喜欢使用龙芯。这就像高级 chroot,因此您可以使用您的内核运行不同的操作系统。并将用户 chroot 到他们自己的系统。这会导致更多的磁盘使用,但用户分离看起来不错。