Computer >> 컴퓨터 >  >> 시스템 >> Windows

Windows 10에서 모든 사용자의 보안 식별자(SID)를 확인하는 방법

SID(보안 식별자, Security Identifier)는 Windows 운영체제 전반에서 사용자, 그룹, 컴퓨터 계정을 고유하게 식별하기 위해 사용되는 고유한 코드입니다. SID는 사용자 계정이 생성되는 순간 함께 만들어지며, 고유 식별자이기 때문에 동일한 컴퓨터에서 서로 같은 SID가 존재하는 일은 절대 없습니다. '보안 ID(Security ID)'라고도 불립니다. 이 고유 식별자는 운영체제 내부에서 'Personal', 'Dad'처럼 사용자가 설정한 표시 이름 대신 사용됩니다. 따라서 표시 이름을 변경하더라도 해당 계정에 미리 구성된 설정에는 아무런 영향을 주지 않습니다. 모든 구성 정보는 SID에 연결되어 있으며, SID는 표시 이름이나 사용자 이름을 변경해도 항상 일정하게 유지됩니다.

SID는 모든 사용자 계정이 변경할 수 없는 영숫자 문자열과 연결되어 있기 때문에 시스템에서 매우 중요한 역할을 합니다. 사용자 이름을 변경해도 시스템 리소스에 대한 접근 권한은 영향을 받지 않으며, 만약 사용자 이름을 삭제한 후 누군가가 그 이전 사용자 이름으로 새 계정을 만들더라도 기존 리소스에 대한 접근 권한을 되찾는 것은 불가능합니다. SID는 모든 사용자 이름마다 항상 고유하게 부여되기 때문입니다.

그럼 지금부터 Windows 10에서 사용자의 보안 식별자(SID)를 확인하는 다양한 방법을 살펴보겠습니다.

Windows 10에서 사용자의 보안 식별자(SID) 확인하기

1] WMIC 사용

사용자의 SID를 확인하는 것은 생각보다 간단합니다. Windows Management Instrumentation Command Line(WMIC)을 활용하면 됩니다.

먼저 명령 프롬프트를 엽니다. Cortana 검색 상자에 명령 프롬프트를 검색하거나, Windows 8 이상을 사용 중이라면 WINKEY + X 키 조합을 눌러 시작 버튼의 컨텍스트 메뉴를 열고 명령 프롬프트(관리자)를 클릭합니다.

다음 명령어를 입력한 후 Enter 키를 누릅니다.

wmic useraccount get name,sid

그러면 아래 화면과 같이 사용자 계정과 해당 SID 목록이 함께 표시됩니다.

Windows 10에서 모든 사용자의 보안 식별자(SID)를 확인하는 방법

원하는 사용자의 SID만 필터링하기

SQL 쿼리에 익숙한 분이라면 쉽게 이해할 수 있는 방법입니다. 이 명령어를 사용하면 특정 사용자의 SID만 곧바로 조회할 수 있습니다. 여러 사용자가 동시에 로그인하여 사용하는 대형 시스템(예: 서버)에서 특히 유용하며 많은 시간을 절약해 줍니다. 단, 해당 사용자의 사용자 이름을 알고 있어야 한다는 조건이 필요합니다.

사용할 명령어는 다음과 같습니다.

wmic useraccount where name="USER" get sid

위 명령어에서 따옴표 안의 USER 부분을 실제 사용자 이름으로 바꿔 입력하면 됩니다.

예를 들면 다음과 같습니다.

wmic useraccount where name="Ayush" get sid

만약 명령어 실행 중 오류가 발생한다면 경로를 C:\Windows\System32\ 대신 C:\Windows\System32\wbem으로 변경해 보세요.

위 명령어의 실행 결과는 다음 화면과 비슷하게 나타납니다.

Windows 10에서 모든 사용자의 보안 식별자(SID)를 확인하는 방법

2] Whoami 명령어 사용

명령 프롬프트 또는 PowerShell로 현재 사용자의 SID 확인

PowerShell 또는 CMD 창을 열고 다음 명령어를 입력한 후 Enter 키를 누릅니다.

