2009년 10월 18일 일요일

08 - 리눅스 setuid, setgid, stickybit, 소유자 그룹 변경

setuid (4000)

 지정한 파일이 실행시점부터 끝날때까지 지정한 파일의 uid 의 소유권을 갖게 됨.
지정한 파일에 실행권한이 있을경우 rwx => rws
지정한 파일에 실행권한이 없을경우 rw- => rwS 실행안됨

ex)
# chmod 4755 /etc/passwd
$ passwd
- 이 시점부터 설정한 실행이 끝날때까지 uid의 소유를 갖음
주의! 위험한 시도
$ more /etc/shadow

/etc/shadow: Permission denied


# ls -l /bin/more -rwxr-xr-x 1 root root 30316 2008-09-25 22:08 /bin/more

# sudo chmod 4755 /bin/more
# ls -l /bin/more
-rwsr-xr-x 1 root root 30316 2008-09-25 22:08 /bin/more
$ more /etc/shadow
// 접근가능
setgid (2000)

 지정한 파일이 실행 시점부터 끝날때까지 실행한파일의 gid 의 소유권을 갖게됨
지정한 파일에 실행권한이 있을경우 rwx => rws
지정한 파일에 실행권한이 없을경우 rw- => rwS 실행안됨

ex)
# find / -perm +4000 2 > /dev/null
검색경로: /
검색데이터: -perm +4000
어떻게: 2(출력?)
방향: > (왼쪽에서 오른쪽으로 보내라)
어디로: dev/null(쓰레기통?)
=> setuid 정보 보안설정 해줘야함
stickybit

rwx rwx rwx (777)
=> 이러한 디렉터리의 권한은 디렉터리내에 혼돈을 일으키게 된다.
user, group, other 의 구분없이 디렉터리내에 파일들을 마음데로 삭제할 수 있기 때문이다.

그래서 stickybit를 사용한다.
# chmod 1777 /tmp
rwx rwx rwt (1777)
=> 디렉터리내에서 other의 권한이 자신이 생성한 파일및디렉터리에 대해선 막강하나, 타인의해서 생성된 파일및디렉터리에 대해서는 권한이 없다. 단지 관람만 할 수 있을 뿐이다.

게시판과 비슷한 계념이다.          stickybit(1777일때)
게시판에서 글의 작성은 모두 할 수있다.   => 파일및디렉터리 생성은 모두 가능
게시판에서 글의 수정은 작성자만 할 수있다. => 파일및디렉터리 수정은 작성자만 가능
게시판에서 글의 삭제는 작성자만 할 수있다. => 파일및디렉터리 삭제는 작성자만 가능
게시판에서 글의 보기는 모두 할 수있다.   => 파일및디렉터리 관람은 모두 가능
(단, 관리자(해당 디렉터리의 소유자)는 모든 권한이 있다.)

stickybit를 사용하게 되면 group의 권한은 무시되고 user 와 other 의 권한만 인식을 한다.

chown

파일및디렉터리의 소유권자와 해당그룹을 바꿈
chown 바꿀소유자 파일및디렉터리        소유자만 변경
chown :바꿀그룹명 파일및디렉터리        그룹만 변경
chown 바꿀소유자:바꿀그룹명 파일및디렉터리   소유자와 그룹 모두 변경

댓글 없음:

댓글 쓰기