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

인쇄 보기 종료

업데이트 날짜: 2014년 7월
 
 

사용자와 역할에 권한 지정

이 절에서는 역할과 사용자를 만들고 수정하는 명령에 대해 설명합니다. 권한 프로파일을 만들거나 수정하려면 권한 프로파일을 만드는 방법시스템 권한 프로파일을 복제하고 수정하는 방법을 참조하십시오.

역할에 대한 자세한 내용은 사용자 및 프로세스 권한의 기본 사항을 참조하십시오.

    역할과 사용자를 만들고 수정하는 경우의 기본 작업은 다음과 같습니다.

  • 역할 만들기

  • 신뢰할 수 있는 사용자 만들기

  • 역할의 권한 수정

  • 사용자의 권한 수정

  • 사용자가 고유한 암호를 사용하여 역할을 맡을 수 있도록 설정

  • 역할 암호 변경

  • 역할 삭제

역할 만들기

역할을 사용하려는 경우 여러 가지 옵션이 있습니다. ARMOR에서 미리 정의된 역할을 설치하고 배타적으로 사용할 수 있습니다. 또한 역할을 만들고 암호를 제공할 수 있습니다. 만든 역할과 함께 ARMOR 역할을 사용할 수 있습니다.

ARMOR 역할을 사용하려면 Example 3–1을 참조하십시오.

고유한 역할을 만들려면 roleadd 명령을 사용합니다. 이 명령에 대한 인수의 전체 목록은 roleadd(1M) 매뉴얼 페이지를 참조하십시오.

예를 들어, 다음 명령은 홈 디렉토리와 pfbash 로그인 셸을 사용하여 User Administrator 역할을 만들고 역할의 암호를 만듭니다.

# roleadd -c "User Administrator role, local" \
-m -K profiles="User Security,User Management"  useradm
80 blocks
# ls /export/home/useradm
local.bash_profile     local.login     local.profile
# passwd useradm
Password: xxxxxxxx
Confirm Password: xxxxxxxx

여기서 각 요소는 다음을 나타냅니다.

–c comment

역할을 설명합니다.

–m

홈 디렉토리를 만듭니다.

–K profiles=

역할에 권한 프로파일을 하나 이상 지정합니다. 권한 프로파일 목록은 권한 프로파일 목록을 참조하십시오.

rolename

역할의 이름입니다. 허용 가능한 문자열의 제한 사항은 roleadd(1M) 매뉴얼 페이지를 참조하십시오.


주 -  두 명 이상의 사용자에게 역할 계정을 지정할 수 있습니다. 따라서 관리자는 대개 역할 암호를 만들어서 대역 외에서 사용자에게 역할 암호를 알려줍니다. 역할 암호의 대체 방법은 사용자가 역할 암호에 고유한 암호를 사용할 수 있도록 설정, Example 3–16Example 3–17을 참조하십시오.
예 3-1  ARMOR 역할 사용

이 예에서 보안 관리자는 ARMOR 표준에서 정의된 역할을 설치합니다. 관리자는 먼저 역할 이름이 기존 계정과 충돌하지 않는지 확인하고 패키지를 설치한 다음 역할 정의를 보고 신뢰할 수 있는 사용자에게 역할을 지정합니다.

    먼저 관리자는 이름 지정 서비스에 다음 UID 및 이름이 없는지 확인합니다.

  • 57 auditadm

  • 55 fsadm

  • 58 pkgadm

  • 53 secadm

  • 56 svcadm

  • 59 sysop

  • 54 useradm

관리자는 UID 및 이름이 사용되고 있지 않은지 확인한 후 패키지를 설치합니다.

# pkg install system/security/armor

패키지는 /export/home 디렉토리에 역할 및 로컬 홈 디렉토리를 7개 만듭니다.

각 역할의 권한을 보기 위해 관리자는 각 역할에 지정된 프로파일을 나열할 수 있습니다.

# profiles auditadm
# profiles fsadm
# profiles pkgadm
# profiles secadm
# profiles svcadm
# profiles sysop
# profiles useradm

이러한 권한 지정은 수정할 수 없습니다. 다른 권한 구성을 만들려면 새 역할을 만든 다음 시스템 권한 프로파일을 복제하고 수정하는 방법의 단계에 따라 새 권한 프로파일을 만들어야 합니다.

마지막으로, 관리자는 신뢰할 수 있는 사용자에게 역할을 지정합니다. 사용자의 고유한 암호는 역할에 인증하는 데 사용됩니다. 일부 사용자에게는 두 개 이상의 역할이 지정됩니다. 시간이 중요한 작업의 역할은 두 명 이상의 신뢰할 수 있는 사용자에게 지정됩니다.

