所以,我的目的是让用户管理器能够运行这个命令,而不需要使用sudo。
manager ALL=NOPASSWD: tar -czf /root/assignment/result/student-submissions-$(date +\%Y-\%m-\%d).tar.gz /root/assignment/report/main/这是输出:
/etc/sudoers: syntax error near line 122第122行是上述代码的第一行。
发布于 2021-08-18 13:13:15
当我在我的系统上运行它时,我也会得到语法错误。我做了以下工作:
在sudoers文件的顶部(在“默认”行下),添加以下行(您想要运行的命令没有密码):
Cmnd_Alias TAR_COMMAND = /usr/bin/tar -czf /root/assignment/result/student-submissions-*.tar.gz /root/assignment/report/main/我在文件名中使用的通配符*是为了确保当涉及到tar.gz文件名时,命令可能会有所不同。这样,您就不必使用日期变量。
现在,在末尾添加以下一行:
manager ALL= NOPASSWD: TAR_COMMAND如果这对你有用的话
PS:始终使用您的可执行文件的完整路径。当只使用"tar“时,每个名为"tar”的二进制文件都可以在没有密码的情况下从任何文件夹运行。使用完整的路径确保您只能运行/usr/bin/tar。
https://serverfault.com/questions/1074923
复制相似问题