그룹 속성을 설정하려고 합니다.
root@luna:~# ls -l /sys/class/backlight/intel_backlight/brightness
-rw-r--r-- 1 root root 4096 Sep 24 08:28 /sys/class/backlight/intel_backlight/brightness
/etc/udev/rules.d/99-local.rules에 규칙을 만들었습니다.
root@luna:/etc/udev/rules.d# cat 99-local.rules
KERNEL=="intel_backlight", SUBSYSTEM=="backlight", GROUP="neil", mode="0664"
systemctl restart udev, udevadm control -R 또는 재부팅에 관계없이 규칙이 적용되지 않습니다. 내가 뭘 잘못했나요?
답변1
Udev는 아래에 장치 파일 항목을 생성합니다 /dev
. Udev 규칙은 이러한 항목에 영향을 미칩니다. 다음 파일은 /sys
커널에 의해 생성되고 udev의 영향을 받지 않는 직접 커널 인터페이스입니다.
파일의 소유권이나 권한을 변경하려면 /sys
명시적으로 변경하세요.
#!/bin/sh
chown neil /sys/class/backlight/intel_backlight/brightness
chmod 664 /sys/class/backlight/intel_backlight/brightness
디스플레이 장치가 udev 이벤트를 트리거하는 경우 작업을 통해 이 스크립트를 실행할 수 있습니다 RUN=…
. 또는 부팅 프로세스 중 어딘가에서 이 스크립트를 실행하세요 /etc/rc.local
.
답변2
방금이 문제가 발생했습니다. /sys에서 파일의 권한과 소유권을 변경하는 올바른 방법은 tmpfiles 구성을 사용하는 것입니다. 예를 들어, 다음을 입력하면 /etc/tmpfiles.d/screen-backlight.conf
원하는 결과를 얻을 수 있습니다.
m /sys/class/backlight/intel_backlight/brightness 0664 root some_group_that_neil_belongs_to - -
man 5 tmpfiles.d
모든 옵션은 리소스를 참조하세요 .