| HOME / 정보공유 / AIX 명령어 모음

su
su su 명령 목적 세션과 관련된 사용자 ID를 변경합니다. 구문
su [ - ] [ Name [ Argument ... ] ]
설명
su 명령은 사용자 신용을 root 사용자의 신용 또는 Name 매개변수가 지정한 사용자로 변경한 뒤 새 세션을 초기화합니다. 사용자 이름에 DCE 셀 스펙이 포함될 수 있습니다.
주: root 사용자는 분산 컴퓨팅 환경(DCE) 사용자로 교환할 때 DCE 인증을 만족하도록 요구되지 않습니다. 이 경우에는 사용자의 DCE 신용을 얻을 수 없습니다.
Arguments 매개변수가 지정한 플래그 또는 매개변수 같은 인수는 Name 매개변수가 지정한 사용자에 대해 정의된 로그인 쉘과 관련이 있어야 합니다. 이러한 인수는 지정된 사용자의 로그인 쉘에 패스됩니다. 예를 들면 사용자 Fred의 로그인 쉘이 /usr/bin/csh이면 -f 플래그 같은 csh명령에 대한 플래그를 포함시킬 수 있습니다. su 명령 수행시, -f 플래그가 csh 명령으로 패스됩니다. csh 명령이 수행될 때, -f 플래그는 .cshrc 시작 스크립트를 생략합니다.
다음 기능이 su 명령에 의해 수행됩니다.
계정 검사 사용자 계정이 존재하고, su 명령에 대해 사용 가능하고, 현재 사용자가 su 명령으로 이 계정을 교환할 수 있는 그룹에 속해 있으며, 현재 제어 터미널을 통해 사용할 수 있는지 유효화합니다.
사용자 인증 사용자를 위한 시스템 정의 1차 인증 방법을 사용하여 사용자의 ID를 유효화합니다. 사용자는 암호가 만기되었으면 신규 암호를 제공해야 합니다.
신용 설정 사용자 데이터베이스에 있는 값을 사용하여 초기 사용자 신용을 구축합니다. 이러한 신용은 시스템에 대한 사용자의 액세스 권한과 계정가능성(accountability)을 정의합니다.
세션 시작 - 플래그를 지정하면 su 명령이 사용자 데이터베이스와 /etc/environment 파일에 있는 값에서 사용자 환경을 초기화합니다. - 플래그를 사용하지 않으면 su 명령이 디렉토리를 변경하지 않습니다.
이러한 기능은 표시된 순서로 수행됩니다. 한 기능이 성공하지 못하면 나머지 기능이 수행되지 않습니다. 이 기능의 의미에 대해서는 ckuseracct, ckuserID, authenticate, setpcred 및 setpenv 서브루틴을 참조하십시오.
이전 세션을 복원하려면 exit를 입력하거나 Ctrl-D 키를 누르십시오. 이 조치는 su 명령으로 호출한 쉘을 종료한 뒤 이전 쉘, 사용자 ID 및 환경으로 리턴합니다.
su 명령을 신뢰있는 쉘인 /usr/bin/tsh 쉘에서 수행하면 그 쉘로부터 종료됩니다. su 명령은 제어 터미널의 보안 특성을 변경하지 않습니다.
su 명령이 실행될 때마다, /var/adm/sulog 파일에 항목이 작성됩니다. /var/adm/sulog 파일은 날짜, 시스템 이름 및 로그인 이름을 기록합니다. /var/adm/sulog 파일은 로그인 시도의 성공 여부도 기록합니다. +(더하기 부호)는 정상적인 로그인을 의미하고 -(빼기 부호)는 로그인 실패를 나타냅니다.
플래그
- 사용자가 login 명령을 사용하여 시스템에 로그인한 것처럼 프로세스 환경이 설정되도록 지정합니다. 현재 환경에서는 아무 것도 새로운 쉘로 전달되지 않습니다.
보안
액세스 제어: 모든 사용자는 이 명령에 대한 실행(x) 액세스 권한을 가지고 있어야 합니다. 명령은 인증 정보에 액세스할 수 있도록 root 사용자로 setuid되어 있어야 하며 신뢰있는 전산 구조 속성을 가지고 있어야 합니다.
액세스된 파일:

모드 | 파일
r | /etc/passwd
r | /etc/group
r | /etc/environment
r | /etc/security/user
r | /etc/security/passwd
r | /etc/security/limits
r | /etc/security/environ
w | /var/adm/sulog

감사 이벤트:

이벤트 | 정보
USER_Su | 사용자 이름

예제
1. 루트 사용자 권한을 얻으려면 다음과 같이 입력하십시오.
su
이 명령은 루트 사용자의 유효 사용자 ID와 특권이 있는 서브쉘을 수행합니다. 루트 암호를 요청하게 됩니다. Ctrl-D 키를 눌러 서브쉘을 종료하고 원래의 쉘 세션과 특권으로 리턴하십시오.
2. jim 사용자의 특권을 얻으려면 다음과 같이 입력하십시오.
su jim
이 명령은 Jim의 유효 사용자 ID와 특권이 있는 서브쉘을 수행합니다.
3. jim 사용자로 로그인한 것처럼 환경을 설정하려면 다음을 입력하십시오.
su - jim
그러면 Jim의 로그인 환경을 사용하여 서브쉘이 시작됩니다.
4. 루트 사용자 권한을 갖는 백업 명령을 수행한 뒤 원래의 쉘로 리턴하려면 다음과 같이 입력하십시오.
su root "-c /usr/sbin/backup -9 -u"
그러면 root 사용자 권한을 갖는 backup 명령이 root의 디폴트 쉘 내에서 수행됩니다. 실행할 명령을 조회할 때 정확한 root 암호를 제공해야 합니다.
파일
/usr/bin/su su 명령이 포함되어 있습니다.
/etc/environment 사용자 환경 값이 포함되어 있습니다.
/etc/group 기본 그룹 속성이 포함되어 있습니다.
/etc/passwd 기본 사용자 속성이 포함되어 있습니다.
/etc/security/user 사용자의 확장된 속성이 있습니다.
/etc/security/environ 사용자의 환경 속성이 포함되어 있습니다.
/etc/security/limits 사용자의 프로세스 자원 한계를 포함하고 있습니다.
/etc/security/passwd 암호 정보가 포함되어 있습니다.
/var/adm/sulog 로그인 시도에 대한 정보가 포함되어 있습니다.
관련 정보
bsh 명령, csh 명령, getty 명령, ksh 명령, login 명령, setgroups 명령, setsenv 명령, tsh 명령 및 tsm 명령.
ckuseracct 서브루틴, ckuserID 서브루틴, setpcred 서브루틴, setpenv 서브루틴, authenticate 서브루틴.