permissão negada / dev / bus / usb /

0

Estou confuso com "permissão negada", apesar de aparentemente ter permissões corretas para /dev/bus/usb/005/017 .

Isso é semelhante a essa pergunta, mas eu já tentei reiniciar minha sessão 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

O que estou perdendo?

Editar: adicionando a saída de ls -ld conforme solicitado:

$ 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

Editar. Como apontado nos comentários, o / dev / bus / usb também estava faltando x permissões

$ 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
    
por user84207 25.12.2016 / 22:10

1 resposta

2

Veja aqui parte da sua saída:

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

Dica: você sempre pode stat de um arquivo, desde que você possa acessá-lo (através do diretório que o contém), mesmo que você não tenha permissão para isso. Então, com isso, suspeitei que o seu problema não estava com o /dev/bus/usb/005/017 em si.

Obtendo acesso ao arquivo para poder stat , é necessário ter x (executar) acesso a todos os diretórios no nome do caminho. Isto é,

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

Um ou mais desses diretórios devem estar sem a permissão x . Mas provavelmente não será / ou /dev , pois o seu sistema provavelmente ficará inutilizável se o problema persistir. Observe que qualquer um ou todos esses diretórios podem ter r access, permitindo que você veja quais arquivos eles contêm, mas não obtêm, nesses arquivos.

Por que sua permissão /dev/bus/usb/005 e /dev/bus/usb está faltando x ?

Esses diretórios serão criados quando udev criou os nós de dispositivos e seus diretórios pai. Talvez o umask no daemon do udev seja muito rigoroso? Eu não tenho certeza porque isso estaria no seu sistema. Para operação correta, nenhum dos dígitos octal no umask deve ser ímpar. Observe que o problema pode estar com o udevd iniciado no início da inicialização no initramfs.

    
por 25.12.2016 / 23:07