[unix] chmod와 ACL의 차이점

이해 chmodchown어떻게 허가 비트 작동하지만 다른 권한 시스템은 리눅스의 내부에 존재 ACLsetfacl하고 getfacl이 날 궁금합니다, 그래서.

이 두 가지 권한 제어 시스템의 차이점은 무엇입니까? 그들은 서로 방해합니까?



답변

하나는 다른 것보다 낫지 않으며 단지 다른 방법과 사고 방식입니다.

문제없이 동일한 경로에서 두 권한 시스템을 모두 사용할 수 있습니다.

소유자, 소유 그룹 및 기타 권한을 수정할 때 서로 간섭합니다. setfacl에서 이들의 현재 값을 설정할 때 실제로 ACL 권한이 아닌 posix 권한을 설정합니다.

Posix 권한은 소유자, 소유 그룹 및 “모두”권한 만 허용하고 ACL은 여러 “소유”사용자 및 그룹을 허용합니다. ACL을 사용하면 폴더의 새 파일에 대한 기본 권한을 설정할 수도 있습니다.

보다 엄격한 제어를 위해 apparmor 또는 selinux를 사용하여 권한 관리를 추가 할 수 있습니다.


답변

chmod (읽기 / 쓰기 / 실행, 사용자 / 그룹 / 기타)가 설정 한 기본 Unix 권한은 ACL보다 훨씬 오래 존재했습니다. ACL이 처음부터 존재했다면, 우리가 알고있는 chmod는 없을 것입니다. 그러나 chmod는 오랫동안 존재했기 때문에 많은 응용 프로그램에서이를 호출하고 많은 아카이브 형식이 클래식 권한 등을 지원합니다. ACL을 사용하여 chmod 권한을 표시 할 수 있습니다. 이들은 ACL의 시작점 역할을합니다.

ACL이있을 때 액세스 제어가 작동하는 방식에 대한 자세한 처리는 파일 권한에서 사용자 및 그룹 소유자의 우선 순위사용자가 여러 그룹속하는 경우 ACLS의 우선 순위를 참조하십시오 .

chmod명령은 또한 실제로 권한은 아니지만 setuid, setgidsticky bit 같은 권한이라고도하는 플래그를 제어합니다 . 파일에 대해 권한이 부여 된 액세스에는 영향을 미치지 않지만 권한이 부여 된 후 파일의 특정 작업이 작동하는 방식에 영향을주기 때문에 실제로 권한이 아닙니다. ACL에는 이와 같은 것이 없습니다.


답변