두 예제에서, Sam이라는 사용자가 tar를 실행하여 testFile이라는 파일을 저장하려고 합니다. Sam은 tar를 실행할 수 있도록 허가 받고 testFile을 읽고 쓰는 데 필요한 사용 권한을 가지고 있습니다. 예제 1에서 Sam은 일반 사용자로서 트랜잭션을 시도하며, 실패합니다. 예제 2에서 Sam은 운영자 역할을 가정하여 트랜잭션을 성공적으로 완료합니다.
다음 그림에서 Sam의 사용자 계정은 All 실행 프로파일에 할당되었습니다. 이 프로파일은 특권 없이 tar에 액세스할 수 있게 합니다.
Sam이 tar를 사용하도록 허가 받으면 트랜잭션은 Trusted Solaris가 주체(tar 프로세스) 및 객체(testFile 파일)의 보안 속성을 모으고 비교하는 3단계부터 5단계까지를 진행합니다. 이 경우 조건부 테스트는 다음과 같습니다.
프로세스의 SL이 파일 및 디렉토리의 SL에 대해 지배적입니까? - Sam이 세션을 시작할 때 Sam의 세션 선택으로 인해 tar 프로세스의 SL는 C입니다. testFile 및 디렉토리도 프로세스의 SL이 지배하는 SL = C이므로(이 경우 동일함), 프로세스는 디렉토리를 읽기 위한 file_mac_search 특권이나 파일을 읽기 위한 file_mac_read 특권이 필요하지 않습니다.
프로세스의 사용 권한으로 파일의 디렉토리에 액세스할 수 있습니까? - Sam은 디렉토리 및 파일을 소유하고 있으므로 디렉토리에 액세스하기 위한 file_dac_search 특권이나 파일을 읽기 위한 file_dac_read 특권이 필요하지 않습니다.
프로세스에 특수한 인증이 필요합니까? - tar를 사용하면 사용 가능한 마그네틱 테이프 장치를 요청합니다. Sam은 관리자만 장치를 할당할 수 있는 보안 환경에서 작업합니다. Sam은 장치 할당 인증이 없으므로 트랜잭션을 완료할 수 없습니다.
Sam이 운영자 역할을 가정하면 아래 그림과 같이 트랜잭션이 성공합니다.
운영자 계정은 다른 파일들과 함께 할당된 Basic Media 실행 프로파일을 가지고 있습니다. Basic Media 실행 프로파일은 file_dac_search, file_dac_read, file_mac_read 및 기타 특권과 ADMIN_LOW에서 ADMIN_HIGH까지의 SL 범위를 갖는 tar 명령을 포함합니다. 이 경우에는 tar도 허용되므로, 트랜잭션은 3단계부터 5단계까지 진행됩니다. 이 때 트랜잭션은 다음과 같은 조건부 테스트를 통과합니다.
프로세스의 SL이 해당 파일 및 디렉토리의 SL에 대해 지배적입니까? - tar 프로세스의 SL은 Sam이 운영자 역할을 할 때 기본 SL인 ADMIN_LOW입니다. testFile 및 디렉토리의 SL은 C이므로, tar 프로세스는 SL을 지배하지 않고 file_mac_search 및 file_mac_read 특권을 실행해야 합니다.
프로세스의 사용 권한으로 해당 파일의 디렉토리에 액세스할 수 있습니까? - 운영자는 해당 디렉토리나 파일을 소유하지 않으므로 프로세스는 file_dac_search 및 file_dac_read 특권을 사용합니다.
프로세스에 특수한 인증이 필요합니까? - Sam은 일반 사용자로서는 실패했지만 Basic Media 실행 프로파일은 장치 할당 인증을 포함합니다. 운영자로서 Sam은 장치 관리자로부터 마그네틱 테이프를 할당하고 tar 트랜잭션을 수행할 수 있습니다.