为什么 logrotate 的 bin 路径是 `/usr/sbin`

为什么 logrotate 的 bin 路径是 `/usr/sbin`

为什么/usr/sbinDebian 上的 logrotate 的 bin 路径(至少是“喘息”)知道我们实际上可以在没有 root 权限的情况下使用它?

答案1

路径logrotate被放置在/usr/sbin可能的范围内,因为它是一个系统管理实用程序,通常在所有文件系统都挂载后执行。

logrotate(8) - Linux 手册页

日志旋转旨在简化生成大量日志文件的系统的管理。


Linux 基金会 - 文件系统层次结构标准 - /sbin 系统二进制文件

用于系统管理(和其他仅限 root 用户的命令)的实用程序存储在/sbin/usr/sbin/usr/local/sbin中。 /sbin除了 /bin 中的二进制文件外,还包含引导、还原、恢复和/或修复系统所必需的二进制文件。已知被挂载之后执行的程序/usr(当没有问题时)一般被放入 中/usr/sbin

注意:sbin目录中的许多实用程序可供普通用户使用。任何用户都可以运行ifconfig以获取有关活动网络接口的信息。当然,使用它ifconfig来修改网络接口设置需要额外的权限。

答案2

用户进程可以使用 /usr/sbin 中的 logrotate,但只能用于自己的日志。Root 从 cron 运行 logrotate 来为所有用户执行此操作。在其上添加 suid 位很方便,但不太安全。

相关内容