whoami: OS 사용자 식별에 대한 포괄적인 가이드

당신은 명령줄의 미로에 빠져 자신이 컴퓨터 시스템 내에서 누구인지 궁금해 졌던 적이 있나요? 당신은 디지털 영역에서의 자아 발견을 위한 이 탐험에서 혼자가 아닙니다. 걱정 마세요! whoami 명령어는 디지털 신원을 밝히는 데 도움이 될 것입니다.

이 튜토리얼에서는 시스템이 당신을 어떻게 보는지 이해하고, 여러분의 기술적 지식을 새로운 수준으로 끌어올릴 통찰력을 얻을 것입니다.

이제 자신의 숨겨진 면을 발견하려는 여정에 준비하세요!

필수 준비물

OS 사용자 식별의 복잡한 세계에 뛰어들기 전에, Windows, macOS 또는 Linux 기계에 액세스할 수 있는지 확인하세요. 이 튜토리얼에서는 Windows 11과 macOS 12.5(몬테레이)를 사용하여 시연합니다.

현재 로그인한 사용자의 정보를 얻기 위해 아래의 whoami 명령어를 실행하세요.

터미널 또는 PowerShell을 열고 아래의 whoami 명령어를 실행하세요.

whoami

아래에는 현재 세션에 연결된 사용자 이름이 표시됩니다.

Retrieving the currently logged-in username

이제 macOS에서 다음 who 명령을 실행하여 macOS 시스템에 로그인된 모든 사용자를 나열하십시오.

? 이 명령은 Windows에서 지원되지 않습니다.

who

아래 출력은 사용자 macos콘솔ttys000 터미널을 통해 두 번 로그인했음을 나타냅니다. 두 로그인 모두 8월 31일에 서로 다른 시간에 시작되었습니다 (21:48 및 21:49).

여러 번 터미널 창을 열거나 여러 번 로그인하는 사용자는 ttys001, ttys002 등과 같이 다른 터미널 장치 이름이 할당될 수 있습니다. 이러한 장치 이름은 시스템에서 동시에 발생하는 다른 터미널 세션을 식별하고 관리하는 데 도움이 됩니다.

Showing logged-in users’ details

사용자 그룹 멤버십 확인

whoami 명령은 기본 사용법 외에도 현재 사용자에 대한 더 자세한 정보를 제공하는 추가 옵션을 제공합니다. 그룹 멤버십의 복잡한 웹을 이해하는 데 한 발짝 더 나아가 보세요.

whoami 명령을 실행하여 디지털 ID의 매력적인 레이어인 그룹 멤버십을 발견할 수 있습니다. 이 보람찬 통찰력은 시스템 권한, 액세스 권한 및 협업 환경을 보다 효과적으로 탐색할 수 있도록 도와줍니다.

whoami 명령을 실행하여 사용자 계정의 그룹 멤버십(/groups)을 확인하십시오.

# PowerShell 명령어
whoami /groups
# macOS/Linux 명령어
groups

아래 출력은 현재 사용자가 속한 그룹 목록을 표시하여 액세스 권한과 권한에 대한 유용한 통찰력을 제공합니다.

사용자 그룹은 권한과 액세스 권한을 할당하는 프로세스를 간소화합니다. 각 사용자에 대한 개별 권한을 설정하는 대신 권한을 그룹 및 해당 그룹의 구성원인 사용자에게 할당하여 그룹의 권한을 상속할 수 있습니다.

Displaying the current user’s group membership (PowerShell)
Showing the current user’s group membership (macOS/Linux)

사용자 보안 식별자 (SID)를 얻는 방법

사용자 SID는 Windows 도메인 내에서의 디지털 신분증입니다. 신분증이 특정 장소에 액세스하는 데 도움이 되는 것처럼 SID도 시스템이 누가 무엇에 액세스할 수 있는지 관리하는 데 도움이 됩니다.

SID는 그랜슨 권한을 설정하여 특정 리소스, 파일 및 폴더에만 인증된 사용자가 액세스할 수 있도록 보증하는 보안관처럼 작동합니다.

다음 명령을 실행하여 현재 사용자(/user)의 SID를 검색합니다.

# PowerShell 명령어
whoami /user
# macOS/Linux 명령어
id

아래에는 사용자 이름과 함께 사용자에 해당하는 SID(Windows용)가 포함되어 있으며, 이는 다음을 식별하는 일련의 숫자 구성 요소를 포함합니다:

  • Revision – SID 구조의 버전을 나타냅니다.
  • Identifier Authority – SID를 생성하는 각 권한에 할당된 고유한 값입니다.
  • Domain Identifier – 도메인 또는 보안 권한을 나타냅니다.
  • Relative Identifier (RID) – 도메인 내에서 각 보안 주체에 할당된 고유한 번호입니다.
Obtaining the user SID

macOS/Linux 시스템에서 id 명령어는 사용자 및 그룹 정보를 표시합니다. 여기에는 사용자 이름, UID (사용자 ID), GID (그룹 ID) 및 보조 그룹 ID가 포함됩니다.

Showing the UID and the GID of the current user

로그인한 사용자의 보안 권한 표시

