権限が拒否されました /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

少なくとも1つのディレクトリにx権限がありません。しかし、おそらくそうでない可能性が/あり、/dev問題がある場合はシステムを使用できない可能性があるからです。これらのディレクトリの一部または全部には、含まれているrファイルを表示できますが、そのファイルにアクセスすることはできないアクセス権がある可能性があります。

なぜ許可を受けてい/dev/bus/usb/005ないのですか?/dev/bus/usbx

udevこれらのディレクトリは、デバイスノードとその親ディレクトリが最初に作成されたときに作成されます。umaskudevデーモンはとても厳しいですか?なぜそれがあなたのシステムに現れるのか分かりません。正しい操作を行うには、umaskの8進数が奇数ではないはずです。問題は、udevdinitramfsの初期起動時間である可能性があります。

おすすめ記事