권한이 거부되었습니다 /dev/bus/usb/

권한이 거부되었습니다 /dev/bus/usb/

올바른 권한이 있음에도 불구하고 "권한 거부" 메시지가 표시되어 혼란스럽습니다 /dev/bus/usb/005/017.

이는 다음과 유사합니다.이것문제가 있지만 SSH 세션을 다시 시작해 보았습니다.

$ sudo ls -la  /dev/bus/usb/005/
total 0
drw-rw-rw- 2 root root      120 Dec 25 12:40 .
drw-rw-rw- 7 root root      140 Apr 20  2010 ..
crw-rw-rw- 1 root root 189, 512 Dec 25 12:20 001
crw-rw-rw- 1 root root 189, 515 Dec 25 12:20 004
crw-rw-rw- 1 root root 189, 516 Dec 25 12:20 005
crw-rw-rw- 1 root adb  189, 528 Dec 25 12:40 017 #adb group, g+rw

$ groups ealfonso
ealfonso : ealfonso cdrom floppy audio dip video plugdev netdev scanner bluetooth adb # I am in adb group

$ ls -la  /dev/bus/usb/005/017
ls: cannot access /dev/bus/usb/005/017: Permission denied


$ sudo chown ealfonso:ealfonso /dev/bus/usb/005/017 

$ sudo ls -l /dev/bus/usb/005/017
crw-rw-rw- 1 ealfonso ealfonso 189, 528 Dec 25 12:40 /dev/bus/usb/005/017 #owned by ealfonso

$ ls /dev/bus/usb/005/017
ls: cannot access /dev/bus/usb/005/017: Permission denied

내가 무엇을 놓치고 있나요?

편집: 요청에 따라 ls -ld 출력을 추가했습니다.

$ sudo ls -lad  /dev/bus/usb/005
drw-rw-rw- 2 root root 120 Dec 25 12:40 /dev/bus/usb/005 #missing a+x

$ sudo chmod a+x /dev/bus/usb/005 # add a+x

$ ls -la  /dev/bus/usb/005/017 # still denied
ls: cannot access /dev/bus/usb/005/017: Permission denied

$ sudo ls -lad  /dev/bus/usb/005
drwxrwxrwx 2 root ealfonso 120 Dec 25 12:40 /dev/bus/usb/005

편집하다. 의견에서 지적했듯이 /dev/bus/usb에도 x 권한이 부족합니다.

$ ls /dev/bus/usb -l
ls: cannot access /dev/bus/usb/005: Permission denied
ls: cannot access /dev/bus/usb/004: Permission denied
ls: cannot access /dev/bus/usb/003: Permission denied
ls: cannot access /dev/bus/usb/002: Permission denied
ls: cannot access /dev/bus/usb/001: Permission denied
total 0
d????????? ? ? ? ?            ? 001
d????????? ? ? ? ?            ? 002
d????????? ? ? ? ?            ? 003
d????????? ? ? ? ?            ? 004
d????????? ? ? ? ?            ? 005

$ sudo ls /dev/bus/usb -l
total 0
drw-rw-rw- 2 root root      60 Apr 20  2010 001
drw-rw-rw- 2 root root      80 Apr 20  2010 002
drw-rw-rw- 2 root root      60 Apr 20  2010 003
drw-rw-rw- 2 root root      60 Apr 20  2010 004
drwxrwxrwx 2 root ealfonso 120 Dec 25 12:40 005

$ sudo chmod a+x /dev/bus/usb 

$ ls -la  /dev/bus/usb/005/017
crw-rw-rw- 1 root ealfonso 189, 528 Dec 25 13:43 /dev/bus/usb/005/017

답변1

이것은 출력의 일부입니다.

ls -la  /dev/bus/usb/005/017
ls: cannot access /dev/bus/usb/005/017: Permission denied

팁: stat파일에 대한 액세스 권한이 있는 한(파일이 포함된 디렉터리를 통해) 파일에 대한 권한이 없더라도 항상 파일에 액세스할 수 있습니다. 그래서 나는 당신의 문제가 실제로 /dev/bus/usb/005/017그 자체 에 관한 것이 아니라고 생각합니다 .

파일에 액세스하려면 경로 이름의 모든 디렉터리 에 액세스(실행) stat해야 합니다 . x그건,

/
/dev
/dev/bus
/dev/bus/usb
/dev/bus/usb/005

하나 이상의 디렉터리에 x권한이 누락되어야 합니다. 그러나 아마도 그렇지 않을 수도 /있고 , /dev문제가 있는 경우 시스템을 사용하지 못할 수도 있기 때문입니다. 이러한 디렉터리 중 일부 또는 전부에는 r포함된 파일을 볼 수 있지만 해당 파일에 액세스할 수는 없는 액세스 권한이 있을 수 있습니다.

왜 허가를 받지 /dev/bus/usb/005않았 나요 ?/dev/bus/usbx

udev이러한 디렉터리는 장치 노드와 해당 상위 디렉터리가 처음 생성될 때 생성됩니다. umaskudev 데몬이 너무 엄격 할까요 ? 왜 그것이 귀하의 시스템에 나타나는지 잘 모르겠습니다. 올바른 작동을 위해서는 umask의 8진수가 홀수가 아니어야 합니다. 문제는 udevdinitramfs의 초기 부팅 시간일 수 있습니다.

관련 정보