第 21 章 使用 NetworkManager 的一个分配程序脚本运行 hclient exit hooks
您可以使用 NetworkManager 分配程序脚本来执行 dhclient
exit hooks。
21.1. NetworkManager 分配程序脚本的概念
在发生网络事件时,NetworkManager-dispatcher
服务会按字母顺序执行用户提供的脚本。这些脚本通常是 shell 脚本,但可以是任何可执行的脚本或应用程序。例如,您可以使用分配程序脚本来调整您无法使用 NetworkManager 进行管理的与网络相关的设置。
您可以在以下目录中存储分配程序脚本:
-
/etc/NetworkManager/dispatcher.d/
:root
用户可以编辑的分配程序脚本的通用位置。 -
/usr/lib/NetworkManager/dispatcher.d/
: 用于预先部署的不可变分配程序脚本。
为了安全起见,NetworkManager-dispatcher
服务只有在满足以下条件时才执行脚本:
-
脚本归
root
用户所有。 -
该脚本仅可由
root
读写。 -
脚本上没有设置
setuid
位。
NetworkManager-dispatcher
服务使用两个参数运行每个脚本:
- 操作所在的设备的接口名称。
-
当接口被激活时,如
up
操作。
NetworkManager(8)
手册页中的 分配程序脚本
部分提供了在脚本中可以使用的操作和环境变量的概述。
NetworkManager-dispatcher
服务一次运行一个脚本,但与主 NetworkManager 进程异步运行。请注意,如果脚本已排队,服务将始终运行它,即使后续事件使其过时。但是,NetworkManager-dispatcher
服务运行脚本,它们是指向 /etc/NetworkManager/dispatcher.d/no-wait.d/
中的文件的符号链接,而无需等待之前脚本的终止,且并行运行。
其他资源
-
您系统上的
NetworkManager (8)
手册页