rbash - 通过实际示例解释受限制的 Bash Shell
Linux Shell 是最迷人、最强大的 GNU/Linux 驱动工具之一。所有的应用程序,包括X,都是基于shell构建的,Linux shell非常强大,使用它可以精确地控制整个Linux系统。 Linux shell 的另一个方面是,当您在不知道其后果或不知情的情况下执行系统命令时,它可能具有潜在的危害。
做一个无知的用户。为此,我们引入了受限 shell。我们将详细讨论受限 shell、实施的限制等等。
rbash是什么?
Restricted Shell 是一种限制 bash shell 的某些功能的 Linux Shell,从名称上就可以看出。对于在受限 shell 中运行的命令和脚本,该限制得到了很好的实现。它为 Linux 中的 bash shell 提供了额外的安全层。
rbash 中实施的限制
- cd 命令(更改目录)
- PATH(设置/取消设置)
- ENV 又名 BASH_ENV (环境设置/取消设置)
- 导入功能
- 指定包含参数“/”的文件名
- 指定包含参数“-”的文件名
- 使用 '>'、'>>'、'>|'、'<>' 重定向输出'&>', '&>'
- 使用“set +r”或“set +o”关闭限制
注意:rbash 的限制在读取任何启动文件后强制执行。
启用受限 Shell
在GNU/Linux的某些版本中,即Red Hat/CentOS,rbash可能无法直接实现,需要创建符号链接。
cd /bin
ln -s bash rbash
在当今的大多数 GNU/Linux 标准发行版中,rbash 是默认可用的。如果没有,您可以下载源代码 tarball 并从系统中的源代码安装它。
启动 rbash
要在 Linux 中启动 rbash 受限 shell,请执行以下命令。
bash -r
OR
rbash
注意:如果rbash启动成功,则返回0。
测试一些限制
在这里,我们在 rbash shell 上执行几个命令来检查限制。
cd
rbash: cd: restricted
pwd > a.txt
bash: a.txt: restricted: cannot redirect output
受限外壳的优点
- 受限 shell 与 chroot Jail 结合使用,进一步尝试限制对整个系统的访问。
受限外壳的缺点
- 不足以允许执行完全不受信任的软件。
- 当执行发现是 shell 脚本的命令时,rbash 会关闭为执行该脚本而生成的 shell 中的任何限制。
- 当用户从 rbash 运行 bash 或 dash 时,他们将获得不受限制的 shell。
- rbash 只能在 chroot 中使用,除非您知道自己在做什么。
- 有很多方法可以破解受限制的 bash shell,但事先不容易预测。
结论
rbash 是一个很棒的工具,可以在受限环境中使用并且运行良好。您一定要尝试一下,您不会失望的。
目前为止就这样了。我很快就会再次来到这里,带来你们人们喜欢阅读的另一个有趣且知识渊博的主题。不要忘记在我们的评论部分向我们提供您的宝贵反馈。