오경석의 개발노트

Linux_su(substitute user) 본문

소프트웨어, 운영체제/Linux

Linux_su(substitute user)

OHSAYU 2024. 3. 17. 16:12

■ NAME

    su(substitute user) : 대체 사용자 및 그룹 ID로 명령을 실행

 

■ SYNOPSIS

su [options] [-] [user [argument...]]

 

■ DESCRIPTION

    su는 대체 사용자 및 그룹 ID로 명령을 실행

   

    인수 없이 호출하면 su는 기본적으로 대화형 셸을 root로 실행

    

    이전과의 호환성을 위해 su는 기본적으로 현재 디렉터리를 변경하지 않고 HOME 및 SHELL 환경변수들만 설정한다

    (plus USER and LOGNAME if the target user is not root). 혼합 환경의 영향으로 발생하는 부작용을 피하기 위해선

    - 대신에 항상 --login 옵션 사용을 권장한다.

 

    su는 대부분 권한이 없는 사용자를 위해 설계되었다.

 

    su -를 입력하면 환경 변수를 적용하지만 su만 입력하면 환경 변수를 적용하지 않는다.

 

    root 계정은 

 

■ OPTIONS   

    -c, --comand=command           

             -c 옵션을 사용하여 shell에 명령을 전달. 대화형 shell을 실행하지 않는다.

 

    -, -l, -login

            실제 로그인과 유사한 환경에서 shell을 login shell로 시작한다.

            TERM을 제외한 모든 환경 변수 제거

            환경 변수 HOME, SHELL, USER, LOGNAME 및 PATH 초기화

            대상 사용자의 홈 디렉토리 변경

            shell을 login shell로 만들기 위해 shell의 argv[0]을 -로 설정

 

    -m, -p, -preserve-environment

            전체 환경, 즉 HOME, SHELL, USER, LOGNAME을 설정하지 않는다. -login 옵션이 명시된 경우엔 이 옵션이 무시.

 

 

출처 : Rocky Linux release 8.9

Comments