임의 액세스 제어

임의 액세스 제어(DAC)는 파일 또는 디렉토리 소유자가 제어하는 보안 측면입니다.

UNIX 권한

자원에 대한 소유자 액세스 권한이 있는 사용자는 다음을 수행할 수 있습니다.
  • 다른 사용자에게 직접 액세스 부여
  • 다른 사용자에게 사본에 대한 액세스 부여
  • 원본 자원에 액세스할 수 있는 프로그램 제공(예: SUID 프로그램 사용)
기존 UNIX 권한 비트 방법(소유자/그룹/기타 및 읽기/쓰기/실행)이 이 DAC 기능의 예입니다.

권한 비트를 사용하면 사용자가 파일의 데이터에 대한 액세스 권한을 사용자 및 그룹에 부여하거나 거부할 수 있습니다(알아야 할 필요성 기준). 이 유형의 액세스는 사용자 ID와 사용자가 속할 그룹을 기반으로 합니다. 모든 파일 시스템 오브젝트에는 소유자, 그룹 및 전체에 대한 액세스 권한을 설명하는 연관된 권한이 있습니다.

파일의 소유자는 chownchgrp 명령으로 파일의 소유권 또는 그룹을 변경하여 액세스 특권을 다른 사용자에게 부여할 수도 있습니다.

umask

파일이 작성되면 처음에 모든 권한 비트가 켜집니다. 그런 다음 파일은 umask 프로세스에 의해 제거된 특정 권한 비트를 가지게 됩니다. 이는 로그인 프로세스 중에 설정된 것입니다. 디폴트 umask는 사용자의 쉘에서 작성한 모든 파일과 사용자의 쉘에서 실행된 모든 명령에 적용됩니다.

기본적으로 커널 항목의 umask 설정은 000이며 모든 사용자가 모든 권한을 사용할 수 있습니다. AIX®는 커널 umask를 022로 설정하며 이는 그룹 및 전체 쓰기 권한 비트를 끕니다. 그러나 사용자는 필요에 따라 이 설정을 재정의할 수 있습니다.
참고: umask를 022보다 더 허용적인 설정으로 변경하는 것에 대해서는 매우 신중해야 합니다. 파일과 프로세스에서 더 많은 권한을 사용할 수 있으면 시스템은 전체적으로 덜 안전하게 됩니다.
디폴트 umask 설정을 재정의하는 두 가지 방법이 있습니다.
  • .profile, .login 또는 .chsrc 파일에서 umask 값을 변경할 수 있습니다. 이러한 변경은 로그인 세션 동안 작성되는 파일에 영향을 줍니다.
  • umask 명령을 사용하여 개별 프로세스에 대한 umask 레벨을 설정할 수 있습니다. umask 명령을 실행하면 다음 두 이벤트 중 하나가 발생할 때까지 작성된 모든 새 파일이 새 umask의 영향을 받습니다.
    • umask 명령을 다시 실행합니다.

      또는

    • umask 명령이 실행된 쉘을 종료합니다.
인수 없이 umask 명령을 실행한 경우 umask 명령은 세션의 현재 umask 값을 리턴합니다.

프로파일에 umask를 지정하지 않으면 로그인 세션이 커널의 022 umask 값을 상속받도록 허용해야 합니다. 022보다 덜 제한적인 umask 값은 매우 신중하게 사용되어야 합니다.

특정 파일에 추가 권한이 필요한 경우에는 파일을 작성한 후 chmod 명령을 적절히 사용하여 이러한 권한을 설정해야 합니다.

액세스 제어 리스트

AIX 는 표준 UNIX 권한 비트와 umask 값을 비롯하여 액세스 제어 리스트(ACL)도 지원합니다.

UNIX 권한 비트는 파일 소유자, 하나의 그룹 및 시스템의 모든 사용자에 대한 액세스만 제어합니다. ACL을 사용하여 파일 소유자는 특정한 추가 사용자 및 그룹에 대한 액세스 권한을 지정할 수 있습니다. 권한 비트와 같이 ACL은 파일 또는 디렉토리와 같은 개별 시스템 오브젝트와 연관됩니다.

setuid 및 setgid 권한 비트

setuid 및 setgid 권한 비트(사용자 ID 설정 및 그룹 ID 설정)를 사용하면 프로그램을 실행하는 사용자의 사용자 ID 또는 그룹 ID가 아니라 파일 소유자의 사용자 ID 또는 그룹 ID로 프로그램 파일을 실행할 수 있습니다. 이는 파일과 연관된 setuid 및 setgid 비트를 설정하여 구성합니다. 이는 사용자가 파일을 소유하지 않고도 특정 파일을 액세스하고 실행할 수 있는 보호 서브시스템의 개발을 허용합니다.

오브젝트가 작성될 때 setgid 비트를 상위 디렉토리에 설정한 경우 새 오브젝트는 오브젝트 작성자의 그룹이 아닌 상위 디렉토리와 동일한 그룹을 가지게 됩니다. 그러나 setuid 비트를 사용하여 디렉토리에 작성된 오브젝트는 디렉토리 소유자가 아닌 오브젝트 작성자가 소유합니다. 상위 디렉토리의 setuid/setgid 비트 서브디렉토리가 작성될 때 서브디렉토리에 의해 상속됩니다.

setuid 및 setgid 권한 비트는 잠재적인 보안 위험을 나타냅니다. 소유자로서 루트 권한으로 실행하도록 설정된 프로그램은 기본적으로 시스템에 무제한 액세스할 수 있습니다. 그러나 Trusted AIX 시스템에서 특권 및 기타 액세스 제어를 사용하면 이 보안 위험이 크게 감소합니다.