whoami /user

Windows 10에서 모든 사용자의 보안 식별자(SID)를 확인하는 방법

현재 사용자의 SID를 확인하는 또 다른 방법은 wmic useraccount 명령어를 사용하는 것입니다.

PowerShell/CMD 창을 열고 다음 명령어를 입력한 후 Enter 키를 누릅니다.

wmic useraccount where name='%username%' get domain,name,sid

Windows 10에서 모든 사용자의 보안 식별자(SID)를 확인하는 방법

명령 프롬프트 또는 PowerShell로 모든 사용자의 SID 확인

명령 프롬프트/PowerShell 창을 열고 다음 명령어를 입력한 후 Enter 키를 누릅니다.

wmic useraccount get domain,name,sid

Windows 10에서 모든 사용자의 보안 식별자(SID)를 확인하는 방법

명령 프롬프트 또는 PowerShell로 특정 사용자의 SID 확인

명령 프롬프트/PowerShell 창을 열고 다음 명령어를 입력합니다.

wmic useraccount where name='username' get sid

위 명령어에서 username 자리에 해당 사용자의 실제 이름을 입력한 후 Enter 키를 누릅니다.

Windows 10에서 모든 사용자의 보안 식별자(SID)를 확인하는 방법

명령 프롬프트 또는 PowerShell로 SID에서 사용자 이름 확인

반대로 SID 값을 가지고 어떤 사용자인지 확인할 수도 있습니다. 명령 프롬프트/PowerShell 창을 열고 다음 명령어를 입력합니다.

wmic useraccount where sid='<sid>' get domain,name

위 명령어에서 <sid> 자리에 실제 SID 값을 입력한 후 Enter 키를 누릅니다.

Windows 10에서 모든 사용자의 보안 식별자(SID)를 확인하는 방법

3] PowerShell 사용

모든 사용자의 SID를 확인하는 또 다른 방법은 PowerShell에서 Get-WmiObject 명령어를 사용하는 것입니다.

PowerShell을 열고 다음 명령어를 입력한 후 Enter 키를 누릅니다.

Get-WmiObject win32_useraccount | Select domain,name,sid

Windows 10에서 모든 사용자의 보안 식별자(SID)를 확인하는 방법

4] 레지스트리 편집기 사용

먼저 레지스트리 편집기를 엽니다. Cortana 검색 상자에서 검색하거나, WINKEY + R 키를 눌러 실행 창을 열고 regedit를 입력한 후 Enter 키를 누르면 됩니다.

레지스트리 편집기가 열리면 다음 경로로 이동합니다.

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList

ProfileList 폴더 아래의 각 SID에 대한 ProfileImagePath 값에서 원하는 SID와 사용자 이름 등의 세부 정보를 확인할 수 있습니다. 화면은 아래 스니핏과 비슷하게 나타납니다.

Windows 10에서 모든 사용자의 보안 식별자(SID)를 확인하는 방법

참고로 이 방법으로는 컴퓨터에 이미 로그인한 적이 있는 사용자의 SID만 확인할 수 있다는 점에 유의해야 합니다. 해당 사용자가 원격으로 계정에 접속했거나, 계정에 로그인한 후 다른 사용자로 전환된 상태여야 합니다. 이것이 이 방법의 유일한 단점이지만, 앞서 소개한 WMIC 방식에서는 이러한 문제가 전혀 발생하지 않습니다.

SID 종류 구분하기

S-1-0-0 형식의 SID는 Null SID(널 SID)라고 하며, 값이 알려지지 않은 경우나 구성원이 없는 그룹에 할당됩니다.

S-1-1-0 형식의 SID는 World SID(월드 SID)라고 하며, 모든 사용자로 구성된 그룹에 할당됩니다.

마지막으로 S-1-2-0 형식의 SID는 Local SID(로컬 SID)라고 하며, 로컬 터미널에서 로그인하는 사용자에게 할당됩니다.

이러한 시스템 식별자에 대한 자세한 내용은 Microsoft Developer Network(MSDN)에서 확인할 수 있습니다.

Pavithra Bhat 제공