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

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

我在想的是在shell脚本中,尝试在系统目录中创build一个虚拟文件,例如/ var / run /,然后将其删除,这样,不在sudo列表中的用户将收到权限错误,但是我相信那里会有一个更合适的做法是,最好检测用户是否在shell脚本中的sudo列表中。 感谢您的帮助

做起来要简单多了,只要把脚本放在脚本的开头

if [ `id -u` -ne 0] then echo "Must be root" exit 1 fi 

在剧本的开始。

把脚本放在一个只能由root读取的目录下。 这样,用户就不能意外地,故意地调用它,甚至读取它来查找漏洞。

当你使用sudo运行脚本时, sudo可以为你检查组:

 %yourgroup ALL=/your/command 

当你把这个放在/etc/sudoers ,当用户执行sudo /your/command时候, sudo会检查用户是否在你的组中。 这样你不必手动添加一个新的用户到脚本。