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


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 sudo privilégios para isso?


1
2017-12-24 15:34


origem




Respostas:


Você não deveria estar recebendo 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 logado como você, corrija a propriedade (por favor, tenha cuidado ao usar chown com sudo).

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

Agora você não vai precisar sudo para pesquisar este diretório.

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

find /some/path -some_test some_condition 2>/dev/null

1
2018-06-03 21:20





Se o find o comando é executado por um não superusuário, 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. 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 find programa não pode acessá-los. No entanto, usando o sudo comando eleva seus privilégios e, portanto, como o find Agora, o comando é executado pelo superusuário. Agora, o diretório e seus subdiretórios podem ser acessados.


1
2018-06-07 18:25



Também como @Zanna mencionou você não deveria estar recebendo esse erro. Deve ser de sua propriedade - Jeremy Jackson
@Zanna Eu só comecei a escrever respostas sobre troca de pilha e por isso não estou muito familiarizado com a etiqueta. Obrigado pelo conselho. - Jeremy Jackson
:) obrigado por editar. Parece ótimo agora. Bem-vindo ao Ask Ubuntu & Stack Exchange - Zanna