본문 바로가기

CAT-Security/미분류

[시스템 기초] 스터디(3주차)


파일 리스트와 파일 속성

리눅스에서 ls- al을 했을경우 나타나는 파일정보를 상세히 설명한 그림 입니다.

맨 앞에 -은 파일유형으로 보통 디렉토리의경우 d의 값을 가직 ㅗ있습니다.

파일 허가권은 [3-3-3] 식으로 rwx의 값들을 가지고 있는데, 각각이 소유자 그룹 다른사용자의 권한 설정을 가지고 있습니다.

링크수는 말그대로 하드,소프트 링크가 걸려있는 수를 말해 줍니다.

파일 소유자의 이름과 그룹이름은 따로 설명이 필요 없을 것 같습니다.

파일크기는 byte로 나타나며, 마지막 변경 날짜/시간이 그 뒤에 나오고, 마지막으로 파일이름이 있습니다.





파일허가권을 상세히 설명한 그림 입니다. 위에 [3-3-3]이라고 설명 해드렸는데, 더 자세히 설명해 드리도록 하겠습니다.

r -> 읽기권한    4 (2의2승)

w - > 쓰기권한 2 (2의1승)

x -> 실행권한   1 (2의0승)

총 이 세가지의 권한을 가지고 있으며, 총 더한 값은 7입니다.


이 권한을 설정하는 명령어로는 chmod가 있으며, 명령어 사용방법은 chmod 755 파일이름 이런식의 순을 가지고 있습니다.

소유자에게 읽기권한과 실행권한만을, 그리고 나머지는 아무권한도 주지 않을 경우에는

4+1 = 5 

0    = 0

0    = 0

으로 chmod 500 파일이름 이런식으로 권한을 줄 수 있습니다.




명령어 실행절차

일반적으로 시스템사용자가 명령어를 실행시켰을 때 명령어를 찾아서 실행시키는 경로와 절차는 다음과 같습니다.
현재 작업디렉토리에서 찾음.
$PATH에서 찾음
찾은후에 실행권한 체크
권한이 있다면 실행시킨 사용자의 UID로 실행
권한이없다면 이 파일이 Setuid bit가 있는가를 확인

Setuid bit가 있다면 명령어 소유주의 UID(Effective UID)로 실행





setuid가 걸려있는 passwd 프로그램의 흐름도 입니다.

일반 계정으로 passwd를 실행하면, 바로 권한이 전환되고 root 계정의 권환으로 프로그램이 돌아가게 됩니다.

프로그램이 정상 실행 된 뒤 프로그램이 종료되기 전에 권환을 전환해서 일반사용자의 권환으로 돌려주게 됩니다.


하지만 여기서 종료될때 권환전환이 되기전에 프로그램이 어떠한 공격을 받게되고, 그 상태에서 명령어해석기인 shell이 뜨게 된다면은

그 shell은 root 권환의 shell로 돌아가게 되게 됩니다. 즉 권환은 매우 조심스럽게 다뤄 져야 합니다.






위 프로그램은 단순히 빅엔디안방식인지, 리틀엔디안 방식인지 설명하기 위해 만든 프로그램 입니다.

리눅스는 리틀엔디안방식이기 떄문에 위에 0a 00 00 00 값으로 들어가게 됩니다.



리틀엔디안과 빅 엔디안 방식의 차이점입니다.


'CAT-Security > 미분류' 카테고리의 다른 글

python 공부 자료  (0) 2012.12.20
kernel object 와 handle 정리  (2) 2012.11.29
리그 오브 레전드 첫 금장  (0) 2012.11.24
TCHAR, _tmain등 (SBCS, MBCS, WMCS)의 이해 및 정리  (1) 2012.11.22
[문제풀이] abexcm5 분석  (0) 2012.11.22