Как изменить определенные права доступа к файлу, используя правило udev? - PullRequest
0 голосов
/ 13 сентября 2018

Я пытаюсь разрешить моему пользователю отправлять разрешения на изменение яркости экрана, что означает: разрешить чтение Bob, разрешения на запись для / sys / class / backlight / intel_backlight / яркость

using:

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"

.
.
.

Поэтому я написал правило udev для этого в / etc / udev / rules.d / 30-Bright.rules

30-Bright.rules

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 голосов
/ 16 сентября 2018

Я решил проблему,

правило разработки должно выглядеть так (без обратной косой черты)

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 не будет работать в командной строке терминала (для этого вам нужно иметь обратную косую черту)

...