선릉역 1번 출구

Linux account and SetUID 본문

Computer/Linux

Linux account and SetUID

choideu 2021. 10. 22. 16:51

로그인(login)

사용자 계정과 패스워드를 이용해 시스템에 엑세스

Root 계정: 특권화된 접근 권한(root 권한)

일반 계정: 일반적인 접근 권한

 

*/etc/passwd

시스템에 현재 등록되어 있는 계정 정보들의 리스트를 포함

-rw-r--r--로 되어있기 때문에 read할 수 있음

cat /etc/passwd

root : x : 0 : 0 : root : /root : /bin/bash

(1)    (2) (3) (4)  (5)     (6)         (7)

(1) 사용자 계정

(2) 암호화된 패스워드가 /etc/shadow 파일에 위치함을 나타냄(x로 되어 있으면 /etc/shadow에 암호화 or Hash 된 패스워드가 있다는 것을 나타냄)

(3) UID(root = 0, 일반 UID: 500이상)

(4) GID

(5) 사용자 이름

(6) 홈디렉토리

(7) 쉘

 

*/etc/shadow

파일에 있는 계정 정보와 연관된 암호화된 or 해시된 패스워드들을 포함

 

사용자 ID(UID), 그룹 ID(GID)

-RUID(Real UID), RGID(Real GID): 사용자 게정을 식별하는데 사용

ex) bigcarrot:x:500:500::/home/fedlab:/bin/bash는 사용자 계정이 bigcarrot이고 일반사용자 UID임

-EUID(Effective UID), EGID(Effective GID): 사용자 계정의 액세스 권한을 나타내는데 사용됨

 

***액세스 권한 상승

실행 파일이 SetUID 비트를 가지면 파일이 실행되는 동안 사용자는 상승된 액세스 권한을 가질 수 있음

SetUID: 4000

SetGID: 2000

6777로 권한 설정을 해주면 4000, -> x가 s로 변함

6666로 권한 설정을 해주면 x자리가 대문자 S로 변함 

즉 소문자 s는 x의 권한이 더해진 것을 나타내고 대문자 S는 x의 권한이 없는 상태임

 

권한 상승 하는 법

1. SetUID 실행프로그램을 root가 생성

***setuid는 파일 소유자의 권한으로 일시적 권한 상승을 할 수 있게함 그렇기 때문에 일반사용자가 루트 권한을 얻기 위해서는 루트계정으로 파일을 생성해야함(루트 계정으로 파일을 생성해야 파일 소유자UID가 root로 설정되기 때문 또는 일반 계정으로 생성 후 chown으로 파일 소유자를 바꿀 수도 있긴함)

 

2. SetUID 실행프로그램에 Setuid bit를 root가 설정

1.번에서 실행프로그램을 root가 설정하는 것은 파일 소유자가 root가 되어야하기 때문이라고 했는데 파일 소유자(UID)가 root라면 chmod 명령어는 root만이 할 수 있기 때문에 root가 setuid bit를 설정하는 것임

 

결론

=>setuid는 파일 소유자의 권한으로 일시적 상승하는 것.

파일의 소유자가 root이고 실행권한이 rws로 되어있다면 내가 일반 사용자여도 이 파일을 실행했을 때, 일시적으로 파일의 소유자 root의 권한을 가지고 실행을 할 수 있음

 


ls 명령어 

ls는 list의 줄임말로 현재 디렉토리의 파일리스트를 출력함

내가 자주 쓰는 옵션은 -a, -l이다.

-a: 숨김 파일 포함 리스팅, ..포함(현재 디렉토리랑 상위 디렉토리: .. 포함)

-l: 상세 리스팅

-은 파일을 의미함

허가권(chmod): rwxr-x---

소유권: root root(UID, GID)

용량: 92

생성시간: Oct 15 04:51

파일이름: 1.bash

 

 

 

'Computer > Linux' 카테고리의 다른 글

ubuntu - django 설치하기  (0) 2022.08.05
[remind] Kali pwd/mkdir/touch  (0) 2022.06.05
[remind] Kali root  (0) 2022.06.04
[remind] Kali tutorial  (0) 2022.06.04
Directory structure  (0) 2021.10.22
Comments