ACL 권한은 어떻게 처리되며 특정 사용자 작업에 어떤 순서로 적용됩니까? 적용되는 순서를 더 잘

CentOS 6.4

파일 시스템 ACL 규칙이 처리되는 방법과 ACL 규칙이 적용되는 순서를 더 잘 이해하려고합니다.

예를 들어 bob 및 joe 사용자가 sales라는 그룹에 속해 있다고 가정합니다. 다음 세부 정보가 포함 된 판매 문서가 있다고 가정하겠습니다.

[root@Maui ~]# getfacl /home/foo/docs/foo.txt
getfacl: Removing leading '/' from absolute path names
# file: home/foo/docs/foo.txt
# owner: jane
# group: executives
user:: r--
user:bob:rw-
user:joe:rwx
group:sales:rwx
group::r--
mask::rwx
other::---

내 질문은 이와 같은 예제에서 권한이 어떻게 처리되고 어떤 액세스 권한이 우선합니까?

하향식 검색 만 있고 어떤 규칙이 먼저 적용됩니까?

또는 Linux가 문제의 사용자에게 가장 구체적인 규칙에 따라 액세스를 시행합니까? 아니면 가장 제한적이고 적용 가능한 규칙이 우선합니까?



답변

이것은 광범위한 주제이며 여기서 다루기에는 너무 많은 것입니다. SuSE Labs의 Andreas Grünbacher가 함께 정리 한 LinuxPOSIX 액세스 제어 목록 백서 를 참조하도록 하겠습니다. ACL의 작동 방식을 이해하기 위해 주제를 다루고 분류하는 작업이 훌륭합니다.

당신의 예

이제 예제를 살펴보고 자세히 살펴 보겠습니다.

  • 그룹 (판매)
  • 영업 그룹 구성원 (bob, joe)

이제 file에 대한 권한을 분류 해 봅시다 /home/foo/docs/foo.txt. ACL은 또한 대부분의 사람들이 Unix에서 주로 사용하는 것과 동일한 권한 (주로 사용자, 그룹 및 기타 비트)을 캡슐화합니다. 먼저 그것들을 꺼내겠습니다.

user:: r--
group::r--
other::---

이들은 일반적으로 다음과 같이 보입니다 ls -l:

$ ls -l /home/foo/docs/foo.txt
-r--r----- 1 jane executives 24041 Sep 17 15:09 /home/foo/docs/foo.txt

파일을 소유 한 사람과이 ACL 행을 가진 그룹이 무엇인지 확인할 수 있습니다.

# owner: jane
# group: executives

이제 우리는 ACL의 핵심에 빠져 들었습니다 :

user:bob:rw-
user:joe:rwx
group:sales:rwx

이것은 user bob는 가지고 rw있지만 user joe는 가지고 있음을 보여줍니다 rwx. rwxjoe와 비슷한 그룹도 있습니다 . 이 권한은 ls -l출력 의 사용자 열에 3 명의 소유자 (jane, bob 및 joe)와 2 개의 그룹 (임원 및 영업)이있는 것처럼 보입니다. ACL 이외의 구별은 없습니다.

마지막 mask줄 :

mask::rwx

이 경우 우리는 아무것도 가리지 않고 넓게 열려 있습니다. 따라서 bob 및 joe 사용자가 다음 줄을 가지고 있다면 :

user:bob:rw-
user:joe:rwx

그러면 그것들은 그들의 효과적인 권한입니다. 마스크가 다음과 같은 경우 :

mask::r-x

그러면 효과적인 권한은 다음과 같습니다.

user:bob:rw-    # effective:r--
user:joe:rwx    # effective:r-x

이것은 도매 방식으로 부여되는 권한을 줄이기위한 강력한 메커니즘입니다.

참고 : 파일 소유자 및 기타 권한은 유효 권한 마스크의 영향을받지 않습니다. 다른 모든 항목이 있습니다! 따라서 마스크와 관련하여 ACL 권한은 기존 Unix 권한과 비교할 때 2 등 시민입니다.

참고 문헌