编译 shell 脚本以便可以使用 suid

发布于 2024-08-01 14:50:49 字数 251 浏览 11 评论 0原文

我需要suid一个脚本,以便具有较少权限的用户可以执行它。 由于您无法 suid 脚本而只能 suid 可执行文件,因此我想使用通用脚本编译器“shc”来创建可执行文件,然后设置该可执行文件的 suid 位。 唯一的问题是,在 ubuntu jaunty 上我找不到 shc,或者当我执行 apt-get install shc 时,它返回为未找到。 是否有使用 shc 的替代方案(除了编写我自己的 C 程序),或者它是否包含在我可以添加的存储库中,以便 apt-get 找到它?

I need to suid a script so that it can be executed by users with less permissions. Since you can't suid a script and can only suid an executable I wanted to use the generic script compiler "shc" to create an executable and then set that executable's suid bit. Only problem is that on ubuntu jaunty I can't find shc or when I do apt-get install shc, it's comes back as not found. Is there an alternative to using shc (except writing my own C program) or is it included into a repo that I could add, so that apt-get would find it?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

血之狂魔 2024-08-08 14:50:49

在脚本内部使用 sudo 执行任何管理命令。

如果您需要 sudo 在不需要密码的情况下工作,请查看编辑 sudoers 文件以指定脚本并提供类似这样的 NOPASSWD 选项。

USERNAME ALL=(root) NOPASSWD: /usr/local/SCRIPT_NAME ""

Inside the script use sudo to execute any administrative commands.

If you need sudo to work without requiring a password look at editing the sudoers file to specify the script and give the NOPASSWD option something like this.

USERNAME ALL=(root) NOPASSWD: /usr/local/SCRIPT_NAME ""

万水千山粽是情ミ 2024-08-08 14:50:49

我在 serverfault 上遇到了 同样的问题 - 您可以将 sudoers 文件编辑为授予运行 shell 脚本的权限。

I had this same question over on serverfault - you can edit the sudoers file to grant permission to run a shell script.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文