Permissão negada para alguns arquivos, mesmo com sudo e chmod 777

5

Eu tive várias vezes que não tive permissão para editar um arquivo. Mesmo quando eu chmoded para 777 e abrir o arquivo com sudo . Por exemplo. o arquivo /sys/kernel/debug/vgaswitcheroo/switch em este tutorial .

Primeiro, como isso é possível? Segundo, como posso obter acesso a esse tipo de arquivo?

    
por OrangeTux 20.11.2012 / 18:26

1 resposta

5

Não é suficiente ter permissão de leitura em um arquivo para lê-lo. Você também precisa ter permissão de leitura no diretório ao qual pertence. No caso de /sys/kernel/debug/vgaswitcheroo/switch , o problema é /sys/kernel/debug , o qual, por padrão, é legível somente pelo root:

$ ls -ld /sys/kernel/debug
drwx------ 22 root root 0 Nov 20 18:25 /sys/kernel/debug

Você precisa chmod a+r /sys/kernel/debug para ter acesso ao conteúdo desse diretório.

(Eu não recomendaria isso, já que dar acesso global a /sys/kernel/debug não é algo seguro de se fazer, mas esse é um problema diferente.)

A maneira mais comum de acessar esses arquivos é usar um shell de root:

sudo -i
    
por Andrea Corbellini 20.11.2012 / 18:38