是否可以完全禁用linux重定向操作符(<<,>>,<,>,> |)

时间:2018-06-22 13:43:36

标签: linux bash redirect operators redhat

是否可以完全禁止linux中的重定向操作符(<<,>>,<,>,> |),即在运行bash shell的RedHat发行版上?

1 个答案:

答案 0 :(得分:1)

您想要rbash-受限制的外壳。

可以将其加载到.bashrc.bash_profile中。

  

6.10受限制的外壳程序

     

如果Bash以名称rbash开始,或者在调用时提供了--restricted-r选项,则外壳将受到限制。受限外壳用于设置比标准外壳更受控制的环境。受限制的外壳的行为与bash相同,不同之处在于不允许执行以下操作或不执行以下操作:

     
      
  • 使用内置的cd更改目录。
  •   
  • 设置或取消设置SHELLPATHENVBASH_ENV变量的值。
  •   
  • 指定包含斜杠的命令名称。
  •   
  • 指定包含斜杠的文件名作为.内置命令的参数。
  •   
  • 指定包含斜杠的文件名作为hash内置命令的-p选项的参数。
  •   
  • 在启动时从shell环境中导入函数定义。
  •   
  • 启动时从shell环境中解析SHELLOPTS的值。
  •   
  • 使用>>|<>>&&>>>重定向运算符重定向输出。
  •   
  • 使用exec内置命令用另一个命令替换shell。
  •   
  • 添加或删除带有-f和-d选项的内置命令来启用内置。
  •   
  • 使用enable buildin命令启用禁用的shell内置程序。
  •   
  • 为内置命令指定-p选项。
  •   
  • 使用set +rset +o restricted关闭受限模式。
  •   
     

在读取任何启动文件后,将强制执行这些限制。

     

当执行的命令被视为外壳程序脚本时(参见Shell Scripts),rbash会关闭在外壳程序中生成的用于执行脚本的所有限制。