Вопрос find: /home/user/.local/share/gvfs-metadata: разрешение отклонено


Когда я набираю команду как find / -name ??.conf выход включает в себя множество каталогов, таких как:

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

Я не получаю желаемого результата.

Но если я использую ту же команду с sudo

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

Затем он показывает ожидаемый результат.

Зачем мне нужно sudo привилегии для этого?


1
2017-12-24 15:34


происхождения




ответы:


Вы не должны получать эту ошибку, поскольку каталог должен принадлежать вам. Я думаю, вы были запуск графических приложений с sudo,

При входе в систему как самостоятельно, исправьте владение (всегда будьте осторожны при использовании chown с sudo).

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

Теперь вам не понадобится sudo для поиска в этом каталоге.

В общем случае ошибки разрешения с find потому что у вас нет разрешения на чтение в каталоге, что имеет место для многих системных каталогов, принадлежащих root. Вы можете использовать sudo find (будьте очень осторожны перед добавлением и действиями в команду), или если вы не хотите искать в качестве пользователя root, просто отбросьте ошибки, чтобы удалить ненужные результаты, добавив 2>/dev/null к вашей команде ...

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

1
2018-06-03 21:20





Если find команда выполняется не суперпользователем, она не сможет получить доступ к файлам и каталогам, которые не принадлежат пользователю, или если разрешения «r, w, x» не были предоставлены этому пользователю. Если вы хотите проверить это, введите

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

Эта команда должна возвращать что-то вроде:

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

Первый столбец представляет разрешения, заданные владельцами файла или каталога. Третий и четвертый столбцы представляют собой владельца и группу файла / папки соответственно.

Если вы не являетесь владельцем или у вас нет достаточного разрешения, как указано в первом столбце, find программа не может получить к ним доступ. Однако, используя sudo команда повышает ваши привилегии и, следовательно, find теперь команда суперпользователя теперь управляет каталогом и теперь можно получить доступ к его подкаталогам.


1
2018-06-07 18:25



Также как @Zanna упомянул, что вы не должны получать эту ошибку. Он должен принадлежать вам - Jeremy Jackson
@ Занна Я только начал писать ответы на обмен стека, и поэтому я не очень хорошо знаком с этикетом. Спасибо за совет. - Jeremy Jackson
:) спасибо за редактирование. Выглядит отлично. Добро пожаловать в Ask Ubuntu & Stack Exchange - Zanna