ext4
디렉토리 권한과 파일 권한 사이에 충돌이 있을 때 Linux OS가 파일 시스템에서 사용하는 규칙이 무엇인지 묻고 싶습니다 .
예:
drwxrwx--- user1 group2 FOLDER
-rw-r--r-- user1 group1 FILE
group2
파일에 대한 사용자는 어떤 권한을 FILE
갖게 됩니까?...이 상황에서 파일 권한을 결정하는 일반적인 규칙은 무엇입니까?
감사해요.
답변1
사용자가 그룹 2에 있으면 FOLDER 디렉터리에 대한 그룹 권한을 따릅니다. 즉
rwx
user1도 아니고 group1에도 없다고 가정하면 FILE에 대한 "기타" 권한을 살펴보겠습니다. 즉
r--
따라서 그들은 이 파일에 대한 읽기 권한만 갖습니다. 이것은 약간 혼란 스럽습니다. 쓰기 권한이 없으므로 이 파일을 직접 수정할 수 없습니다. 그러나 wx
디렉토리에 대한 정보가 있으므로 rm
이 파일을 새 파일로 교체할 수 있습니다. (주의하세요. inode는 변경될 수 있으며 원래 소유자에게 이를 제공할 수 없으므로 chown
파일을 직접 수정하는 것과 정확히 동일하지는 않습니다.)
따라서 일반적으로 권한은 가장 상위 디렉터리에서 상속됩니다. 권한이 더욱 제한됨에 따라 하위 파일과 디렉터리도 제한됩니다. 그러나 위와 같이 wx
최상위 디렉터리에 대한 권한이 있는 경우 해결 방법이 있습니다.
편집하다
마찬가지로, 를 사용하여 파일을 편집하면 vim
inode가 변경된 것을 볼 수 있습니다. "편집"이 아니라 "덮어쓰기"입니다.
$ echo foo > file
$ ls -li file
5213942 -rw-r--r-- 1 sparhawk sparhawk 4 Aug 16 15:34 file
$ sudo chown root:root file
$ ls -li file
5213942 -rw-r--r-- 1 root root 4 Aug 16 15:34 file
$ vim file
$ ls -li file
5214750 -rw-r--r-- 1 lee lee 7 Aug 16 15:35 file
vim
파일을 덮어쓴 후 inode의 변경 사항을 확인하십시오 . 또한 vim은 파일이 읽기 전용이라는 경고를 표시했습니다. 으로 저장해야 했습니다 :w!
.