저는 Raspbian(Debian 기반의 Raspberry Pi용 배포판)을 사용하고 있습니다.
i2c를 사용하는 스크립트 가 있습니다 .
일반적으로 루트만이 i2c에 대한 읽기 및 쓰기 권한을 갖습니다.
이 명령을 사용하여 일반 사용자에게 i2c r/w 권한을 추가합니다.
# chmod a+rw /dev/i2c-*
그러나 재부팅한 후에는 이러한 장치에 기본 권한이 부여됩니다.
무엇인가요가장 좋은 방법내 i2c를 일반 사용자가 영구적으로 읽고 쓸 수 있게 만드시겠습니까?
Raspberry Pi가 부팅된 후 위 명령을 실행하기 위해 init.d에 스크립트를 추가하는 것보다 더 "우아한" 방법이 있습니까?
답변1
다음을 사용하여 이 작업을 수행할 수 있습니다.우데브. 예를 들어 /etc/udev/rules.d
이라는 접미사가 있는 파일을 만들고 다음과 같은 줄을 추가합니다..rules
local.rules
ACTION=="add", KERNEL=="i2c-[0-1]*", MODE="0666"
MODE=0666
rw는 소유자, 그룹, 세계를 나타냅니다. 대신 또는 동시에 수행할 수 있는 작업은 노드에 대한 GID를 지정하는 것입니다. 예를 들면 다음과 같습니다.
GROUP="pi"
해당 설정 대신 이 값을 사용하면 MODE
기본값인 0660(소유자 및 그룹의 경우 rw)이 적용되지만 그룹은 가 되므로 pi
사용자는 pi
rw 권한을 갖게 됩니다. OWNER
같은 방식으로 지정할 수도 있습니다 .
==
위와 차이점을 주목하세요 =
. 전자는 뭔가가 맞는지 테스트하는 것이고, 후자는 그것을 설정하는 것입니다. =
그것들을 혼합하는 것을 잊지 마십시오 ==
.
이 내용을 적용하려면 재부팅해야 합니다.
답변2
일부 장치 그룹에는 루트가 아닌 그룹 소유자가 있습니다. 여기에는 디스크, 입력, 사운드, tty 및 직렬 장치가 포함됩니다. 이를 위해 사용자를 그룹에 추가하여 전체 장치 그룹에 대한 액세스를 제공할 수 있습니다.
/dev/ttyUSB0
예를 들어 사용자에게 액세스 권한을 제공합니다 pi
. 귀하의 ls -l
장치를 구입하고,
crw-rw---- 1 root dialout 4, 64 Jan 19 01:36 /dev/ttyUSB0
그룹이 이므로 그룹 에 dialout
추가 하면pi
dialout
/etc/group
dialout:x:20:pi
그런 다음 사용자는 pi
로그아웃했다가 다시 로그인하여 새 그룹 멤버십을 활성화할 수 있습니다.