Grep
為什麼在 POSIX find-grep 中讓這些“Permission Denied”變得可讀?
我在 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
我不喜歡
! -perm -g+r,u+r,o+r -prune
這裡的雙重否定結構和非 Posix 的東西,我認為它相當於! -perm 0444 -prune
.Kusalananda 修復後的提案
我願意
# 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
這些文件和目錄不屬於您,它們屬於使用者,並且對工作
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
,但首先要確保這確實是您想要的。編輯:要查找不屬於 user的所有文件和目錄
$HOME
,請執行以下操作:masi
$ find $HOME \! -user masi