# usermod -R=auditadm adal
# usermod -R=fsadm,pkgadm bdewey
# usermod -R=secadm,useradm cfoure
# usermod -R=svcadm ghamada
# usermod -R=svcadm yjones
# usermod -R=sysop hmurtha
# usermod -R=sysop twong
예 3-2  LDAP 저장소에 User Administrator 역할 만들기

관리자는 LDAP에 User Administrator 역할을 만듭니다. 사용자가 역할을 맡을 때 암호를 제공하면 개별 명령에 대해 암호를 제공할 필요가 없습니다.

# roleadd -c "User Administrator role, LDAP" -m -S ldap \
-K profiles="User Security,User Management"  useradm
예 3-3  책임 구분용 역할 만들기

관리자는 역할 2개를 만듭니다. usermgt 역할은 사용자를 만들고, 홈 디렉토리를 제공하고, 기타 비보안 작업을 수행할 수 있습니다. usersec 역할은 사용자를 만들 수 없지만 암호를 지정하고 다른 권한 지정을 변경할 수 있습니다. 두 역할은 모두 사용자 또는 역할에 대해 감사 플래그를 설정하거나 역할의 암호를 변경할 수 없습니다. 이러한 작업은 root 역할로 수행해야 합니다.

# roleadd -c "User Management role, LDAP" -s /usr/bin/pfksh \
-m -S ldap -K profiles="User Management"  usermgt
# roleadd -c "User Security role, LDAP" -s /usr/bin/pfksh \
-m -S ldap -K profiles="User Security"  usersec

관리자는 Example 3–5에서 각 일반 사용자를 만들려면 두 사람이 필요하도록 설정합니다.

예 3-4  암호화 서비스를 관리하는 역할 만들기 및 지정

이 예에서 LDAP 네트워크의 관리자가 암호화 프레임워크를 관리하는 역할을 만들어서 UID 1111에 할당합니다.

# roleadd -c "Cryptographic Services manager" \
-g 14 -m -u 104 -S ldap -K profiles="Crypto Management" cryptmgt
# passwd cryptmgt
New Password: xxxxxxxx
Confirm password: xxxxxxxx 
# usermod -u 1111 -R +cryptmgt

UID가 1111인 사용자가 로그인하여 역할을 맡고 지정된 보안을 표시합니다.

% su - cryptmgt
Password: xxxxxxxx
# profiles -l
      Crypto Management
          /usr/bin/kmfcfg            euid=0
          /usr/sbin/cryptoadm        euid=0
          /usr/sfw/bin/CA.pl         euid=0
          /usr/sfw/bin/openssl       euid=0
#

암호화 프레임워크에 대한 자세한 내용은 Oracle Solaris 11.2의 암호화 및 인증서 관리 의 1 장, 암호화 프레임워크를 참조하십시오. 프레임워크를 관리하려면 Oracle Solaris 11.2의 암호화 및 인증서 관리 의 암호화 프레임워크 관리를 참조하십시오.

신뢰할 수 있는 사용자에 대한 로그인 만들기

useradd 명령을 사용하여 로그인을 만듭니다. useradd 명령에 대한 인수의 전체 목록은 useradd(1M) 매뉴얼 페이지를 참조하십시오. 명령에 대한 권한 관련 인수는 –R rolename 옵션이 추가된 roleadd 명령과 유사합니다.

사용자에게 역할을 지정하면 역할을 맡은 후 역할의 권한을 사용할 수 있습니다. 예를 들어, 다음 명령은 신뢰할 수 있는 사용자에 대한 로그인 만들기에서 만든 useradm 역할을 맡을 수 있는 신뢰할 수 있는 사용자를 만듭니다.

# useradd -c "Trusted Assistant User Manager user" -m -R useradm jdoe
80 blocks
# ls /export/home/jdoe
local.bash_profile     local.login     local.profile

여기서 각 요소는 다음을 나타냅니다.

–s shell

username에 대한 로그인 셸을 결정합니다. 이 셸은 프로파일 셸(예: pfbash)일 수 있습니다. 신뢰할 수 있는 사용자에게 프로파일 셸을 지정하는 이유는 권한 지정 시 유용성 고려 사항을 참조하십시오. 프로파일 셸 목록은 pfexec(1) 매뉴얼 페이지를 참조하십시오.

–R rolename

기존 역할의 이름을 지정합니다.

추가 예는 Oracle Solaris 11.2의 사용자 계정 및 사용자 환경 관리 의 CLI를 사용하여 사용자 계정을 설정 및 관리하기 위한 작업 맵을 참조하십시오.

사용자 권한 수정

