所以我在 Raspbian 上将 chmod 777 -R 设置为 /var/log ,现在 logrotate 运行时出现一些错误。错误如下:
错误:跳过“/var/log/apt/term.log”,因为父目录具有不安全的权限(它是世界可写的或非“root”的组可写)在配置文件中设置“su”指令以告诉 logrotate 哪个用户/应该使用组进行轮换。
有办法恢复默认吗?
答案1
您可以安全地将目录的权限设置为 755,将文件的权限设置为 644:
# find /var/log -type d -exec chmod 755 {} \;
# find /var/log -type f -exec chmod 644 {} \;
更安全(仅限 root 访问):
# find /var/log -type d -exec chmod 700 {} \;
# find /var/log -type f -exec chmod 600 {} \;
答案2
/var/log/
位于raspbian 上的文件通常具有-rw-r-----
权限,这意味着chmod 640
将恢复正确的权限。
例如,/var/log/apt/term.log
设置了以下权限:
-rw-r----- 1 root adm 0 Nov 1 06:25 term.log
下的其他文件/var/log/
具有以下权限设置:
-rw-r----- 1 root adm 214421 Nov 13 10:01 auth.log
-rw-r----- 1 root adm 16903470 Nov 12 06:25 auth.log.1
要对这些文件设置正确的权限,请使用find
以下命令:
find /var/log/ -type f -exec chmod 640 {} +
对于目录,您可以使用:
find /var/log -type d -exec chmod 755 {} +
该命令find
将遍历/var/log
目录,并根据type
您传递给它的内容,应用正确的权限。