김 컴퓨터


su (Substitute User / Switch User)

su는 현재 로그아웃하지 않고 다른 사용자의 계정으로 전환하거나, 특히 시스템 관리자 권한인 root 계정으로 전환할 때 사용하는 명령어입니다.


1. 기본 사용법

su [옵션] [사용자명]

2. 주요 옵션 및 차이점

옵션 이름 설명
-, -l login 로그인 셸. 대상 사용자의 환경 변수(PATH, 홈 디렉터리 등)를 그대로 가져옵니다. (가장 권장됨)
-c command 계정을 전환하지 않고, 해당 사용자의 권한으로 명령어 하나만 실행합니다.
-s shell 지정한 특정 셸(예: /bin/sh)을 사용하여 계정을 전환합니다.

3. 실무 활용 예시

① root 계정으로 완벽하게 전환 (환경 변수 포함)

가장 많이 사용되는 형태입니다. 하이픈(-)을 붙여야 root의 설정 파일(.bashrc 등)이 적용됩니다.

su -

② 특정 일반 사용자로 전환

su - kim

③ root 권한으로 명령어 딱 하나만 실행하기

su -c "apt update"

4. [중요] su vs sudo 차이점

  1. su (Substitute User):
    • 대상 계정(주로 root)의 비밀번호를 알아야 합니다.
    • 계정 자체를 완전히 갈아타는 느낌입니다.
  2. sudo (Substitute User Do):
    • 현재 로그인한 본인의 비밀번호를 사용합니다.
    • 특정 명령어만 관리자 권한으로 빌려서 실행하는 느낌입니다. (보안상 더 권장됨)