我在 Posix 中这样做find $HOME +perm 0666 -type f -exec grep -l "XSym" {} \;
,但得到了我不明白的信息
find: ‘/home/masi/.dbus’: Permission denied
grep: /home/masi/.viminfo: Permission denied
grep: /home/masi/.cache/dconf/user: Permission denied
自从
drwx------ 3 root root 4096 Jun 18 14:49 .dbus
-rw------- 1 root root 6266 Jun 18 13:24 .viminfo
-rw------- 1 root root 2 Jun 18 14:51 /home/masi/.cache/dconf/user
我不喜欢双重否定结构和非 Posix 的东西,比如! -perm -g+r,u+r,o+r -prune
这里我认为这相当于! -perm 0444 -prune
.
库萨拉南达修复后的提案
我愿意
# http://unix.stackexchange.com/a/121020/16920
find / -type d \! -perm 0666 -prune -o -type f -name '._*' -print
输出:没有文件。预期输出:许多文件,其中包含许多适当的文件。我跑
find / -type d \! -perm +0666 -prune -o -type f -name '._*' -print
我明白了
find: invalid mode ‘+0666’
系统:Ubuntu 16.04 64位
Grep:2.25
查找:4.7.0-git
答案1
这些文件和目录不属于您,它们属于用户root
,并且具有过于严格的访问权限find
和grep
工作权限。因此,find
抱怨无法进入目录/home/masi/.dbus
(执行其工作),并grep
抱怨无法读取文件(执行其工作)它是工作)。
这些文件和目录不属于您,即使它们位于您的主目录中。它们属于用户的原因root
很可能是您一直在运行某些东西(vim
以及其他东西)root
,无论这些程序创建了文件和目录。
chown masi:masi
您可以使用(应替换为您的用户名和默认组名,请参阅您的其他文件)更改这些文件和目录的所有权masi:masi
,但您需要这样做root
,因此请使用sudo chown ...
.
如果您想确保全部你的主目录中的文件和目录属于你sudo chown -R masi:masi $HOME
,但首先要确保这确实是你想要的。
编辑:查找$HOME
其中的所有文件和目录不属于用户masi
,执行以下操作:
$ find $HOME \! -user masi