usermod 명령을 사용하여 사용자 계정을 수정합니다. usermod 명령에 대한 인수의 전체 목록은 usermod(1M) 매뉴얼 페이지를 참조하십시오. 명령에 대한 권한 관련 인수는 useradd 명령과 유사합니다.

사용자에게 권한 프로파일을 지정하면 사용자가 프로파일 셸을 연 후 권한을 사용할 수 있습니다. 예를 들어, 사용자에게 권한 프로파일을 지정합니다.

# usermod -K profiles="User Management" kdoe

변경 사항은 사용자가 다음에 로그인할 때 적용됩니다. 사용자가 지정된 권한을 사용하는 방법을 알아보려면 지정된 관리 권한 사용을 참조하십시오.

예 3-5  사용자에게 역할 추가

이 예에서 관리자는 일반 사용자를 만들려면 신뢰할 수 있는 사용자 2명이 필요하도록 설정합니다. Example 3–3에서 역할이 생성되었습니다.

# usermod -R +useradm jdoe
# usermod -R +usersec mdoe

역할 권한 수정

rolemod 명령을 사용하여 역할 계정을 수정합니다. rolemod 명령에 대한 인수의 전체 목록은 rolemod(1M) 매뉴얼 페이지를 참조하십시오. 명령에 대한 권한 관련 인수는 roleadd 명령과 유사합니다.

key=value 쌍, –A, –P–R 옵션 값은 빼기() 또는 더하기() 기호로 수정할 수 있습니다. 기호는 현재 지정된 값에서 해당 값을 뺍니다. 기호는 현재 지정된 값에 해당 값을 더하는 것을 나타냅니다. 권한 프로파일의 경우 현재 프로파일 목록 앞에 값이 추가됩니다. 이전 권한 프로파일이 되는 경우의 영향은 지정된 권한 검색 순서를 참조하십시오.

예 3-6  권한 프로파일을 역할의 첫번째 권한 프로파일로 추가

예를 들어, useradm 역할 앞에 권한 프로파일을 추가합니다.

# rolemod -K profiles+="Device Management" useradm
# profiles useradm
useradm:
Device Management
User Management
User Security
예 3-7  로컬 역할의 지정된 프로파일 바꾸기

이 예에서는 보안 관리자가 Printer Management 프로파일 뒤에 VSCAN Management 관리 프로파일이 포함되도록 prtmgt 역할을 수정합니다.

# rolemod -c "Handles printers and virus scanning" \
-P "Printer Management,VSCAN Management,All" prtmgt
예 3-8  역할에 직접 권한 지정

이 예에서는 보안 관리자가 시스템 시간에 영향을 미치는 매우 특정한 권한으로 realtime 역할을 신뢰합니다. 사용자에게 권한을 지정하려면 Example 3–14를 참조하십시오.

# rolemod -K defaultpriv+='proc_clock_highres' realtime

defaultpriv 키워드의 값은 항상 역할의 프로세스에서 권한 목록에 속합니다.

사용자가 역할 암호에 고유한 암호를 사용할 수 있도록 설정

사용자가 역할을 맡을 때 역할 암호가 아니라 고유한 암호를 사용할 수 있도록 설정하려면 역할을 수정합니다.

다음 명령은 useradm 역할이 지정된 모든 사용자가 useradm 역할을 포함하여 지정된 역할을 맡을 때 고유한 암호를 사용할 수 있도록 설정합니다.

# rolemod -K roleauth=user useradm

역할 암호 변경

역할은 여러 사용자에게 지정할 수 있기 때문에 역할이 지정된 사용자가 역할 암호를 변경할 수 없습니다. 역할 암호를 변경하려면 root 역할을 맡아야 합니다.

# passwd useradm
Enter useradm's password: xxxxxxxx
New: xxxxxxxx
Confirm: xxxxxxxx

저장소를 지정하지 않으면 모든 저장소에서 암호가 변경됩니다.

추가 명령 옵션은 passwd(1) 매뉴얼 페이지를 참조하십시오.

예 3-9  특정 저장소의 역할 암호 변경

다음 예에서 root 역할은 로컬 devadmin 역할의 암호를 변경합니다.

# passwd -r files  devadmin
New password: xxxxxxxx
Confirm password: xxxxxxxx

다음 예에서 root 역할은 LDAP 이름 지정 서비스의 devadmin 역할 암호를 변경합니다.

# passwd -r ldap devadmin
New password: xxxxxxxx
Confirm password: xxxxxxxx

역할 삭제

역할을 삭제하면 즉시 사용할 수 없게 됩니다.

# roledel useradm

현재 역할에서 관리 작업을 수행 중인 사용자는 계속할 수 없습니다. profiles 명령은 다음 출력을 보여줍니다.

useradm # profiles
Unable to get user name