我正在编写一个程序,需要执行一些特权操作而不插入任何密码,例如:
- 使用systemctl命令
- 运行超级用户命令
- 读/写 root 用户拥有的文件
到目前为止,我一直在做的是为运行该程序的用户创建一个 sudoer 文件,允许其运行一些特定的 sudo 命令而无需密码。
现在我需要读取/写入一些根文件,例如我必须读取 /etc/shadow,尽管我可以添加cat /etc/shadow
到 sudoer 文件,但我更愿意只提供我的程序(或运行该程序的用户)直接读取文件的权限(即在程序本身中打开并读取文件)。
我怎样才能实现这个目标?
另外,像我一样使用 sudoer 文件好吗?还有更好的选择吗?
最后,我想指定我不想授予我的程序/用户全部超级用户权限,而只是授予我需要的特定任务的权限。
提前致谢。