device node의 권한이 오락가락한다고.... 누군가가 나한테 문의하였다.
Android에서 커널 Device 드라이버를 만들고 user 영역과 통신을 위해서 device node를 사용하곤 합니다.
이때 device node에 권한을 주는 방법에 대해 알아보겠습니다.
android에서 권한을 쉽게 주는 방법은 init.rc 파일에서 간단하게 처리가 가능합니다.
아래는 init.rc의 예제 코드 입니다.
# checker programs.
mkdir /dev/fscklogs 0770 root system
# pstore/ramoops previous console log
mount pstore pstore /sys/fs/pstore nodev noexec nosuid
chown system log /sys/fs/pstore
chmod 0550 /sys/fs/pstore
chown / chmod 를 이용해서 권한을 주게됩니다.
하지만 device node가 동적으로 생겼다가 사라지는 node라면 어떻게 할까요 ?
이것도 init.rc의 on event를 이용하여 처리할 수는 있을 겁니다.
하지만 이런방법은 좋은 방법이 아니며, 이런 처리를 위하여 이미 준비가되어 있습니다.
ueventd.rc 를 참고 하기 바랍니다.
https://android.googlesource.com/platform/system/core/+/master/rootdir/ueventd.rc
# sysfs properties
/sys/devices/platform/trusty.* trusty_version 0440 root log
/sys/devices/virtual/input/input* enable 0660 root input
/sys/devices/virtual/input/input* poll_delay 0660 root input
댓글 없음:
댓글 쓰기