강좌
클라우드/리눅스에 관한 강좌입니다.
리눅스 분류

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

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

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

 

 

 

 

앞서 배운 id“who am i”그리고 지금 배울  whoami를 잘 구분하도록 하자. 앞서 배운두가지만으로도 힘든데 뭘 더 구분해서 배우라는것인지 힘들어하는 분도 있을 것이다.

 

 

 판단은 배운 다음에 하도록 하자. , 그럼 whoami에 대해서 배워보도록 할 것이다.

 

 

 

 

 

유효사용자 ID(Effective User ID)라는 것이 있는데 이것은 어떤 명령어를 실행하였을 경우에 실제 어떤 사용자권한으로 실행되는가를 의미한다.

 

 

 

 물론, 대부분의 경우 id명령어로 확인했던 사용자 즉 현재사용자와 명령어를 실행했을 때의 사용자권한은 동일할 것이다.

 

 

 

 하지만 그렇지 않는 경우가 있다는 것을 알아야 한다.

 

 

 

 

 

, 현재 사용자와 EUID가 동일하겠지만 경우에 따라서는 달라지는 경우가 있기 때문에 whoami EUID를 확인할 수 있어야 한다.

 

 

 

 whoami는 유효사용자ID, EUID(Effective User ID)를 확인하는 명령어이다.

 

 

 

 앞서 배운 "id -un"과 동일한 결과를 얻을 수 있는 명령어이며, 현재 유효사용권한에 대한 EUID를 확인하고자 할 경우에 사용하며 쉘프로그램등에서도 많이 사용된다.

 

 

 

 

 

리눅스에서는 UID EUID(Effective UID), 그리고 SUID(Set UID)의 확실한 구분이 필요하다.

 

 

 

 다음 예를 보고 비교하기 바란다.

 

 

 

 

 

리눅스에는 현재 사용자의 정보를 확인하는 대표적인 명령어가 3개 있는 앞서배운 id“who am i” 그리고 whoami가 그것이다.

 

 

 

  이에 대해 언급해야 할 필요성이 있다.

 

 

 

 

 

이를 설명하기 위하여 간단한 예를 들어보겠다.

 

 

 

 아래 예는 현재 sspark이라는 사용자로 로그인 하였다.

 

 

 

 

EUID
확인(sspark)

 

아래의 whoami명령어는 현재 사용자의 EUID를 확인하는 명령어이다.

 

 

 

 , 어떤 명령어를 실행하였을 경우에 sspark이라는 사용자 권한으로 실행됨을 의미한다.

 

 

 

 

[sspark@sulinux sspark]$ whoami
sspark
[sspark@sulinux sspark]$



 

UID 확인(sspark)

 

who am i는 최초 어떤 사용자로 로그인하였나를 확인한 것이다.

 

 

 

 

[sspark@sulinux sspark]$ who am i
sspark   pts/0        Aug 30 14:54 (192.168.0.2)
[sspark@sulinux sspark]$

 

 

 

 

사용자정보확인

 

id는 현재 사용자의 UID GID, 그리고 그룹정보를 확인하는 대표적인 명령어이다.

 

 

 

 

 

[sspark@sulinux sspark]$ id
uid=501(sspark) gid=501(sspark) groups=501(sspark)
[sspark@sulinux sspark]$

 

 

 

 

위의 3가지(whoami, who am i, id)  모두  동일한 sspark이라고 출력되었다.

 

 

 

 앞의 예에서 확인한 예와 아래의 결과를 비교해 보기 바란다.

 

 

 

 

 

현재 sspark에서 su를 이용하여 bible이라는 사용자로 변경하였다.

 

 

 

 그 결과 EUID값이 sspark에서 bible로 바뀌게 된다.

 

 

 

 

[sspark@sulinux sspark]$ su - bible
Password: ********
[bible@sulinux bible]$
[bible@sulinux bible]$ whoami
bible
[bible@sulinux bible]$
[bible@sulinux bible]$ who am i
sspark   pts/0        Aug 30 14:54 (192.168.0.2)
[bible@sulinux bible]$
[bible@sulinux bible]$ id
uid=500(bible) gid=500(bible) groups=500(bible)
[bible@sulinux bible]$

 

, 위의 예를 보면 su명령어를 사용하여 sspark사용자로 로그인하여bible이라는 사용자로 변경하였다.

 

 

 

 그런 다음 whoami, “who am i”, 그리고 id 각각 3개의 명령어를 실행 하였다.

 

 

 

 

 

그 결과 앞의 예에서 보았던 결과와 다소 다르게 나타나고 있다는 것을 알 수 있다.

 

 

 

 , “whoami” EUID를 확인하는 명령어이기 때문에 bible로 출력되었으며 “who am i”는 초기 로그인사용자를 출력하므로 sspark으로 출력하였으며 id 또한  bible로 출력하였다.

 

 

 

 

 

좀 더 확실한 이해를 위하여 더 자세한 예를들어 보겠다.

 

 

 

 

 

처음으로 로그인한 사용자가 sspark이므로 현재 사용자 sspark을 확인한 것이다.

 

 

 

 

[sspark@sulinux sspark]$ whoami
sspark
[sspark@sulinux sspark]$

 

 

 

그리고 다음은 su명령어를 이용하여 현재 사용자 sspark에서 bible이라는 사용자로 전환하였다.

 

 

 

 그 결과 EUID sspark에서 bible로 변경된 것이다.

 

 

 

 

[sspark@sulinux sspark]$ su - bible
Password: ********
[bible@sulinux bible]$
[bible@sulinux bible]$ whoami
bible
[bible@sulinux bible]$



 

, 위의 결과 sspark에서 bible로 변경된 EUID를 확인하기 위하여 whoami로 확인 하였다.

 

 

 

 유효사용자가 bible이라는 의미는 어떤 명령어를 실행하였을 때 현재유효사용자(EUID) 권한으로 실행이 된다는 것을 의미한다.

 

 

 

 따라서 위의 예와같이 유효사용자(EUID) sspark에서 bible로 변경된 이후 부터의 모든 실행은 bible이라는 사용자 권한으로 실행된다는 것을 의미한다.

 

 

 

 

다음과 같이 exit를 사용하여 bible에서 sspark으로 다시 되돌아오면 EUID bible에서 EUID sspark로 빠져나온 것과 같은 의미가 된다.

 

 

 

 

[bible@sulinux bible]$ exit
logout

[sspark@sulinux sspark]$



 

그리고 빠져 나온 후에 다시 EUID확인을 위하여 whoami를 실행하였다.

 

 

 

 그 결과 EUID가 원래의 sspark이라는 것을 알 수 있다.

 

 

 

 

[sspark@sulinux sspark]$ whoami
sspark
[sspark@sulinux sspark]$

 

 

 

이번 설명이 다소 혼란스러울지 모르겠지만 UID EUID, 그리고 SUID를 정확하게 이해하는 것이 무엇보다 중요하다.

 

 

 

  3가지를 정확하게 구분할 수 있어야 이론과 실무에 강한 유능한 서버관리자가 될 수 있다.

 

 

 

 참고로 SUID는 이 홈페이지(www.linux.co.kr)"퍼미션과 SetUID, 그리고 속성 활용법"편의 "SetUID, SetGID, 그리고 Stickybit에 대한 이해와 설정법" 강좌에서 자세히  설명하고 있다.

 

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,038 명
  • 현재 강좌수 :  35,818 개
  • 현재 접속자 :  83 명