본문 바로가기

IT/리눅스

리눅스 id, who am i, whoami, EUID

리눅스 id, who am i, whoami, EUID

 

 

 

안녕하세요 지토우에요.

여러분은 살아가면서 무엇이 가장 중요하다고 생각하세요?

저는 '나 자신'이라고 생각해요.

내가 중심이 된 삶일 때 비로소 오롯이 삶의 무게를 견뎌낼 수 있다고 생각하거든요.

 

그에 따라, 우리가 오늘 배울 것은 '나'에 관한 내용이에요.

뜬금없이 리눅스에서 내가 왜나와? 하시는 분들도 있겠지만, 차근차근 제 이야기를 들어주세요.

 

 

 

1. 나는 누구인가?

 

우리는 리눅스시스템의 관리자로서 이 자리에 있습니다. 배우기 위해서요.

사용자 및 그룹 관리의 첫번째는 "현재 시스템에 로그인한 나는 도대체 누구인가?" 를 확인하는 방법이겠지요.

내가 누구인지 알아야 진행이 될테니까요. 인생도, 리눅스도 나를 모르면 진행되지 않고 잘못된 방향으로 나아가니까요.

여하튼, 시스템관리자라면 당연히 root 사용자일거고, 또는 시스템관리자의 일반 계정이겠지요.

 

이를 확인하기 위해서 우리는 id 라는 명령어를 사용할겁니다.

id는 "Identification"의 약어입니다.

사용자정보, uid, gid, 소속그룹정보 등을 확인하는 명령어인데요.

사용자의 신분을 확인하는 가장 일반적인 명령어입니다.

비슷하게는 who, who am i 등이 있습니다.

특정 계정정보를 확인하는 용도로 가장 흔하게 사용되는 명령어가 id입니다.

 

 

위의 예는 root 사용자가 id로 정보를 확인해본 결과에요.

 

 

위의 예는 일반 사용자 201632003이 자기자신의 정보를 확인한 예이구요.

 

확실히 root가 소속된 그룹이 많고, UID와 GID가 0이라는 것도 알 수 있지요.

시스템을 관리하기 위한 권한이 필요한 몇몇그룹에도 소속되어 있습니다.

 

 

 

 

이는 2016320이라는 사용자가 자신의 EUID(유효사용자, Effective User ID) 정보만을 확인한 예입니다.

단순한 UID 가 아니라 EUID를 확인하는 것인데요.

EUID는 유효사용자 ID라는 것으로, 명령어를 실행하였을 경우 실행된 명령어가 실질적으로 사용하게 될 권한사용자를 의미합니다.

서버보안 점검과정에서 해킹 등을 당하지 않았는가를 확인할 때 사용하는데,

특정 파일을 대상으로 이 검사를 하고는 합니다.

 

위에서 결과를 보니 현재 EUID는 2016320 이네요.

EUID의 UID 번호를 확인하고자 한다면?

 

 

위와 같은 명령어를 쓰면 됩니다.

 

또, id -g라는 명령어도 있는데 이는 실질적 그룹명을 의미합니다.

EUID와 함께 보안적 측면에서 체크해둬야 합니다.

 

 

2. 로그인 ID가 무엇이었는지 확인

 

id와 지금부터 배울 "who am i"는 확실히 구분해야합니다.

who am i내가 시스템에 접속할 당시의 계정명과 접속정보를 확인하는 것인데요.

결론부터 말하자면 who am i 는 최초접속자를 표현합니다.

 

 

위에서는 2016320 사용자로 초기접속한 상황에서 id와 who am i 를 각각 실행한 예입니다.

모두 2016320에 대한 정보를 출력하고 있지요?

 

 

 

위에서는 2016320에서 루트 사용자로 변경한 후 다시 id 와 who am i 를 실행한 결과인데요.

id는 바뀐 root 정보를 출력한 반면,

who am i 는 내가 최초로 접속했던 로그인 ID 인 2016320 에 대한 결과를 출력했습니다.

 

who am i 의 결과가 출력하는 정보

 

2016320 : 최초접속자 ID

pts/2 : 최초접속시 사용했던 터미널장치명

2017-07-06 : 최초접속당시의 접속시간

117.a.a.a : 최초접속당시의 IP 주소

 

 

 

 

3. EUID (유효사용자 ID) 확인

 

이번에는 whoami 를 배웁니다.

엥? 아까 who am i 배웠는데 왜 또 배운다고 하지? 하고 갸우뚱 거리실 수도 있습니다만,

whoami 와 who am i 는 다릅니다.

아버지가방에들어가신다 와 아버지가 방에 들어가신다 가 다른것처럼요. (아님)

 

유효사용자 ID, 그러니까 EUID는 어떤 명령어를 시행하였을 경우에

실제 어떤 사용자권한으로 실행되는가의 문제입니다.

 

 

 

EUID 확인 (2016320)

 

whoami 명령어는 현재 사용자의 EUID 를 확인하는 명령어입니다.

즉, 어떤 명령어를 실행했을 때 2016320 이라는 사용자 권한으로 실행되는 것이지요.

 

UID 확인 (2016320)

 

who am i 는 최초 어떤 사용자로 로그인했나를 확인하는 것입니다.

 

사용자 정보 확인

 

id 는 현재 사용자의 UID, GID , 그룹 정보를 확인하는 명령어에요.

 

 

 

이제 2016320 에서 su 명령어를 이용해 root 사용자로 변경합시다.

 

 

whoami 는 EUID를 확인하는 명령어이므로 root 로 확인되었고

who am i 는 초기 로그인 사용자를 출력하므로 2016320 으로 출력되었고

id 또한 root 로 출력되었습니다.