POSIX find-grep에서 이러한 "권한 거부"를 읽을 수 있도록 만드는 이유는 무엇입니까?

POSIX find-grep에서 이러한 "권한 거부"를 읽을 수 있도록 만드는 이유는 무엇입니까?

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지나치게 제한적입니다 . 그래서 디렉터리에 들어갈 수 없다고 불평하고 (작업을 수행함) 파일을 읽을 수 없다고 불평합니다(작업을 수행함).findgrepfind/home/masi/.dbusgrep그것은일하다).

이러한 파일과 디렉터리는 홈 디렉터리에 있더라도 귀하의 것이 아닙니다. 그들이 사용자에게 속한 이유는 무엇보다도 파일과 디렉토리를 생성한 프로그램이 무엇이든 root무엇인가를 실행했기 때문일 가능성이 높습니다 .vimroot

chown masi:masi를 사용하여 이러한 파일과 디렉터리의 소유권을 변경할 수 있지만 (사용자 이름과 기본 그룹 이름으로 바꿔야 함, 다른 파일 참조) masi:masi이 작업을 수행해야 하므로 를 root사용하십시오 sudo chown ....

확실히 하고 싶다면모두홈 디렉토리의 파일과 디렉토리는 귀하의 소유이지만 sudo chown -R masi:masi $HOME먼저 그것이 실제로 원하는 것인지 확인하십시오.

편집하다$HOME: 그 안의 모든 파일과 디렉터리를 찾습니다.아니요사용자에게 속하며 masi다음을 수행합니다.

$ find $HOME \! -user masi

관련 정보