이 문제는 다음을 실행했기 때문에 발생합니다.
sudo chown -R admin:admin .*
우리 .
는 현재 디렉토리를 ..
나타내고 부모 디렉토리를 나타냅니다. 로 명령을 실행하면 .*
현재 디렉토리의 숨겨진 파일 .
( .
), 현재 디렉토리 자체 ( ), 상위 디렉토리 ( ..
) 와 일치한다는 의미입니다 . 뒤에 아무 것도 넣지 마십시오 .
( *
0 자 이상을 의미). 그 결과 그 아이의 모든 디렉토리와 함께 상위 디렉토리를 얻을 chown
에 -ed admin:admin
.
이 테스트를보십시오 :
test$ ls -al
drwxrwxr-x 4 foo foo 4096 Jun 3 07:15 .
drwxrwxr-x 4 foo foo 4096 Jun 2 18:06 ..
drwxrwxr-x 2 foo foo 4096 Jun 3 07:15 egg
drwxrwxr-x 2 foo foo 4096 Jun 3 07:12 spam
$ sudo chown -R bar:bar spam/.*
test$ ls -al
drwxrwxr-x 4 bar bar 4096 Jun 3 07:15 .
drwxrwxr-x 4 foo foo 4096 Jun 2 18:06 ..
drwxrwxr-x 2 bar bar 4096 Jun 3 07:15 egg
drwxrwxr-x 2 bar bar 4096 Jun 3 07:12 spam
되돌리려면 chown
영향을받는 디렉토리로 다시 이동 해야 합니다.
나는 당신의 계획이 무엇인지 확실하지 않지만 다음은 몇 가지 아이디어입니다.
으로 chown
(숨겨진 파일 포함) 재귀 적 디렉토리 :
sudo chown -R foo:foo /spam/egg/
으로 chown
그 디렉토리 (안 디렉토리 자체) 내부 (숨겨진 파일 포함) 파일 만 :
(shopt -s dotglob && sudo chown -R foo:foo egg/*)
에 chown
(디렉토리 자체가없는)에만 숨겨지지 않은 파일 :
sudo chown -R foo:foo egg/*
ls -l /home
말합니까?