/dev/
좋습니다...그래서 chown 및 chmod를 사용하여 주변 장치의 일부 파일에 액세스하는 많은 튜토리얼의 지침을 따랐습니다 .
chown과 chmod는 재부팅을 통과하지 못합니다. 그것은 중요하지 않습니다. 내가 보고 있는 문제는 chmod 및/또는 chown을 성공적으로 사용한 후에도 및/또는 /dev/
같은 디렉터리 파일을 조작할 수 없다는 것과 관련이 있습니다 .gpio
i2c
그래서 현재 사용자에 대한 명명 체계를 설정한 다음 해당 사용자에 대한 그룹을 설정했지만 여전히 내 파일에 액세스할 수 없습니다. 나는 사양에 따라 , 및 /dev/bone/
와 같은 일부 주변 파일에 대한 파일을 채우도록 지시하는 내장 컴퓨터를 사용하고 있습니다 .pwm
uart
i2c
특별한 점 /dev/
은 내부에서 파일을 제어하는 것이 /dev/
chown 및 chmod를 사용하여 추가된 명령 권한 및 사용자:그룹의 영향을 받지 않는다는 것입니다.
여전히 /sys/class/gpio/ 및/또는 /sys/class/pwm/을 사용하지 않고 /dev/에 빌드하는 방법을 교육하려고 합니다.
답변1
/dev/
시스템이 시작되면 디렉토리 트리가 다시 생성됩니다. 결국 하드웨어를 추가/제거했을 수도 있습니다.
많은 장치 액세스 문제는 그룹 멤버십 변경으로 해결될 수 있는 권한 문제입니다.
sudo journalctl --follow
연결된 장치를 보면 장치 이름을 찾을 수 있습니다. 또는 ls -1 -l /dev >dev.before
장치를 연결하고 10초 동안 기다리십시오 ls -1 -l /dev >dev.after;diff dev.{before,after}
.
특히 ls -l
그룹 표시 권한(두 번째 " rwx
" 삼중항)이 " rw
"(예: " -rw-rw----
")인 경우 장치를 소유한 그룹에 자신을 추가하면 rw
액세스 권한이 부여됩니다.
그게 다야 :
# change to your device name
device="/dev/YourDevice"
sudo adduser $USER $(stat -c "%G" $device)
이를 통해 장치를 사용할 수 있는 그룹의 구성원이 될 수 있습니다 rw
.하지만 한 가지 단계가 더 있습니다.
모든 프로세스를 새 그룹의 구성원으로 만들려면 로그아웃한 후 로그인하세요. 그룹 멤버십은 시간 기준으로 설정됩니다 login
.
새 그룹에서 단일 프로세스를 생성하려면(테스트용, 로그아웃/로그인 전):
newgrp $(stat -c "%G" $device)
또는 그룹 이름을 입력하세요. 바라보다 man newgrp
.