由 udev 规则触发的脚本具有哪些权限?

由 udev 规则触发的脚本具有哪些权限?

据我了解,我可以创建一个udev规则来运行脚本,例如当插入 USB 设备时:

SUBSYSTEMS=="usb", ATTRS{idVendor}=="0123", ATTRS{idProduct}=="0815", SYMLINK+="mydevice", ACTION=="add", RUN+="/path/to/my/script.sh"

我现在的问题是,这个脚本拥有哪些权利?

我发现了两个与该主题相关的问题:

我找不到任何文件能够进一步说明该RUN参数是否存在于udev有关其权利和能力的规则中。

答案1

通常,除非另有说明,否则由某个程序启动的程序将以与该程序相同的用户身份运行。在本例中,即systemd-udevd,并且它以 root 身份运行,因此程序以 root 身份运行(这就是为什么您需要使用sudo以另一个用户身份运行)。

即使是这样,有一些限制

请注意,由于强制执行的默认沙箱,udev 规则内不允许运行访问网络或挂载/卸载文件系统的程序systemd-udevd.service

相关内容