网站搜索

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 中实施的限制

  1. cd 命令(更改目录)
  2. PATH(设置/取消设置)
  3. ENV 又名 BASH_ENV (环境设置/取消设置)
  4. 导入功能
  5. 指定包含参数“/”的文件名
  6. 指定包含参数“-”的文件名
  7. 使用 '>'、'>>'、'>|'、'<>' 重定向输出'&>', '&>'
  8. 使用“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
受限外壳的优点
  1. 受限 shell 与 chroot Jail 结合使用,进一步尝试限制对整个系统的访问。
受限外壳的缺点
  1. 不足以允许执行完全不受信任的软件。
  2. 当执行发现是 shell 脚本的命令时,rbash 会关闭为执行该脚本而生成的 shell 中的任何限制。
  3. 当用户从 rbash 运行 bash 或 dash 时,他们将获得不受限制的 shell。
  4. rbash 只能在 chroot 中使用,除非您知道自己在做什么。
  5. 有很多方法可以破解受限制的 bash shell,但事先不容易预测。

结论

rbash 是一个很棒的工具,可以在受限环境中使用并且运行良好。您一定要尝试一下,您不会失望的。

目前为止就这样了。我很快就会再次来到这里,带来你们人们喜欢阅读的另一个有趣且知识渊博的主题。不要忘记在我们的评论部分向我们提供您的宝贵反馈。