ioerror

whoami 사용법 및 옵션 - 현재 로그인된 유효 사용자 계정명 확인 본문

OS

whoami 사용법 및 옵션 - 현재 로그인된 유효 사용자 계정명 확인

반응형

whoami 사용법 및 옵션 - 현재 로그인된 유효 사용자 계정명 확인

whoami - who am i

현재 로그인된 유효 사용자 계정명 확인

whoami 명령어는 현재 쉘 세션을 실행 중인 유효 사용자(effective user)의 계정명을 출력하는 유닉스, 리눅스 및 윈도우 OS의 기본 CLI 도구이다. 계정 전환(su, sudo) 후의 현재 권한 상태 확인, 쉘 스크립트 실행 권한 검증, CI/CD 파이프라인 보안 모니터링 등 다양한 환경에서 활용된다.

1. 명령어 용도

  • 계정 전환 명령(su, sudo) 실행 후 현재 권한을 보유한 유효 계정명을 확인하는 경우
  • 쉘 스크립트 내부에서 관리자(root) 권한 실행 여부를 검증하는 조건문을 작성하는 경우
  • SSH 원격 접속 또는 자동화 파이프라인에서 접속된 세션의 사용자 이름을 확인하는 경우

2. 명령어 서식

Bash
 
whoami [OPTION]

3. 명령어 옵션

  • 주요 옵션 소개 테이블
옵션 설명 사용가능 OS 및 쉘
--help 명령어 사용법 및 도움말 정보를 출력하고 종료하다. [Linux/GNU]
--version 명령어의 버전 정보를 출력하고 종료하다. [Linux/GNU]
/USER 사용자 이름 및 보안 식별자(SID) 정보를 출력하다. [Windows]
/GROUPS 현재 사용자가 속한 그룹 목록을 출력하다. [Windows]
/PRIV 현재 사용자의 보안 권한(Privileges) 목록을 출력하다. [Windows]
/ALL SID, 소속 그룹, 권한 등 사용자 전체 정보를 출력하다. [Windows]
/FO [format] 출력 형식(TABLE, LIST, CSV)을 지정하다. [Windows]
  • 명령어 옵션 사용시 결과 예시
Bash
 
# 1. 기본 실행 (현재 유효 사용자 출력)
whoami
# output: developer

# 2. sudo를 통한 권한 변경 후 유효 사용자 확인
sudo whoami
# output: root

# 3. 쉘 스크립트 내 권한 검증 예시 [Linux/GNU]
if [ "$(whoami)" != "root" ]; then
  echo "이 스크립트는 root 권한으로 실행되어야 합니다."
  exit 1
fi
# output: 이 스크립트는 root 권한으로 실행되어야 합니다. (일반 계정 실행 시)

# 4. Windows 환경에서의 사용자 상세 정보 확인 [Windows]
whoami /user /fo list
# output:
# USER INFORMATION
# ----------------
# User Name: WORKSTATION\User
# SID:       S-1-5-21-1234567890-1234567890-1234567890-1001

4. 명령어 특이사항(유의사항)

  • whoami와 id -un의 관계: whoami 명령어의 결과는 id -un 명령을 실행한 결과와 완전히 동일하다.
  • whoami와 who am i / logname의 차이점:
    • whoami: 현재 프로세스를 실행하는 유효 사용자(Effective User)를 출력하다. sudo whoami 실행 시 root가 출력된다.
    • who am i (공백 포함) 및 logname: 세션에 최초 로그인한 실제 사용자(Real User)를 출력하다. sudo logname 실행 시에도 원래 로그인 계정명이 유지되어 출력된다.
  • OS별 옵션 지원 유무: POSIX 표준 및 BSD/macOS 환경의 whoami는 별도의 옵션을 지원하지 않으며 단독 명령어로 실행된다. --help, --version 옵션은 GNU coreutils 패키지가 적용된 Linux 환경에서 제공된다.

관련 명령어들

  • id: 현재 로그인된 사용자의 UID, GID 및 소속 그룹 정보를 출력하다.
  • who: 시스템에 현재 로그인되어 있는 모든 사용자 목록을 출력하다.
  • w: 로그인한 사용자 목록과 해당 사용자가 실행 중인 작업 및 시스템 부하 상태를 출력하다.
  • logname: 최초 세션 로그인 사용자 이름을 출력하다.
  • su: 다른 사용자 계정으로 전환하다.
  • sudo: 다른 사용자(주로 root)의 권한으로 명령어를 실행하다.

https://ioerror.tistory.com/entry/UNIX-Linux-Command-Reference

 

UNIX & Linux Command Reference

유닉스 / 리눅스 명령어 표유닉스와 리눅스 환경에서 자주 사용되는 필수 명령어들을 완벽하게 정리한다. 서버 관리, 프로그래밍, 일상적인 시스템 운영 등 어떤 목적이든 터미널 환경을 능숙하

ioerror.tistory.com

 

반응형
Comments