编写只能由Ubuntu中的sudo用户运行的shell脚本

时间:2010-01-15 06:54:35

标签: shell ubuntu scripting sudo

我正在编写一个shell脚本,应该只在sudo用户列表中由用户运行,这样做的适当方法是什么?

我在想的是在shell脚本中,尝试在系统目录中创建一个虚拟文件,例如/ var / run /并将其删除,因此不在sudo列表中的用户将收到权限错误,但我相信那里这是一个更合适的方式,感谢帮助

3 个答案:

答案 0 :(得分:8)

将脚本的执行权限更改为仅可由用户执行,并将脚本的所有权更改为root。应该这样做。

答案 1 :(得分:3)

您可以在脚本中检查$ UID和$ EUID的值。它们等于root,它们为零。或者,如果不是Bash,您可以使用id -u

答案 2 :(得分:2)

确保您在sudoers列表中:

sudo chmod 700 / path / to / scriptname

[回答评论]
抱歉 - 我不使用subversion:我的猜测是你需要运行另一个脚本作为sudoer来创建具有正确权限的脚本。

不,你不必须将所有权更改为root,但如果你这样做,它会保持清洁。