현재 디렉토리 위의 디렉토리로 시작하는 재귀 chown


27

"admin"계정에 로그인 할 수 없었으며 Alt+ Ctrl+ F1는 "표준"사용자가 모든 파일을 소유하고 있음을 보여주었습니다. 이상한.

그래서 나는 조심스럽게로 변경 /home/admin하고했던

sudo chown -R admin:admin *

(그리고 .*역시).

큰.

그런 다음 "표준"사용자로 로그인 할 수 없었으며 /home/standard이제 모든 파일 이 "admin"이 소유 한 것으로 나타났습니다.

꽤 유머러스합니다. 왜 이런 일이 발생합니까?

sudo chown -R standard:standard /home/standard/*

같은 일을 /home/admin하고뿐만 아니라 변경 했습니다 /home/standard.

나는 15.04로 업그레이드하려고 시도했기 때문에 평소보다 혼란 스럽습니다. 컴퓨터가 너무 많이 망쳐 서 14.04로 물건을 되돌려 놓았습니다. 인내하십시오.


아마도 하나는 다른 하나와의 상징적 인 연결일까요? 무엇을 ls -l /home말합니까?
스틸 드라이버

답변:


35

이 문제는 다음을 실행했기 때문에 발생합니다.

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/*
    

고맙습니다, 지금 그것을 얻습니다 ... duh; P 그래도 오류가 발생하고 14.04 설치 프로그램이 충돌하는 Grub과 관련이 없다면 소유자가 왜 처음부터 바뀌 었는지 모르겠습니다. 내 표준 사용자는 내가 만든 첫 번째 사용자였으며 나중에 해당 사용자를 강등시키고 새 사용자를 만들었습니다.
DavidP

@DavidP 나는 당신이 무엇을 받고 있는지 잘
모르겠습니다

3

파일의 ". *"매개 변수 인 것 같습니다. "."을 포함하여 "."로 시작하는 모든 항목과 일치합니다. 은 ".."파일. ".."는 그 아래에있는 모든 것을 포함하는 상위 디렉토리입니다.

가장 좋은 방법은 하나의 폴더를 백업하고 변경하려는 실제 폴더를 지정하는 것입니다 (/ home / admin).

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.