如何使用udev规则更改特定的文件权限?

时间:2018-09-13 16:35:18

标签: linux file-permissions udev screen-brightness

我正在尝试让用户bob更改屏幕亮度的权限,这意味着:让bob读取,写入 / sys / class / backlight / intel_backlight / brightness

的权限>

使用:

udevadm info -a -p /sys/class/backlight/intel_backlight/

显示以下结果:

  looking at device '/devices/pci0000:00/0000:00:02.0/drm/card1/card1-eDP-1/intel_backlight':
KERNEL=="intel_backlight"
SUBSYSTEM=="backlight"
DRIVER==""
ATTR{actual_brightness}=="7500"
ATTR{bl_power}=="0"
ATTR{brightness}=="7500"
ATTR{max_brightness}=="7500"
ATTR{type}=="raw"

.
.
.

所以我在 /etc/udev/rules.d/30-brightness.rules

中为此写了udev规则

30-亮度。规则

KERNEL=="intel_backlight", SUBSYSTEM=="backlight", RUN+="/usr/bin/find /sys/class/backlight/intel_backlight/ -type f -name brightness -exec chown bob:bob {} \; -exec chmod 666 {} \;"

但是重新启动后,文件权限仍然为-rw-r--r-- 1 root root

所以我的问题是如何使用udev规则更改特定的文件权限,我在做什么错呢?

1 个答案:

答案 0 :(得分:1)

我已经解决了问题,

开发规则应如下所示(不带反斜杠)

KERNEL=="intel_backlight", SUBSYSTEM=="backlight", RUN+="/usr/bin/find /sys/class/backlight/intel_backlight/ -type f -name brightness -exec chown bob:bob {} ; -exec chmod 666 {} ;"

但是请注意,上面的RUN命令在终端命令行上不起作用(为此,您需要使用反斜杠)