ACL은 Access Control List의 약자로서, 파일의 권한설정기능입니다.
전통적으로 유닉스는 owner,group,other에 대해서 권한을 설정할 수 있으나, 최신유닉스는 유저별, 그룹별로 권한을 설정할 수 있습니다.
대표적으로 윈도우즈 NTFS파일시스템에서 파일의 권한설정 기능을 생각하시면 됩니다.
리눅스와 같이 일반 유닉스에서는 권한기반의 접근관리를 합니다.
즉 위의 분께서 말씀하신 바와 같이, 소유자, 그룹, other 에 대해
읽기 쓰기 실행권한을 설정하죠. 특별히 이런것을 임의적 접근통제
(Discretionary Access Control)라고 합니다. (스펠이 맞는지 ㅡ.ㅡ;;)
왜 임의적이냐면, 자신이 가진 객체의 소유권을 자기 맘데로 조작할 수 있으니까 그렇게 불립니다. chmod가지고 자기 소유의 파일 소유권을 바꿀 수 있으니까요.
하지만, 이런 접근통제 방식은 다른 보안 요구조건에 대해 맞지 않는 경우(예를 들어 군대조직 같으면 등급시스템..) 가 있으므로 다른 방식의 접근통제들이 연구가 되고 있습니다.
예를들어 보안이 strict하게 중요한 곳에서는 보안 관리자가 모든 객체를 관리하는 강제적 접근통제(Mandatory Access Control)방법이 필요하겠죠.
이런 방법에는 등급에 따른 객체 labeling, 혹은 역할기반 등등의 접근통제 방법등 그외 많은 방법들이 연구되어 있습니다.
ACL은 이러한 접근통제를 반영하여 구현할 수 있는 메커니즘의 일종입니다.
말 그대로 접근통제에 대한 정보를 담는 리스트로, 어떤 소유자에 대한 접근할 수 있는 객체와 권한의 구조체를 노드로 같는 리스트입니다.
위의 분께서 말씀하셨듯이 Windows NT에는 향상된 보안 기능을 제공하기 위해 ACL을 따로 제공하고 관련 API와 관리도구가 존재합니다. 리눅스에서도 커널2.5.xx부터 이런 ACL이 포함되어 기존의 파일 퍼미션 위에 향상된 보안기능을 제공하고자 이러한 기능이 포함된걸로 알고 있으며 2.6안정버전에 포함될거라고 들었습니다.
저도 그 릴리즈를 봤는데 베타커널(2.5.x)에서 제공하는 ACL이 커널을 regress한다고 되어 뺏다고 한걸 보니 아직 문제가 있는 모양입니다. 보통 이러한 기능을 구현하기 위해서 는 커널 기반에서 파일시스템이나 네트웍 스택 등 자원을 접근 할 수 있는 모든 곳에 터치를 하게 되는데 이게 성능에 무리가 가는 경우가 있습니다.
참고로, 현재 SELinux나 Trusix, RSBAC 등 다양한 프로젝트들이 리눅스 커널에 향상된 보안 접근통제를 제공하기 위해 노력하고 있습니다.
ACL은 Access Control List의 약자로서, 파일의 권한설정
ACL은 Access Control List의 약자로서, 파일의 권한설정기능입니다.
전통적으로 유닉스는 owner,group,other에 대해서 권한을 설정할 수 있으나, 최신유닉스는 유저별, 그룹별로 권한을 설정할 수 있습니다.
대표적으로 윈도우즈 NTFS파일시스템에서 파일의 권한설정 기능을 생각하시면 됩니다.
ACL
리눅스와 같이 일반 유닉스에서는 권한기반의 접근관리를 합니다.
즉 위의 분께서 말씀하신 바와 같이, 소유자, 그룹, other 에 대해
읽기 쓰기 실행권한을 설정하죠. 특별히 이런것을 임의적 접근통제
(Discretionary Access Control)라고 합니다. (스펠이 맞는지 ㅡ.ㅡ;;)
왜 임의적이냐면, 자신이 가진 객체의 소유권을 자기 맘데로 조작할 수 있으니까 그렇게 불립니다. chmod가지고 자기 소유의 파일 소유권을 바꿀 수 있으니까요.
하지만, 이런 접근통제 방식은 다른 보안 요구조건에 대해 맞지 않는 경우(예를 들어 군대조직 같으면 등급시스템..) 가 있으므로 다른 방식의 접근통제들이 연구가 되고 있습니다.
예를들어 보안이 strict하게 중요한 곳에서는 보안 관리자가 모든 객체를 관리하는 강제적 접근통제(Mandatory Access Control)방법이 필요하겠죠.
이런 방법에는 등급에 따른 객체 labeling, 혹은 역할기반 등등의 접근통제 방법등 그외 많은 방법들이 연구되어 있습니다.
ACL은 이러한 접근통제를 반영하여 구현할 수 있는 메커니즘의 일종입니다.
말 그대로 접근통제에 대한 정보를 담는 리스트로, 어떤 소유자에 대한 접근할 수 있는 객체와 권한의 구조체를 노드로 같는 리스트입니다.
위의 분께서 말씀하셨듯이 Windows NT에는 향상된 보안 기능을 제공하기 위해 ACL을 따로 제공하고 관련 API와 관리도구가 존재합니다. 리눅스에서도 커널2.5.xx부터 이런 ACL이 포함되어 기존의 파일 퍼미션 위에 향상된 보안기능을 제공하고자 이러한 기능이 포함된걸로 알고 있으며 2.6안정버전에 포함될거라고 들었습니다.
저도 그 릴리즈를 봤는데 베타커널(2.5.x)에서 제공하는 ACL이 커널을 regress한다고 되어 뺏다고 한걸 보니 아직 문제가 있는 모양입니다. 보통 이러한 기능을 구현하기 위해서 는 커널 기반에서 파일시스템이나 네트웍 스택 등 자원을 접근 할 수 있는 모든 곳에 터치를 하게 되는데 이게 성능에 무리가 가는 경우가 있습니다.
참고로, 현재 SELinux나 Trusix, RSBAC 등 다양한 프로젝트들이 리눅스 커널에 향상된 보안 접근통제를 제공하기 위해 노력하고 있습니다.
댓글 달기