在 RHEL/Centos 6 中,什么程序专门将 /var/log/boot.log 设置为 644 权限?

在 RHEL/Centos 6 中,什么程序专门将 /var/log/boot.log 设置为 644 权限?

我被指派锁定所有/var/log文件,以便除 root 用户之外无法读取它们。我被这个/var/log/boot.log文件难住了。似乎每次启动后,无论之前的权限状态如何,文件都会设置为 644 权限。

我已经尝试过更改许多关键/etc/init.d文件和函数中的 umask,但没有成功。

有人知道执行此操作的特定程序以及如何将权限设置/var/log/boot.log为 600 吗?

答案1

通过 a fgrep -r boot.log /usr,则为plymouth惹的祸。 Centos 6 上的手册页plymouth有点缺乏,尽管浏览源代码确实显示有一个no_boot_log选项,显然可以通过传递no-boot-log某个地方来设置(假设你没有来自普利茅斯的日志)。啊!随着更多的挖掘,有一个world_readable标志可以调整mode用于open(2)调用的参数,除非它仅设置为第三个参数

        log_is_opened = ply_logger_open_file (session->logger, filename, true);

悲伤的长号。无论如何,您可能会摆弄 initrd 映像来自定义它,或者可能使用 RedHat 提交错误报告 a) 编写一些该死的文档,以便减少需要的源代码探索 b) 以某种方式提供一个选项来配置该模式通过内核arg或其他东西。

答案2

在此处联系 RHEL 支持寻求答案后......

RHEL 证实普利茅斯是罪魁祸首。

他们指向一份解决方案文档(https://access.redhat.com/site/solutions/66805-- 仅限 RHEL 订阅者),验证虽然源代码中有一个标志可以以更严格的模式打开/创建日志,但无法从外部设置该标志(即没有选项)硬编码为世界可读。

RHEL 支持文档进一步表明,将 chmod 放入 /etc/rc.d/rc.local 脚本中将是进行我想要的权限更改的方法。

真糟糕!

相关内容