파일 및 폴더 소유자가 상위 디렉터리에 대한 권한이 없는데 콘텐츠를 수정할 수 있는 이유는 무엇입니까?

파일 및 폴더 소유자가 상위 디렉터리에 대한 권한이 없는데 콘텐츠를 수정할 수 있는 이유는 무엇입니까?

내 문제의 예는 /home다음 디렉토리입니다.

drwxr-xr-x   8 root root  4096 Jan 29 23:44 home/

따라서 의 소유자 /home는 입니다 root.

하지만 나는 내 개인 홈 폴더의 소유자입니다.

drwx--x--- 85 teo     teo      4096 Jan 30 16:22 teo/

teo/폴더가 속한 경우 /home내 사용자가 폴더 아래의 내용을 수정할 수 있는 이유는 무엇입니까 root?
내 개인 폴더를 수정하면 /home해당 폴더도 수정됩니다. 그 폴더는 의 하위 폴더 /home이고 제가 root해당 그룹에 속해 있지 않기 때문입니다.

답변1

유닉스에는 파일과 디렉터리(파이프나 장치와 같은 이상한 "파일"이지만 일반 파일과 마찬가지로 권한이 있음)와 기호 링크(본질적으로 가리키는 파일의 이름이 포함된 파일)가 있습니다. 디렉토리는 단순히 파일 이름 목록과 해당 실제 파일에 대한 참조입니다. 이렇게 하면 동일한 파일이 다른 이름으로 표시되도록 하거나 동일한(또는 다른) 이름이 다른 디렉토리에 표시되도록 할 수 있습니다.

파일 시스템 개체에는 r(ead), w(rite) 및 e(x)ecute의 세 가지 기본 권한이 있습니다. 일반 파일의 경우 읽기는 내용을 읽을 수 있음(예: 복사, 보기 등)을 의미하고 쓰기는 내용을 수정할 수 있음(덮어쓰기, 끝에 내용 추가, 0 길이로 자르기)을 의미합니다. 읽기와 관련하여 수정은 가능하지만 읽을 수는 없는 파일이 있을 수 있습니다.) 실행은 해당 파일을 프로그램으로 실행한다는 의미입니다. 디렉토리의 경우 읽기는 내용(파일 이름) 나열을 의미하고, 쓰기는 수정(파일 추가/제거)을 의미하고, 실행은 디렉토리를 사용하여 파일 자체를 가져오는 것을 의미합니다(디렉토리에 r이 있지만 x가 없으면 다음을 볼 수 있습니다). 파일 이름에 접근할 수 있지만 가져올 수는 없습니다). 심볼릭 링크의 권한은 중요하지 않습니다. 위에서 설명한 것과 같습니다. 파일 이름이 포함된 짧은 파일이 지정되고 내용이 정상적으로 처리됩니다. 예, 매우 직교합니다(독립적).

시스템은 권한을 소유자, 개체가 속한 그룹 및 기타 모든 사람의 세 그룹으로 나눕니다. 각 사용자는 하나 이상의 그룹에 속합니다. 작업 허용 여부를 확인할 때 먼저 소유자인지 확인하고 소유자인 경우 소유자가 아니지만 그룹에 속한 경우 그룹 권한을 고려합니다. 확인됩니다.

실제로 이는 의미 없는 권한 조합을 허용합니다. 그러나 이것은 단순한 모델이므로 언젠가는 "말도 안되는" 조합의 용도를 발견하게 될 것입니다.

일부 개체의 소유자는 마음대로 사용 권한을 변경할 수 있습니다.

답변2

파일 모드를 변경할 수 있는 권한은 해당 파일의 소유자 사용자에게 있기 때문입니다.

자신의 파일과 디렉토리를 변경할 수 있다는 것은 좋은 생각이기 때문입니다.

상위 디렉터리는 변경되지 않기 때문에 상위 디렉터리에는 하위 파일(및 디렉터리)의 이름이 포함됩니다. 모드(권한 포함)는 파일의 일부입니다(포함된 디렉터리의 일부가 아님). 두 디렉터리 모두에서 하드 링크를 생성하면 이를 볼 수 있습니다.

관련 정보