微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我如何让用户使用root权限运行脚本?

考虑到SUID shell脚本的危险 ,是否有一种更安全的方法来在Linux中拥有root权限的无脚本访问脚本(bash,PHP)?

(Ubuntu 8.10)

如何提升.net应用程序的权限?

需要检查正在运行的应用程序是否具有pipe理员权限或不在C#.Net Compact Framework中

在Windows命令中使用密码参数是否安全?

validation内存中的进程完整性?

如何在Linux中生成真正的随机数(不是伪)

你可以考虑sudo 。

虽然不是“无密码”,但并不要求用户获得root密码。 它也可以提供脚本使用的审计跟踪。

编辑:根据克里斯的评论,有一个选项不要求某些命令的密码,详情请看这里 。 也可以设置不要过多地输入密码,也就是说一次输入密码对于一段时间内的多个命令来说是好的。

顺便说一句,sudo是内置到Ubuntu和Gnome很好地集成。 当Ubuntu提示你输入密码进行特权操作时,这是sudo下的。

如果你走sudo路线,务必查看sudoers手册页的“ PREVENTING SHELL ESCAPES ”部分。

我会推荐sudo 。 一定要适当地收紧你的sudoers文件; 是的,你可以允许执行一些命令,而不需要输入密码

从安全的角度来看,配置sudo让普通用户以提升的权限运行shell脚本比让suid root脚本更好。 所有的陷阱依然存在。 相反,你应该写一个适当的程序,进行广泛的安全检查。 有几点需要考虑:

不要用C写出来,你会用双脚开枪。

检查所有输入。

尽快删除权限。

保持简短。

由于sudo已经被提及,您可能需要考虑各种沙盒环境,这取决于您的需求 – 例如监狱或类似的。

对于一个真正重量级的解决方案,考虑一个MAC(强制访问控制)系统,如SELinux,AppArmor,TrustedBSD等。

为了提高安全性,考虑是否有可能以特定用户或组的身份执行操作,这些特定用户或组具有完全所需的访问权限。 然后,您可以为该用户或组创建脚本setuid / setgid。

如果用例是在VirtualBox下运行的机器,安全性不是真正的问题,那么您只需要一个光栅来防止自己在脚下自拍,那么呢? (然后,安全性论证并没有什么意义,因为无论如何,由于VirtualBox通过NAT对其进行隔离,外部人员无法看到它,这并不重要。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