whoami 명령어는 사용자 이름을 알려주는 것 이상의 역할을 합니다. 이것은 디지털 권한의 범위를 이해하는 열쇠입니다. 여러분이 디지털 환경과 상호 작용하는 방식에 직접적으로 영향을 주는 영역으로 뛰어들어 보세요 — 보안 권한입니다.

권한은 시스템에서 사용자 계정의 작업을 제어하는 특정 권리와 허가를 가리킵니다. 활성화되거나 비활성화된 권한을 이해함으로써 잠재적인 취약점을 식별하고 적절한 조치를 취할 수 있습니다.

아래 명령어를 실행하여 현재 사용자의 보안 권한을 표시하세요 (/priv).

whoami /priv

? 유닉스 기반 시스템에는 Windows의 whoami /priv 명령어와 직접적인 동등물이 없습니다. 대신, id 또는 groups 명령어를 대안으로 사용할 수 있습니다. 보안 권한은 파일 권한, 사용자 계정 및 접근 제어 메커니즘을 통해 관리됩니다.

아래에 설명된 것과 유사한 출력을 볼 수 있습니다:

  • 권한 이름 – 사용자에게 제공되는 다양한 권한의 이름을 보여줍니다.
  • 설명 – 각 권한이 사용자에게 허용하는 작업에 대한 간단한 설명입니다.
  • 상태 – 사용자에 대한 각 권한의 현재 상태를 나타내며 다음과 같은 두 가지 상태가 있습니다:
State Details
Enabled Indicates the user has been granted that specific privilege and can exercise the associated actions on the system.
Disabled Indicates the user does not have the corresponding privilege and is not allowed to perform actions associated with that privilege.
Displaying the security privileges of the currently logged-in user

whoami 명령의 출력 형식 지정하기

whoami 명령의 출력 형식을 지정하는 것은 작은 세부 사항처럼 보일 수 있지만, 터미널에서의 생활을 훨씬 더 원활하게 만들어주는 굉장히 유용한 기능입니다. whoami 명령에는 사용자의 필요에 가장 적합한 출력 형식을 선택할 수 있는 옵션이 있습니다: 목록 또는 CSV 형식.

아래의 각 whoami 명령을 실행하여 현재 사용자의 보안 권한(/priv)을 두 가지 다른 형식으로 표시합니다.

목록 형식(/fo list)은 더 조밀한 표시를 원하는 경우 유용할 수 있습니다. 그러나 스프레드시트 응용 프로그램에서 추가 처리나 분석을 위한 정보가 필요한 경우, CSV 형식(/fo csv)이 더 적합합니다.

# 목록 형식으로 결과 표시
whoami /priv /fo list
# CSV 형식으로 결과 표시
whoami /priv /fo csv

아래 그림에서 볼 수 있듯이, 문자의 얽힌 무리를 바라보는 대신 깔끔하고 정리된 출력을 얻을 수 있습니다.

일반 사용자이든 터미널 닌자이든, whoami 명령의 출력 형식을 형식 지정하는 것은 단순히 미학적인 측면뿐만 아니라 효율적인 통신에 관한 문제입니다.

Formatting the whoami command’s output

대안으로 아래에 표시된대로 id 또는 groups 명령을 실행하여 출력을 형식 지정할 수 있도록 파이프(|)를 사용하여 스트림 편집기(sed) 명령을 실행합니다. Unix 기반 시스템에는 whoami /priv /fo list 또는 whoami /priv /fo csv에 해당하는 명령이 없습니다.

다음 명령어는 정규 표현식을 사용하여 다음을 수행합니다:

  • 각 문자열에 대해 공백과 쉼표 ([ ,]) 구분 기호를 새 줄로 바꿉니다 (/\n/).
  • 공백을 쉼표로 바꾸기 (tr ' ' ','), 공백이 아닌 텍스트를 캡처 (\([^ ]*\))하고 이를 이중 인용부호로 묶습니다 ("\1").
# id 명령어의 출력을 목록 형식으로 표시
id | sed 's/[ ,]/\n/g'
# groups 명령어의 출력을 csv 형식으로 표시
groups | sed 's/\([^ ]*\)/"\1"/g' | tr ' ' ','
Displaying the id command’s output in list format
Displaying the groups command’s output in csv format

결론

이 튜토리얼에서는 whoami 명령어를 통해 사용자 식별 및 이해의 복잡한 예술에 대해 살펴보았습니다. 사용자 이름, 그룹 멤버십 및 사용자 보안 식별자(SID)를 얻는 방법을 배웠습니다.

다양한 관리 작업을 위한 사용자 식별에 대한 이해로 권한 문제 해결 및 안전한 시스템 액세스를 보장할 수 있습니다.

지금, 왜 인증 및 권한 부여 메커니즘의 세계에 몰두하지 않으시겠습니까? 다중 인증(MFA), 역할 기반 접근 제어(RBAC), 그리고 속성 기반 접근 제어(ABAC)에 대해 어떠신가요? 이러한 메커니즘을 이해하면 사용자 관리와 시스템 보안에 대한 이해력을 크게 향상시킬 수 있습니다.

Source:
https://adamtheautomator.com/whoami/