授予程序/用户执行特定任务的权限

授予程序/用户执行特定任务的权限

我正在编写一个程序,需要执行一些特权操作而不插入任何密码,例如:

  • 使用systemctl命令
  • 运行超级用户命令
  • 读/写 root 用户拥有的文件

到目前为止,我一直在做的是为运行该程序的用户创建一个 sudoer 文件,允许其运行一些特定的 sudo 命令而无需密码。

现在我需要读取/写入一些根文件,例如我必须读取 /etc/shadow,尽管我可以添加cat /etc/shadow到 sudoer 文件,但我更愿意只提供我的程序(或运行该程序的用户)直接读取文件的权限(即在程序本身中打开并读取文件)。

我怎样才能实现这个目标?

另外,像我一样使用 sudoer 文件好吗?还有更好的选择吗?

最后,我想指定我不想授予我的程序/用户全部超级用户权限,而只是授予我需要的特定任务的权限。

提前致谢。

相关内容