найти: /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
задан 7 June 2017 в 21:51

2 ответа

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

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

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

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

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

find /some/path -some_test some_condition 2>/dev/null
0
ответ дан 7 June 2017 в 21:51

Если команда 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 теперь выполняется суперпользователем, к каталогу и его подкаталогам теперь можно получить доступ.

0
ответ дан 7 June 2017 в 21:51

Другие вопросы по тегам:

Похожие вопросы: