是否可以完全禁止linux中的重定向操作符(<<,>>,<,>,> |),即在运行bash shell的RedHat发行版上?
答案 0 :(得分:1)
您想要rbash
-受限制的外壳。
可以将其加载到.bashrc
或.bash_profile
中。
6.10受限制的外壳程序
如果Bash以名称
rbash
开始,或者在调用时提供了--restricted
或-r
选项,则外壳将受到限制。受限外壳用于设置比标准外壳更受控制的环境。受限制的外壳的行为与bash相同,不同之处在于不允许执行以下操作或不执行以下操作:
- 使用内置的
cd
更改目录。- 设置或取消设置
SHELL
,PATH
,ENV
或BASH_ENV
变量的值。- 指定包含斜杠的命令名称。
- 指定包含斜杠的文件名作为
.
内置命令的参数。- 指定包含斜杠的文件名作为hash内置命令的
-p
选项的参数。- 在启动时从shell环境中导入函数定义。
- 启动时从shell环境中解析
SHELLOPTS
的值。- 使用
>
,>|
,<>
,>&
,&>
和>>
重定向运算符重定向输出。- 使用exec内置命令用另一个命令替换shell。
- 添加或删除带有-f和-d选项的内置命令来启用内置。
- 使用enable buildin命令启用禁用的shell内置程序。
- 为内置命令指定
-p
选项。- 使用
set +r
或set +o restricted
关闭受限模式。在读取任何启动文件后,将强制执行这些限制。
当执行的命令被视为外壳程序脚本时(参见Shell Scripts),
rbash
会关闭在外壳程序中生成的用于执行脚本的所有限制。