正しい権限があるにもかかわらず、「権限の拒否」というメッセージが表示され、混乱しています/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/usb
x
udev
これらのディレクトリは、デバイスノードとその親ディレクトリが最初に作成されたときに作成されます。umask
udevデーモンはとても厳しいですか?なぜそれがあなたのシステムに現れるのか分かりません。正しい操作を行うには、umaskの8進数が奇数ではないはずです。問題は、udevd
initramfsの初期起動時間である可能性があります。