首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何通过黑白名单对shell脚本中的输入命令进行清理?

如何通过黑白名单对shell脚本中的输入命令进行清理?
EN

Stack Overflow用户
提问于 2015-06-03 23:28:46
回答 1查看 503关注 0票数 1

我正在编写一个非常扩展的源代码。我将许多新的源文件添加到不同的路径,并编写了一个shell脚本来在文本编辑器中打开我的所有文件。

我从用户那里得到了在他最喜欢的代码编辑器(gedit,geany,sublime,...)中打开文件的输入。为了防御性编程,我想过滤一些像rm这样的命令,它可以删除我所有的文件,而不是打开它们!

我的问题是,实现这一目标的最佳方法是什么?如果要将一组命令列入黑名单或白名单,是否需要将输入命令与黑白名单中的所有命令进行比较?有没有更近的路?

EN

回答 1

Stack Overflow用户

发布于 2015-06-03 23:38:14

如果希望用户能够编辑文件,但不能对其运行其他任意命令,请执行以下所有操作:

  • 将文件存储在用户没有直接访问权限的用户帐户下。
  • /etc/sudoers配置为仅允许该用户以能够读取文件的帐户运行特定的白名单命令。
  • 仅支持具有受限模式的编辑器。例如,默认情况下,vim可用于运行任意命令,但它有一个(受限制的) rvim替代选项,不允许权限提升。

或者做一些明智的事情,使用版本控制。:)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30624461

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档