ubuntu:让用户运行具有root权限的脚本

前端之家收集整理的这篇文章主要介绍了ubuntu:让用户运行具有root权限的脚本前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有ubuntu 8.04,我想写一个以root身份运行的bash脚本,每个用户都可以运行.

我自己可以做sudo.

我怎么做?

澄清:我不想用sudo做,因为用户必须输入密码.我只是希望他们以root身份运行脚本,也许是setuid,dunno.

如果这是一个普通的二进制文件,你可以通过运行来setuid
# chmod u+s /path/to/binary

不幸的是,脚本不能setuid. (嗯,你可以,但它被忽略了).原因是脚本的第一行告诉操作系统在哪个解释器下运行脚本.例如,如果您有一个脚本:

#!/bin/bash

你真的最终会跑步

/bin/bash /path/to/script

显然,你需要将解释器设置为setuid,这意味着所有脚本都是setuid.这会很糟糕.

您可以通过运行visudo将以下内容放在/ etc / sudoers文件中来执行此操作.

ALL ALL=NOPASSWD: /path/to/script

现在任何用户都可以运行

$sudo /path/to/script

这允许他们在不输入密码的情况下运行脚本.

在命令中有一个不需要sudo的替代方法,这需要创建一个执行脚本的小型setuided二进制文件,但是每个额外的setuid二进制文件都会增加另一个潜在的安全问题.

猜你在找的Ubuntu相关文章