Raspbian에서 장치 읽기 및 쓰기 권한을 영구적으로 설정하는 방법은 무엇입니까?

Raspbian에서 장치 읽기 및 쓰기 권한을 영구적으로 설정하는 방법은 무엇입니까?

저는 Raspbian(Debian 기반의 Raspberry Pi용 배포판)을 사용하고 있습니다.

i2c를 사용하는 스크립트 가 있습니다 .

일반적으로 루트만이 i2c에 대한 읽기 및 쓰기 권한을 갖습니다.

이 명령을 사용하여 일반 사용자에게 i2c r/w 권한을 추가합니다.

# chmod a+rw /dev/i2c-*

그러나 재부팅한 후에는 이러한 장치에 기본 권한이 부여됩니다.

무엇인가요가장 좋은 방법내 i2c를 일반 사용자가 영구적으로 읽고 쓸 수 있게 만드시겠습니까?

Raspberry Pi가 부팅된 후 위 명령을 실행하기 위해 init.d에 스크립트를 추가하는 것보다 더 "우아한" 방법이 있습니까?

답변1

다음을 사용하여 이 작업을 수행할 수 있습니다.우데브. 예를 들어 /etc/udev/rules.d이라는 접미사가 있는 파일을 만들고 다음과 같은 줄을 추가합니다..ruleslocal.rules

ACTION=="add", KERNEL=="i2c-[0-1]*", MODE="0666"

MODE=0666rw는 소유자, 그룹, 세계를 나타냅니다. 대신 또는 동시에 수행할 수 있는 작업은 노드에 대한 GID를 지정하는 것입니다. 예를 들면 다음과 같습니다.

GROUP="pi"

해당 설정 대신 이 값을 사용하면 MODE기본값인 0660(소유자 및 그룹의 경우 rw)이 적용되지만 그룹은 가 되므로 pi사용자는 pirw 권한을 갖게 됩니다. OWNER같은 방식으로 지정할 수도 있습니다 .

==위와 차이점을 주목하세요 =. 전자는 뭔가가 맞는지 테스트하는 것이고, 후자는 그것을 설정하는 것입니다. =그것들을 혼합하는 것을 잊지 마십시오 ==.

이 내용을 적용하려면 재부팅해야 합니다.


"udev 규칙 작성" 참조

답변2

일부 장치 그룹에는 루트가 아닌 그룹 소유자가 있습니다. 여기에는 디스크, 입력, 사운드, tty 및 직렬 장치가 포함됩니다. 이를 위해 사용자를 그룹에 추가하여 전체 장치 그룹에 대한 액세스를 제공할 수 있습니다.

/dev/ttyUSB0예를 들어 사용자에게 액세스 권한을 제공합니다 pi. 귀하의 ls -l장치를 구입하고,

crw-rw---- 1 root dialout 4, 64 Jan 19 01:36 /dev/ttyUSB0

그룹이 이므로 그룹 에 dialout추가 하면pidialout/etc/group

dialout:x:20:pi

그런 다음 사용자는 pi로그아웃했다가 다시 로그인하여 새 그룹 멤버십을 활성화할 수 있습니다.

관련 정보