查找:/home/user/.local/share/gvfs-metadata:权限被拒绝

查找:/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

您不应该收到该错误,因为该目录应该归您所有。我猜你已经运行图形应用程序sudo

以您自己的身份登录时,请更正所有权(使用时请务必小心chownsudo

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

现在您不需要sudo搜索该目录。

通常,权限错误find是由于您没有目录的读取权限而发生的,许多由 root 拥有的系统目录都是这种情况。您可以使用(在命令中添加和操作之前要非常小心)或者如果您不想以 root 身份搜索,只需将错误附加到命令中sudo find即可消除结果混乱...2>/dev/null

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

答案2

如果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命令现在由超级用户执行,因此现在可以访问目录及其子目录。

相关内容