관련 질문:Linux 파일 시스템/조직은 Windows와 어떻게 다릅니까?
나는 파일과 디렉터리에 대한 권한이 어떻게 작동하는지 어느 정도 잘 알고 있습니다. 각 항목에는 파일 소유자와 소유자가 속한 그룹을 나타내는 owner
및 속성이 있습니다(틀린 경우 정정해 주세요).group
이는 Windows NTFS 파일 시스템의 권한 구성과 어떻게 다릅니까? NTFS에 비해 Unix 권한 시스템의 장점은 무엇입니까?
답변1
NTFS에는 Windows ACE가 있습니다. Unix는 각 파일에 "모드 비트"를 사용합니다.
NTFS에서 각 파일에는 한 명의 소유자와 0개 이상의 Windows ACE(액세스 제어 항목)가 있을 수 있습니다. ACE는 주체(사용자 및 그룹이 주체임), 일련의 작업(읽기, 쓰기, 실행 등), 해당 작업의 허용 또는 거부 여부로 구성됩니다. 파일에는 많은 ACE가 있을 수 있습니다. 파일이 아닌 Windows의 개체(예: 레지스트리 키, 프린터 개체 및 기타 개체)에도 ACE가 있을 수 있습니다. 파일 작업이 발생할 때 모든 ACE가 고려됩니다. 거부는 허가보다 우선합니다.
Windows ACE는 디렉터리에 대한 ACE를 설정하고 이를 하위 수준 디렉터리에 자동으로 전파할 수 있는 상속을 지원합니다.
Unix의 파일에는 소유자(owner)와 소유자 그룹(owner-group)이 있습니다. 소유자, 소유자 그룹의 구성원 및 기타 모든 사람(월드라고도 함)의 세 가지 고정된 "주체"가 있습니다. 각 주제에는 읽기, 쓰기 및 실행 기능을 다루는 3개의 "비트"가 있습니다. (이것은 디렉토리와 파일에 대해 서로 다른 의미를 갖습니다.이것). 이 비트는 누가 어떤 작업을 수행할 수 있는지를 결정합니다. 이를 파일 모드라고 하며 파일에 내장되어 있습니다(별도의 ACE 없음).
대부분의 경우 "world" 권한에 관심이 있습니다. 즉, "world"의 세 비트를 모두 0으로 설정하면 소유자나 그룹 소유자가 아닌 사람은 파일에 대해 어떤 작업도 할 수 없다는 의미입니다. Unix 권한은 파일 시스템에만 적용되지만 대부분의 개체는 파일로 나타나므로 권한을 사용하여 디스크, 프린터 등에 대한 액세스를 제한할 수 있습니다. Unix 권한은 더 간단하지만 더 "대략"합니다. Unix 권한은 상속을 지원하지 않으며 하위 수준 디렉터리에 영향을 주지 않습니다. 단, 새로 생성된 파일이 디렉터리의 권한을 가정하게 만드는 디렉터리의 실행 권한(제 생각에는)을 제외하고는 (그러나 현재 생성된 파일에는 영향을 미치지 않습니다).
전통적으로 Unix 파일에는 소유자와 소유자 그룹이 있습니다. Linux에는 Windows와 유사한 방식으로 파일에 ACE를 추가하는 확장 기능이 있습니다.
유닉스의 장점은 단순히 시스템이 단순할수록 일반적으로 이해하기 쉽고 보안이 뛰어나며, 파일 시스템이 파일을 열 때 아이노드 외에 ACE를 획득할 필요가 없기 때문에 속도가 더 빠르다는 점이다.
답변2
한 가지 완전히 다른 점은 "실행 가능"은 파일 이름이나 확장자를 기반으로 하지 않고 Linux/Unix에서 권한이라는 것입니다.
Linux에서는 실행 권한을 제거하여 무언가가 실행되지 않도록 할 수 있기 때문에 이는 Windows에 비해 이점이 있습니다. 마법 확장은 전혀 중요하지 않습니다. 이것이 전통적인 파일 바이러스가 Unix와 Linux에서 거의 진전을 이루지 못한 이유 중 하나일 수 있습니다.