I do in Posix find $HOME +perm 0666 -type f -exec grep -l "XSym" {} \; but get this which I do not understand
find: ‘/home/masi/.dbus’: Permission denied
grep: /home/masi/.viminfo: Permission denied
grep: /home/masi/.cache/dconf/user: Permission denied
since
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
I do not like double negation structure and non-Posix things like ! -perm -g+r,u+r,o+r -prune here which I think is equivalent to ! -perm 0444 -prune.
Proposal after Kusalananda's fix
I do
# http://unix.stackexchange.com/a/121020/16920
find / -type d \! -perm 0666 -prune -o -type f -name '._*' -print
Output: no files. Expected output: many files with many appropriate files. I run
find / -type d \! -perm +0666 -prune -o -type f -name '._*' -print
I get
find: invalid mode ‘+0666’
System: Ubuntu 16.04 64 bit
Grep: 2.25
Find: 4.7.0-git