ACL?

purewell의 이미지

RedHat9의 릴리즈노트를 보면,

ACL모듈이 불안정하여 커널에서 빼냈다...라고 하는데,

ACL이 뭐하는 녀석인가요?

정장혁의 이미지

ACL은 Access Control List의 약자로서, 파일의 권한설정기능입니다.
전통적으로 유닉스는 owner,group,other에 대해서 권한을 설정할 수 있으나, 최신유닉스는 유저별, 그룹별로 권한을 설정할 수 있습니다.
대표적으로 윈도우즈 NTFS파일시스템에서 파일의 권한설정 기능을 생각하시면 됩니다.

Kari의 이미지

리눅스와 같이 일반 유닉스에서는 권한기반의 접근관리를 합니다.
즉 위의 분께서 말씀하신 바와 같이, 소유자, 그룹, 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 등 다양한 프로젝트들이 리눅스 커널에 향상된 보안 접근통제를 제공하기 위해 노력하고 있습니다.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.