13.10 内核状态默认配置文件(sysctl.conf)

/etc/sysctl.conf 文件在系统进入多用户模式时被读取,用于设置内核的默认配置。该文件采用 sysctl(8) 命令的格式,即:

sysctl_管理信息标识符=值

在文件中的注释仍是 #

/
└── etc/
    ├── rc.d/
       ├── sysctl               # rc(8) 脚本,处理 sysctl.conf,在系统过渡到多用户模式早期执行
       └── sysctl_lastload      # rc(8) 脚本,处理 sysctl.conf,在系统接近多用户模式时执行
    ├── sysctl.conf              # sysctl(8) 的初始设置
    ├── sysctl.conf.local        # 机器特定设置,用于共享 /etc/sysctl.conf 的位置(默认不存在)
    └── sysctl.kld.d/            # 内核模块特定设置,用于通过 rc.subr(8) 加载的模块(默认为空目录)

sysctl 的默认源代码在 /sbin/sysctl/arrow-up-right

默认读取的配置文件 /etc/sysctl.conf

sysctl.conf(5)arrow-up-right 是用于配置内核的默认参数,位于 /etc/sysctl.conf,对应源代码 /sbin/sysctl/sysctl.confarrow-up-right

默认的 /etc/sysctl.conf 文件实际上是空文件:

#  此文件在系统进入多用户模式时读取,其内容通过 sysctl 管道传递以调整内核值
#  详情参见 man 5 sysctl.conf
#

#  取消注释此行可以防止用户查看由其他 UID 运行的进程信息
#security.bsd.see_other_uids=0

所有行都被注释,无一生效。

警告

虽然 /etc/sysctl.conf 文件实质上为空,但这不代表系统默认的 sysctl 参数为空!他们是通过不同的宏(如 SYSCTL_INT)注入到系统中的!使用命令 sysctl -a 可列出当前系统所有默认的参数值。

最后更新于