递归 Sudo 权限

Gar*_*ite 1 permissions sudo

我正在为我们的一线支持团队设置专门的 sudo。我想授权他们删除/var/log/. 但是,下面的命令仅适用于直接位于/var/log/其子目录中的文件。如果他们试图从中删除,/var/log/directory/file_name则不允许他们删除该文件。我尝试了一些阅读,但无法弄清楚如何更改此命令以使权限递归。任何意见,将不胜感激。

%front_line ALL=(ALL) NOPASSWD: /bin/rm /var/log/*
Run Code Online (Sandbox Code Playgroud)

use*_*517 5

我觉得你TM做错了。您不能像那样删除日志文件,您通常还需要重新启动生成日志文件的相关守护程序。服务器故障充斥着来自删除日志文件的人的问题,然后在未来某个日期“意外地”用完了磁盘空间。

许多写入 /var/log 的守护进程在启动时打开文件,然后保持文件打开直到它们重新启动或(如果编程这样做)它们在收到信号时关闭并重新打开文件。这意味着当您删除文件时,它仍然处于打开状态,占用磁盘空间并不断增长。

另请注意,您在注释中的“解决方案”可能会删除任何可能导致守护进程无法正确启动的子目录,因为它们的日志文件的路径不存在。

要正确执行此操作,您必须详细分析您的一线员工需要做什么以及哪些文件。然后,您需要确定删除特定文件是否安全,或者是否也需要重新启动守护程序。这份工作并不像你想象的那么简单。