find: /home/user/.local/share/gvfs-metadata: Permissão negada

1

Quando eu digito um comando como find / -name ??.conf , a saída inclui muitos diretórios, como:

find : /home/simmer/.local/share/gvfs-metadata : Permission Denied 

Eu não obtenho o resultado desejado.

Mas se eu usar o mesmo comando com sudo

sudo find : /home/simmer/.local/share/gvfs-metadata

Em seguida, mostra o resultado esperado.

Por que preciso de sudo privilégios para isso?

    
por Simmerjeet 24.12.2013 / 16:34

2 respostas

1

Você não deve receber esse erro, pois o diretório deve ser de sua propriedade. Eu acho que você tem sido executando aplicativos gráficos com sudo .

Enquanto estiver conectado como usuário, corrija a propriedade (tenha cuidado ao usar chown com sudo ).

sudo chown -R $USER: ~/.local/share/gvfs-metadata

Agora, você não precisará do sudo para pesquisar este diretório.

Em geral, erros de permissão com find ocorrem porque você não tem permissão de leitura no diretório, que é o caso de muitos diretórios de sistema pertencentes a root. Você pode usar sudo find (tenha muito cuidado antes de adicionar e ações ao comando) ou, se não quiser pesquisar como root, descarte os erros para desfazer os resultados, anexando 2>/dev/null ao seu comando ...

find /some/path -some_test some_condition 2>/dev/null
    
por Zanna 03.06.2017 / 23:20
1

Se o comando find for executado por um não superusuário, ele não poderá acessar arquivos e diretórios que não sejam de propriedade do usuário ou se as permissões "r, w, x" não tiverem sido concedidas a esse usuário. do utilizador. Se você quiser verificar isso, digite

ls -l /home/simmer/.local/share/gvfs-metadata

Este comando deve retornar algo como:

drwx------  2 simmer simmer 12288 Jun  8 17:39 gvfs-metadata

A primeira coluna representa as permissões definidas pelos proprietários do arquivo ou diretório. A terceira e quarta colunas representam o proprietário e o grupo do arquivo / pasta, respectivamente.

Se você não for o proprietário ou não tiver permissão suficiente, conforme indicado pela primeira coluna, o programa find não poderá acessá-las. No entanto, usar o comando sudo eleva seus privilégios e, portanto, como o comando find agora é executado pelo superusuário, o diretório e seus subdiretórios podem agora ser acessados.

    
por Jeremy Jackson 07.06.2017 / 20:25