![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bVjPJF/btrTLKijvK8/kaFTtcRqwxNV6Mi4Du9Lwk/img.jpg)
리눅스에서 관리자 및 사용자가 패스워드 변경을 위해 사용하는 명령어가 있다. # passwd 해당 passwd 명령어는 /usr/bin/passwd에 위치하는 root 소유의 실행파일이다. 이 파일은 SUID, SGID가 설정되어 있기 때문에 root만이 접근 가능한 /etc/shadow 파일에 접근하여 패스워드를 변경할 수 있다. 이렇듯 SetUID, SetGID권한은 일반 사용자가 특정사용자나 그룹의 권한을 가질 수 있으므로 잘못 설정할 경우에는 아주 위험하므로 조심해야 된다. 보통 해킹당한 시스템에서 root권한으로 실행되는 백도어, 루트킷 등이 관리자 모르게 심겨지고, 악의적인 사용자에 의해서 웬만한 관리자도 모르게 해당 악성파일을 실행해서 root권한을 획득하는 경우가 많다. 그래서 root 비..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/nng0A/btrTFlDfBom/cYE9Q2pCG8CfyE0DQ07LQK/img.jpg)
Sticky bit [스티키 비트(1000)]가 설정된 디렉터리는 누구나 파일을 만들 수 있지만 자신의 소유가 아닌 파일은 삭제할 수 없다. 즉 일종의 공유 디렉터리라고 볼 수 있는데 sticky bit 가 붙은 가장 유명한 사례는 유닉스의 임시 파일을 쓰는 디렉터리인 /tmp 이다. 바로 위의 그림~ 디렉터리에 스티키 비트를 붙일 때 누구나 읽고, 쓰고, 실행할 수 있도록 777 권한을 줘야 하는데, 다음과 같이 /opt/mytmp 라는 디렉터리 경로에 스티키 비트를 부여하는 구문을 예제로써 보여줄 수 있다. # chmod -R 1777 /opt/mytmp 파일이나 디렉터리의 자세한 정보를 보는 명령어인 stat 를 사용해서 [# stat /tmp] 를 실행하면 Access 부분이 1777 이 지정된 ..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bq2jho/btrTHO5Bziv/F4SJapiWvkiFr3exIibfK1/img.jpg)
- UNIX 시스템은 파일에 대한 접근 권한 및 파일 종류를 나타내기 위해 16bit를 사용한다. - 각 3bit씩 총 9bit는 소유자 접근권한(user), 그룹 소유자 접근권한(group), 기타 사용자 접근권한(other)의 권한을 기술하는데 사용한다. - 4bit는 파일의 종류 표현에 사용하고, - 3bit는 특수권한에 사용. 즉 특수권한 3bit는 각각 421인데, 이것은 아래와 같다. > 절대 표기값 : SUID = 4000 / SGID = 2000 / Sticky Bit = 1000 [리눅스 SUID, SGID, Sticky-bit] - 개념 : SUID(Set User ID) : 프로그램을 실행할 때 해당 프로그램에 설정되어있는 소유자의 권한으로 실행한다. : SGID(Set Group I..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/lJtO8/btrTBJpTxy0/fOibNZ0ZG83YUBjlSzqTKk/img.jpg)
리눅스 시스템에서 하나의 파일 사용을 위해서는 파일 종류마다 접근 Permission 이 정해져 있다. 따라서 이런 파일 종류와 퍼미션을 나타내기 위해서 각 bit마다 순서와 의미가 있는 16bit 표현값을 사용하게 된다. 여기서 앞부분 4bit 는 파일의 종류, 그 다음 3bit는 특수권한을 갖고, 나머지 9bit는 각각 주체별로 3bit씩 할당하여 user, group, others 권한을 갖게 되는 것은 이미 설명하였다. 이제 특수권한비트에 대해서 알아보도록 하자. [특수 권한 비트 SetUID & SetGID] - 개요와 개념 참조) 잠시동안 내가 아닌 해당 파일 주인의 권한으로 프로세스 실행하기 SUID 는 Set UID의 약자로서 프로세스가 실행 중인 동안 일시적으로 해당 실행 파일의 소유자,..