Oracle® Solaris 11.2의 사용자 및 프로세스 보안

인쇄 보기 종료

업데이트 날짜: 2014년 7월
 
 

권한이 구현되는 방법

각 프로세스에는 프로세스가 특정 권한을 사용할 수 있는지 여부를 결정하는 4개의 권한 세트가 있습니다. 커널이 자동으로 권한의 유효 세트를 계산합니다. 권한의 초기 상속 가능한 세트를 수정할 수 있습니다. 권한을 사용하도록 코딩된 프로그램은 권한의 허가된 세트를 줄일 수 있습니다. 권한의 제한 세트를 축소할 수 있습니다.

  • 유효 권한 세트 또는 E – 현재 유효한 권한 세트입니다. 프로세스는 허가된 세트에 속한 권한을 유효 세트에 추가할 수 있습니다. 또한 E에서 권한을 제거할 수도 있습니다.

  • 허가된 권한 세트 또는 P – 사용할 수 있는 권한 세트입니다. 상속 또는 지정을 통해 얻은 권한을 프로그램에 사용할 수 있습니다. 실행 프로파일은 프로그램에 권한을 지정하는 하나의 방법입니다. setuid 명령은 root가 가진 모든 권한을 프로그램에 지정합니다. 허가된 세트에서 권한을 제거할 수 있지만 추가할 수는 없습니다. P에서 제거된 권한은 자동으로 E에서 제거됩니다.

    권한 인식 프로그램은 프로그램에서 사용하지 않는 권한을 프로그램의 허가된 세트에서 제거합니다. 이렇게 하면 프로그램이나 악의적 프로세스에서 불필요한 권한을 악용할 수 없습니다. privilege-aware(권한 인식) 프로그램에 대한 자세한 내용은 Developer’s Guide to Oracle Solaris 11 Security 의 2 장, Developing Privileged Applications을 참조하십시오.

  • 상속 가능한 권한 세트 또는 I – exec 호출을 통해 프로세스가 상속할 수 있는 권한 세트입니다. exec 호출 이후 상속된 권한이 허가된 세트 및 유효 세트에 배치되므로 setuid 프로그램의 특수한 경우를 제외하고 이러한 세트가 동일하게 설정됩니다.

    setuid 프로그램의 경우 exec의 호출 후에 상속 가능한 세트가 먼저 제한 세트로 제약됩니다. 그런 다음, 상속된 권한 세트(I)에서 제한 세트에 속한 권한(L)을 뺀 값이 해당 프로세스의 P 및 E에 지정됩니다.

  • 제한 권한 세트 또는 L – 프로세스와 해당 자식에서 사용할 수 있는 권한의 외부 제한을 정의하는 세트입니다. 기본적으로 제한 세트는 모든 권한입니다. 프로세스가 제한 세트를 축소할 수 있지만 제한 세트를 확장할 수는 없습니다. L은 I를 제한하는 데 사용됩니다. 결과적으로, L은 exec 시간에 P 및 E를 제한합니다.

    사용자가 권한 지정 프로그램을 포함하는 프로파일에 지정된 경우 대개 해당 프로그램을 실행할 수 있습니다. 수정되지 않은 시스템에서 프로그램의 지정된 권한은 사용자의 제한 세트 내에 있습니다. 프로그램에 지정된 권한은 사용자의 허가된 세트의 일부가 됩니다. 권한이 지정된 프로그램을 실행하려면 사용자가 profile shell(프로파일 셸)에서 프로그램을 실행해야 합니다.

커널은 기본 권한 세트를 인식합니다. 수정되지 않은 시스템에서 각 사용자의 초기 상속 가능한 세트는 로그인 시 기본 세트와 같습니다. 기본 세트를 수정할 수 없는 반면, 사용자가 기본 세트에서 상속한 권한은 수정할 수 있습니다.

수정되지 않은 시스템에서 로그인 시 사용자의 권한 세트는 다음과 비슷합니다.

E (Effective): basic
I (Inheritable): basic
P (Permitted): basic
L (Limit): all

로그인 시 모든 사용자는 상속 가능한 세트, 허가된 세트, 유효 세트에 기본 세트를 포함합니다. 사용자의 제한 세트는 (전역 또는 비전역) 영역의 기본 제한 세트와 같습니다.

사용자 또는 보다 정확하게 사용자 로그인 프로세스에 직접적으로, 권한(right) 프로파일을 통해 많은 사용자에게 간접적으로, 사용자에게 권한 있는 명령을 지정하여 간접적으로 추가 권한(privilege)을 지정할 수 있습니다. 사용자의 기본 세트에서 권한을 제거할 수도 있습니다. 절차 및 예는 Chapter 3, Oracle Solaris에서 권한 지정을 참조하십시오.