액세스 제어 목록 acl
명백한 변종의 액세스 제어를 매트릭스는 각 열을 저장하기 위해 사용하여 해당 개체가를 나타냅니다. 따라서 이와 관련된 각 개체에는 한 세트의 쌍, 각 쌍 제목과 일련의 권리를 포함합니다. 명명된 변경될 수있습니다 연결된 개체를 사용하여 이러한 권한에 액세스합니다. 더 많은 정식 : 하자의 수있는 일련의 주제, 그리고 r는 세트의 권리,의 시스템입니다. 액세스 제어 목록 (acl) 리터가 한 세트의 쌍 리터 = ((들, r) :의 포함되어의, r r)에 포함되어있습니다. acl 수 있도록하는 함수가를 결정합니다 리터 관련된 액세스 제어 목록을 사용하여 특정 개체를 o. 의 해석의 액세스 제어 목록 acl (o) = ((아파트,로드 아일랜드) : 1 <= 나는 <= 해당)는 해당 과목 제출 o를 사용하여 어떤 권리에 액세스할 수있습니다 리입니다. 하나의 문제는 그 사안의 기본 권한입니다. 제목이없는 경우라는 이름의 acl, 그것이없는 권리 동안의 관련 개체입니다. 시스템에서 많은 과목을 acl 수가 매우 큽니다. 만약 여러 과목이 동일한 권리를 통해 파일을 만들 수있을 정의하는 "와일드 카드"에 대해 일치하는 이름이 지정되지 않은 과목을 부여할 기본 권리입니다. | 예 : unicos 7.0 acl이 항목의 양식 (사용자, 그룹, 권리)입니다. 만약 사용자가 이름의 그룹, 그 또는 그녀는 그러한 권리를 놓고 개체입니다. 예를 들어,이 triplet (홀리, maceranch, r)를 통해 사용자가 홀리 읽기 (r) 액세스 동안의 개체를 때만 홀리했습니다 maceranch와 그녀의 그룹입니다.
사용자 또는 그룹이 지정된 경우로 "*"를, 그 캐릭터가 이동하여 모든 사용자 또는 모든 그룹과 일치합니다. 따라서, (홀리, *, r)를 통해 홀리 읽기 권한 동안의 개체에 상관없이 그룹을 그녀는; (*, maceranch, r)를 통해 모든 사용자가 읽기 권한을 통해 개체가되면 그 사용자는이 그룹에 maceranch. |
약자의 액세스 제어 목록 일부 시스템 오류나 액세스 제어 목록입니다. 의 근거에 대한 파일의 액세스 제어에 유닉스 운영 체제가이 다양합니다. 유닉스 시스템을 분리하여 사용자 집합에 세 개의 클래스 :의 소유자는 파일의 그룹 소유자의 파일을, 그리고 다른 모든 사용자입니다. 각 클래스는 별도의 일련의 권리입니다. 예 : 유닉스 시스템을 제공 읽기 (r), 쓰기 (쓰기), 실행 (x) 권한이있습니다. 주교 때 사용자가 파일을 만듭니다을 정합하는 것은이 그룹에 vulner. 처음에, 주교를 요청했다고에서 읽고 쓸 수있게하려면 해당 파일을 해당 회원을 그룹에서 읽을 수 있도록하고, 파일의 파일에 대한 액세스 권한이 아무도합니다. 그런 다음의 권한은 rw에 대한 소유자, r에 대한 그룹 및 없음에 대한 기타입니다.
유닉스 권한은 3 개의 세쌍둥로 표시됨. 첫 번째는 소유자가 권리를; 두 번째, 그룹 권리; 그리고 세 번째, 기타 권리가있습니다. 각 triplet, 첫 번째 순위는 r이 읽기 액세스 권한이 허용되거나되지 않은 경우; 두 번째 순위는 w 경우 쓰기 권한이 허용되거나되지 않은 경우; 그리고 세 번째 순위는 x 만약 실행 액세스가 허용하거나 그렇지 이 아닙니다. 의 사용 권한에 대한 주교의 파일 될 rwr.
흥미로운 질문은 유닉스 시스템을 할당 그룹을 소유하는 방법입니다. 전통적으로 유닉스 시스템을 할당하고 효과적인 교장 그룹 id의 생성 과정입니다. 그러나 경우에 따라 이것은 적절하지 않습니다. 예를 들어, 정해 줄 프린터 그룹 권한을 사용하여 프로그램을 작동합니다; 말은 그 그룹은 lpdaemon. 그런 다음, 사용자의 파일을 복사합니다 스풀 디렉토리, lpdaemon해야합니다 스풀 파일을 소유하고있습니다. 가 장 간단한 방법을 시행이 요구 사항은 스풀 디렉토리를 만들어 그룹의 소유 lpdaemon와가의 그룹 소유권을 상속하는 모든 파일을 해당 디렉토리에 만들어집니다. 일부 systemsnotably, solaris, sunos systemsaugment가 의미론의 파일 보호 모드로 설정 setgid 비트의 디렉토리되면 디렉토리에 만들어진 모든 파일이 포함된 디렉토리의 소유권을 상속의 그룹입니다. |
약자의 액세스 제어 목록, 유닉스 운영 체제가 지원하는 것과 같은, 고통을 상실 단위입니다. 시다 유닉스 시스템이 5 개의 사용자입니다. 안나 베스를 읽을 수 있도록하고자하는 그녀의 파일, 벤저민를 작성하여 그것을 della을 읽기와 쓰기를하고 엘리자베스를 실행합니다. 때문에 지 불과 3 세트의 권한과 5 개의 원하는 조치의 권리 (비롯한 앨리스), 3 개의 세쌍둥이 부족하여 모든 원하는 모드로의 액세스를 허용합니다. 그래서 앨리스는 타협을해야한다, 그리고 사람이 더 많은 권한을 부여하거나 다른 사람보다 그녀는 욕망 또는 더 적은 권리를 부여합니다. 이와 유사하게, 전통적인 유닉스 액세스 제어를 허용하지 않는 한 할 말이 "누구나지만 사용자 이정훈"; 이렇게하려면 그룹의 하나를 제외한 모든 사용자 이정훈 작성해야합니다. 이 같은 배열이 복잡하기 때문에 더욱하므로 시스템 관리자만이 그룹을 만들 수있습니다.
많은 시스템 추 약자의 acl과 전체 - 이브 acl. 이 제도를 사용하는 약어는 acl을 기본 권한을 제어; 기본적으로 필요한만큼를 지정할 acl을 무시합니다. 정확한 방법을 다릅니다. 예 : ibm의 버전의 유닉스 운영 체제, 전화 aix를 사용하는 acl (라고 불리는 "확장 권한")를 추의 전통 유닉스 약자의 acl ( "자료 권한"). 전통 acl과는 달리, aix acl을 사용하면 하나를 지정할 권한을 사용자의 세트는 추가 또는 삭제합니다. 같은 unicos, aix 기지 경기에 대한 그룹 및 사용자 신원. 특정 알고리즘 (aix의 용어를 사용하며,이를 통해 "자료 권한"은 유닉스 약자의 acl과 "확장된 권한"이 unabbreviated acl 항목)는 다음과 같다. 어떤 세트의 결정의 권한은 사용자가에서 자료 권한이있습니다. 만약 연장 권한이가 장애인을 중지합니다. 이 세트의은 사용자의 일련의 사용 권한이있습니다. 그 다음 항목에 얻을의 확장 사용 권한을합니다. 가 더 이상 없으면, 중지합니다. 이 세트의은 사용자의 일련의 사용 권한이있습니다. 해당 항목은 동일한 사용자 및 그룹으로 프로세스를 요청하는 액세스를 결정할 경우에 입국을 거부 액세스합니다. 그렇다면, 중지합니다. 액세스가 거부되었습니다. 수정의 권한에있는 항목에 의해 지시한대로합니다.
로 특정 들어, 다음과 같은 표현을 고려 aix 시스템의 액세스 제어에 대한 사용 권한이 파일 도서입니다. 특성 : 자료 사용 권한을 소유자 (주교) : rw - 그룹 (sys) : r - 다른 사람 : --- 확장 사용 권한을 활성화되어 지정 rw - u : 홀리 허용 - w - u : 얻고, g = sys 허용 rw - u : 맷 거부 - w - u : 홀리, g = 교수진
의 확장 사용 권한을 행, 첫 번째 필드를 결정 무엇을 줄 수단 ( "지정"을 재정의 자료 권한, "허용"을 추 권리, 및 "거부"를 삭제 권리); 두 번째 필드 상태에 대한 권리 관여를 사용하여 전통적인 유닉스 triplet; 그리고 세 번째 필드를 정의하고 사용자가 ( "u :")과 그룹 ( "g :") 관여합니다.
이 예제에서는, 홀리 도서를 읽을 수 있기 때문에 첫 번째와 네 번째 라인의 확장 사용 권한이 섹션을 재정의 자료에 대한 액세스 권한을 거부 다른 사람 (이 클래스의 어떤 홀리 회원입니다). 홀리가 작동의 경우 교수진 그룹, 그녀에 쓸 수없습니다 도서 (마지막 행)지만 읽을 수있습니다 그것 (첫번째 줄). 사용자가 듯이, 작업으로 그룹 sys, 해당 파일을 읽고 쓸 수있습니다 (이 그룹 라인의 자료 사용 권한을 부여 얻고 읽기 권한; 의 첫 번째 허용 라인의 확장 사용 권한이 섹션에서는 그녀의 쓰기 권한). 이런 방식으로의 확장 사용 권한을 추의 기본 권한입니다. |
작성 및 유지 보수의 액세스 제어 목록 acl 특정 구현의 세부 사항에 차이가있습니다. 몇가 지 문제는 다음과 같다. 어떤 과목을 수정할 수있습니다 개체의 acl가? 권한이있는 경우 사용자 (예 : 루트에있는 유닉스 시스템 또는 관리자의 windows nt), acl을 수행 사용자에게 적용되는가? 는 acl을 지원 그룹이나 와일드 카드 (즉, 사용자가 될 수있습니다 그룹화 세트를 기반으로하는 시스템을 개념의 "그룹"또는에 대한 패턴 매칭)? 모순의 액세스 제어 권한을 처리하는 방법은? 만약 하나의 항목에서만 읽을 권한을 부여하고, 다른 보조금 쓰기 권한만을하고있는 오른쪽하지의 대상이 동안의 개체가? 경우에 기본 설정은 허용을 수행 acl 권한을 수정하기, 또는이 기본 조건이없는 경우에만 사용을 명시적으로 언급에 acl가?
이러한 isues이 중요하기 때문에을 올바른 사용을 acl에있는 시스템, 우리는 그들에 대한 자세한 내용을 탐색합니다. 어떤 과목을 수정할 수있습니다 개체의 acl가? acl이 작성되면, 권리는 초기화됩니다. 수석들 사이 이러한 권리는 하나 우리는 전화를 소유합니다. possessors는 자신의 오른쪽 acl을 수정할 수있습니다.
그 acl을 만드는 개체도 만듭니다와 함께 일부 초기 값 (아마도 빈하지만 더 일반적으로 작성자는 처음에 주어진 모든 권리를 포함한 자신을 통해 새로운 개체)입니다. 에 의해 협약을 대상으로 자신의 권리가 허용 acl을 수정합니다. 그러나, 어느 누구와 함께 일부 시스템에 대한 액세스를 조작할 수있는 권리를 허용합니다. 예 : 관계형 데이터베이스 시스템을 r을 포함 집합의 해당 - 지어 의사를 기록, 각 요소의 각 해당 - 메소드는 특성을합니다. 이러한 해당 - 튜플이 저장되어로 테이블을 사용하여 기록으로 행과 열의로의 특성입니다. 각 테이블을 정의하는 관계입니다.
의 권리에 대한 조작은 표 (관계)를 포함 읽기 (예를 독서 행, 쿼리를 사용하여 관계, 또는 정의보기), 업데이트 (예를을 서면으로하는 표), 삽입 (예를 추 행), 삭제 (예를 삭제 행), 드롭 (예를 삭제 테이블)입니다. 각각의 오른쪽에는 수정자이라 불리우는 권한 부여 옵션을 설정할 수있는 경우 문을 줄 수있는 권리를 다른합니다. 모든 사용자와 함께 테이블에 대한 액세스를 제공할 수있습니다가에 대한 저작권을 어떤 다른 사용자를 제공한 수있는 권리가 부여 옵션이있습니다. 그래서 소지 액세스 (과 권한 부여 옵션 연관된 각 오른쪽),하지 소유권을 제어하는 양도의 권리입니다. |
acl을 적용하는 특혜를 수행합니다 사용자가? 많은 시스템이 사용자와 함께 여분의 권한입니다. 이 두 장 잘 알려져있다는 루트 슈퍼 - 사용자에 유닉스 시스템과 관리자가 사용자에 대한 windows nt, 2000 시스템입니다. 일반적으로, acl (또는 자신의 퇴화 형태)이 적용하는 데 한계가 패션이 같은 사용자가있습니다. 예 : solaris 유닉스 시스템을 사용 모두의 약어는 acl 표준을 유닉스 시스템과 전체 - 이브 acl. 에서 약어는 acl이 무시하면 루트는 제목을하고 있지만 전체 acl를 뿌리에도 적용됩니다. |
는 acl을 지원 단체와 와일드 카드가? 의 고전 양식, acl 그룹이나 와일드 카드를 지원하지 않습니다. 실제로, 시스템을 지원 하나 이상의 다른 (또는 둘 모두)을 한도의 크기는 acl과 있도록 조작의 목록을보다 쉽게합니다. 단체 수의 특성 중 하나를 수정 프로세스에 액세스하거나 될 수에 대한 동의어를 일련의 사용자 (이 회원의 그룹). 예 : 위의 예제에 aix, 회수가 확장된 권한을 행 (대응하는의 전체 acl)들이 확장 사용 권한을 활성화 지정 rw - u : 홀리 허 - w - u : 얻고, g = sys 허 rw - u : 맷 거부 - w - u : 홀리, g = 교수진 처음에는 그룹 sys 있었다 파일에 대한 읽기 권한만을합니다. 두번째 라인을 추 쓰기 권한에 대한 처리와 함께 uid 듯이, gid sys. 첫 번째 라인을 통해 프로세스를 사용하여 uid 홀리 읽기 및 쓰기 액세스 권한을 제외하면 gid의 과정은 교수진, 어떤 경우이든이 과정에 쓸 수없습니다 개체 (44 라인을 참조하십시오). |
예 : unicos 운영 체제가 제공하는 사람의 aix acl과 비슷하지만, 와일드 카드를 사용하면됩니다. 예를 들어, 홀리 : maceranch : r 는 것을 의미하는 과정과 함께 uid 홀리와 gid maceranch를 읽을 수있습니다 개체가있는 acl 연결되어있습니다. 가 acl 입국 홀리 : * : r uid 홀리와 함께한다는 것을 의미하는 프로세스가 개체에 상관없이 그룹에 액세스할 수있는이 과정은 인치와 입국 * : maceranch : r 모든 과정을 함께한다는 의미가 개체 gid maceranch를 읽을 수있습니다. |
갈등 충돌이 발생하면 두 개의 액세스 제어 목록 항목에 동일한 acl 서로 다른 권한을 부여 조건입니다. 이 시스템에 액세스할 수있는 경우 입국을 제공할 수 있도록 액세스, 부정 액세스있을 경우 입국이 거부를 액세스, 또는 적용가 일치하는 첫 번째 항목의 제목입니다. 예 : 만약 어떤 항목에 aix acl을 부정 액세스,의 대상이되는 항목의 위치에 상관없이 액세스 거부합니다. 그렇지 않은 경우 해당 항목이 부여된 액세스, 제목은 액세스 권한이 부여됩니다. 이것의 예는 거부를 복용 우선순위입니다. |
예 : 시스코 라우터를 적용합니다와 일치하는 첫 번째 액세스 제어 목록 항목에서 들어오는 패킷입니다. 없으면 제품을 들어오는 패킷이 삭제됩니다. 이것의 예는 두 번째 접근 방식을 사용하여 기본 규칙을 거부합니다. |
acl과 기본 권한 시 acl 및 약자의 액세스 제어 목록 또는 기본 액세스 권한이 공존 (예에 대한 많은 유닉스 시스템), 두가 지 방법을 확인하려면 액세스 권한이있습니다. 첫 번째는 적용하려면 적절한 acl 항목, 만약 하나의 존재, 그리고을 적용하려면 기본 권한이나 약자의 액세스 제어 목록 그렇지. 두 번째 방식은 추가 기본 권한 또는 약자의 액세스 제어 목록과 함께 이들의 해당 acl 항목입니다. 예 : aix 연장 권한이 빠지지 두 번째 범주, 때문에 자료 권한을 수정합니다. |
예 : 경우에 패킷을 입력하는 시스코 라우터는 네트워크에있는 호스트에 대한 향하는 배후에 라우터를하지만, 라우터에 대한 액세스 목록 항목이 없다는 패킷을 전달하는 것을 허용은 패킷이 폐기합니다. 이것은 첫 번째 방법의 예입 때문에,이 기본 권한은 거부합니다. |
해지의 권리 해지, 또는 조건의 접근을 방지하는 개체를 필요로하는 조건의 권리는 삭제된에서 개체의 acl.
액세스하는 것을 방지하는 개체는 단순 제목입니다. 에 대한 항목의 제목이 삭제된에서 개체의 acl. 구체적인 권리는가 삭제될 경우에만, 이들은 관련성이 높은 제목의 항목에서 제거를 acl.
만약 소유권을 제어하지 않습니다을 준비해야의 권리, 해지는 더 복잡합니다. 예 : 돌아 시스템 기철시다 안나 주신 베드로가 업데이 트 권리를 통해 그들과의 연계 톤 그러나 이제 소원을 취소합니다. 해지 이후에 보류가되는 시스템을 r의 보호 상태의 시스템을해야한다 안나 주었다 베드로가 모든 권리를 이전하게됐다. 특히, 만약 피터 주었다 마리아를 업데이 트 권리, 언제 안나 철회 베드로의 업데이 트를 권리, 마리아의 업데이트 권리를 박탈하지 않는 한 다른 사람이 아닌되어야 베드로는 또한 그녀의 업데이트 권한을 부여합니다.
를 구현하려면이, 시스템 r 정의하는 관계라는 sysauth. 의 특성은이 관계는 (사용자, 테이블, 양도인, 읽기, 삽입, 삭제, 드롭, 업데이트)입니다. 의 값을 특성에 대응하는 권리는 타임 스탬프를 나타내는 경우에 권리는 부여 (단에 대한 업데이 트를하고있는 우리는 나중에 다룰)입니다. 예를 들면, 만약 안나 주었다 피터 읽기 권한 동안의 관련 보고서를 언제 시간이 10, 그리고 베드로에게 그들을 메리 언제 시간이 20,이 테이블은 다음과 같습니다. | 사용자가 | 표 | 양도인 | 읽기 |
|---|
베드로 | 리포트 | 안나 | 10 | 메리 | 리포트 | 베드로 | 20 |
만약 안나 철회 베드로의 읽을 권리, 그리고 마리아 안나 준 후 베드로로부터 입수한 그녀의 읽기 권한이 그들을 베드로, 그녀의 읽기 권한을 취소할 수도있습니다. 그러나,시다는 미셸도 주어진 메리 읽기 권한이 넘는 리포트입니다. 다음의 마지막 행을 삭제 테이블에서 단풍에 대한 항목이 marynamely를 하나의 주소 미셸 : | 사용자가 | 표 | 양도인 | 읽기 |
|---|
베드로 | 리포트 | 안나 | 10 | 메리 | 리포트 | 미셸 | 5 |
그래서 마리아는 아직 읽어보고있습니다.
이 업데이 트 오른쪽 값이 모두, 일부, 또는 없음. 이러한 값을 행하는 집합를 참조하여 변경할 수있습니다. 이 값이 일부를 제 2의 관계라는 syscolauth 레코드 열의가 변경될 수있습니다 업데이 트됩니다. 이 테이블도를 기록 시간, 해지 수익금에 대해서는 다른 열입니다. |
예 : windows nt 액세스 제어 목록 windows nt를 제공합니다 이들 파일에 대한 액세스 제어 목록 ntfs 파티션을합니다. windows nt을 사용하면 사용자 또는 그룹에게 읽기, 쓰기, 실행, 삭제, 변경하는 권한은, 또는 소유권의 파일이나 디렉토리입니다. 이러한 권리는 일반적인 권리라고 세트로 그룹화 공통적으로 할당합니다. 일반 권리에 대한 파일은 다음과 같다. 아니오 액세스, 보완의 대상 파일에 접근할 수 없다 읽기, 보완의 대상 수 읽기 또는 실행 파일을 변경, 보완의 대상 수 읽기, 실행, 쓰기, 또는 파일을 삭제합니다 전체 제어, 보완의 대상이 모든 권리를 파일
또한, 일반적인 권리 특별 액세스를 사용하면 과제 중 하나가 6 권한이있습니다.
windows nt 디렉토리도 자신의 개념은 일반적인 권리입니다. 아니오 액세스, 보완의 대상에 액세스할 수없습니다 디렉토리 읽기, 보완 또는 실행 파일을 읽을 수있습니다 내에있는 디렉토리를 조건 목록, 보완의 대상 수 목록의 내용을 디렉토리 및 하위 디렉토리 내에있는 디렉토리를 변경할 수있습니다 추가, 보완의 대상 파일이나 하위 디렉토리에있는 디렉토리를 만들 수있습니다 추가와 읽기, 어떤 디렉토리는 일반적인 권리를 추가 및 읽기 변경, 보완의 대상을 작성, 읽기, 실행, 또는 쓰기 파일 내에있는 디렉토리 및 하위 디렉토리를 삭제할 수있습니다 전체 제어, 보완의 대상이 모든 권리 동안의 파일 및 하위 디렉토리에있는 디렉토리
이전처럼 일반 특별 액세스 권한을 허용 할당의 다른 조합의 권한입니다.
사용자가 액세스하는 파일, windows nt 첫 번째 검사는 파일의 acl. 사용자가 없을 경우에 acl, 그리고 어떤 그룹의 구성원이 아닌 나와있는 acl, 액세스가 거부되었습니다. 그렇지 않으면, 만약 어떤 acl 입국을 거부에 대한 사용자 액세스, windows nt 부인의 액세스 (이것은 명시적 거부가하고있는이 계산된 첫 번째). 액세스 권한이없는 경우를 명시적으로 부인, 그리고 사용자가라는 이름의 acl (예 중 하나는 사용자하거나 회원의 그룹), 사용자는 노동 조합의 일련의 권리에서 각 acl 항목이있는 사용자의 이름이있습니다.
한 예로,시다 폴, quentin, 그리고 리자는 사용자의 windows nt 시스템입니다. 바울과 quentin이 그룹에있는 학생입니다. quentin과 리자는 그룹 직원입니다. 디렉토리 이메일 : \ 콘텐츠는 그 액세스 제어 목록을 설정하여 (직원, 추가), (quentin, 변경), (학생, 아니오 액세스). 아래에이 목록의 첫 번째 항목을 사용하면 리자를 작성 하위 디렉토리 또는 파일의 이메일 : \ 콘텐츠입니다. 3 번째 항목을 금지 모든 회원의 그룹 학생들의 접근에 디렉토리입니다. 의 두 번째 항목을 허용 quentin을 삭제하려면 하위 디렉토리를 제외하고는 quentin은 학생 단체, 그리고이 windows nt 명시적 거부 (로 주어진의 세 번째 항목)을 무시합니다의 권한을 부여합니다. 그래서 quentin 디렉토리에 액세스할 수없습니다.
이제, 알려 리자의 하위 디렉토리를 만드십 plugh의 이메일 : \ 콘텐츠입니다. 그녀는 그런 바울의 접근을 차단하지만, 님이 quentin을 갖고 변화에 액세스할 수 있도록 허용합니다. 그녀는 다음과 같은입니다. - 만들 이메일 : \ 소재 \ plugh; 그 acl는 (직원, 추가), (quentin, 변경), (학생, 아니오 액세스).
- 의 마지막 항목을 삭제합니다 acl; 의 두 번째 항목으로이 부여 quentin 변화에 액세스합니다.
- 추가 항목 (바울이 없으면 액세스)을 acl.
의 마지막 단계는 과잉, windows nt를 부정 액세스하기 때문에 기본적으로 설정되어 있지만 것이 안전을 추가 어쨌든, 마시고은 그룹 학생은 주어진 권리입니다. 가있는 경우 발생한다 바울은 이러한 권리를하지 않으면 얻을 (바울이 없으면 액세스) 항목들이 존재합니다. |