파일(디렉토리의) 소유권과 퍼미션, 속성, SetUID |
작성자 : (주)수퍼유저코리아, http://www.superuser.co.kr 서버팀 |
파일(디렉토리의) 소유권과 퍼미션, 속성, SetUID |
 | |
ㅇ 생성되는 파일의 퍼미션 결정 : umask - umask값 확인 : umask - umask 설정 : umask 022
umask |
000 |
001 |
002 |
022 |
파일 |
666 |
666 |
664 |
644 |
디렉토리 |
777 |
776 |
775 |
755 | |
ㅇ 파일과 디렉토리의 소유권과 소유그룹 설정 : chown - 특정파일의 소유자(소유그룹) 변경 : chown bible:bible FILE - 특정디렉토리의 소유자(소유그룹)변경 : chown bible:bible DIR - 특정디렉토리내의 모든 파일들의 소유자(소유그룹)변경 : chown ?R bible:bible DIR - 특정디렉토리내의 특정파일들에 대해서만 소유자(소유그룹)변경 : chown ?R bible:bible DIR --from=nobody:nobody
ㅇ 파일의 퍼미션과 디렉토리의 퍼미션의 의미와 차이점 - 별도 표를 보면서 설명
ㅇ 파일(디렉토리)의 퍼미션 변경 : chmod - 별도 표를 보면서 설명
ㅇ 파일의 속성 확인과 변경 : lsattr, chattr - 퍼미션과는 다른 의미로서 중요한 파일이나 디렉토리에 설정가능함. - 속성종류 : a속성, c속성, d속성, 속성, s속성, S속성, u속성등 - 별도 페이지 참조
ㅇ SetUID, SetGID, 그리고 Sticky Bit - 별도 페이지 참조
|
파일과 디렉토리의 퍼미션의 의미와 차이점 |
 | |
ㅇ 퍼미션의 예 -rwxrwxrwx 1 root root 345 1월 22 13:36 FILE drwxrwxrwx 3 root root 4096 1월 23 13:25 DIR
ㅇ 파일과 디렉토리의 퍼미션의 의미와 차이점
퍼미션 |
일반적인 의미 |
파 일 |
디 렉 토 리 |
r |
읽기(read)권한 |
파일의 내용을 읽을 수 있음 |
ls로 디렉토리내용 확인가능 |
w |
쓰기(write)권한 |
파일에 저장할 수 있고, 파일을 삭제할 수 있음 |
디렉토리에 파일저장, 디렉토리이름변경, 디렉토리삭제등이 가능 |
x |
실행(execution)권한 |
파일을 실행할 수 있음 |
cd로 디렉토리로 접근가능 (ls로 디렉토리의 내용을 확인할 수 있는 것은 아님) |
s |
SetUID, SetGID권한 |
SetUID : 파일의 소유자 권한으로 실행됨 SetGID : 파일의 그룹권한으로 실행됨 |
t |
Sticky Bit권한 |
공유디렉토리로 사용됨 | |
|
퍼미션(permission)의 의미와 설정(chmod) |
 | |
ㅇ 퍼미션의 예 -rwxr-xr-x 1 root root 345 1월 22 13:36 hello drwxr-xr-x 3 root root 4096 1월 23 13:25 chaeya
- r w x r w x r w x ----- ------------ ------------ ---------- 파일유형 소유자권한 그룹권한 그외일반사용자 | |
ㅇ 파일유형(type)
- : 일반파일임을 의미함. b : 블록형 특수 장치파일(주로 디스크, 예: /dev/sda, /dev/hda등) c : 문자형 특수 장치파일(주로 입출력에 사용되는 특수파일, 예 : /dev/console등) d : 디렉토리를 의미함. l : 심볼릭 링크파일임을 의미함. p : 파이프파일임을 의미함. s : 소켓파일임을 의미함.(예 : /tmp/mysql.sock등)
ㅇ 퍼미션의 다양한 표현
2진수 8진수 퍼미션 2진수 8진수 퍼미션 000 -> 0 -> - - - 100 -> 4 r - - 001 -> 1 -> - - x 101 -> 5 r - x 010 -> 2 -> - w ? 110 -> 6 r w - 011 -> 3 -> - w x 111 -> 7 r w x
|
파일의 속성 |
 | |
ㅇ 파일의 속성 - 퍼미션과는 별도로 존재하고 별도의 의미를 가짐 - 특정파일에 대하여 삭제불가능, 추가만 가능등의 설정을 할 수 있음.
ㅇ 속성의 종류 - a 속성 : 파일에 내용추가만 가능, 삭제불가능, 주로 로그파일등에 설정함. - c 속성 : 커널에 의해 자동압축된 상태로 저장됨. 읽을때에는 압축해제됨 - d 속성 : dump로 백업이 되지 않도록 함. - i 속성 : 파일의 변경, 삭제, 이름변경, 내용추가, 링크파일생성등을 하지 못함. - s 속성 : 파일 삭제가 될 경우에 해당 블록이 0으로 셋팅되어 그블록에 쓰기가 발생함. - S 속성 : 파일의 내용이 변경될 경우에 디스크동기화가 발생함. - u 속성 : 파일삭제시 내용이 저장되어 삭제되기 전의 데이터 복구가 가능함.
ㅇ 속성 확인 방법 - lsattr 명령어를 사용함
ㅇ 속성 설정(부여) 방법 - chattr +속성 파일명 - chattr +속성1속성2… 파일명 - chattr ?R +속성 디렉토리명
ㅇ 부여된 속성제거 방법 - chattr ?속성 파일명 - chattr ?속성1속성2… 파일명 - chattr ?R ?속성 디렉토리명
|
SetUID, SetGID, Sticky Bit |
 | |
ㅇ 의 미 - SetUID : 일반적으로는 파일을 실행시키면, 실행시킨 사용자의 권한으로 실행이 되지만, SetUID가 설정된 파일을 실행하면 파일의 소유자 권한으로 실행이됨.
- SetGID : 일반적으로는 파일을 실행시키면, 실행시킨 소유그룹의 권한을 가지게 되지만, SetGID가 설정된 파일을 실행하면 파일의 소유그룹권한을 가지게됨.
- StickyBit : 공유디렉토리의 의미임. StickBit이 설정된 디렉토리에 파일을 생성하면 생성한 사람의 소유로 생성됨. 삭제 또한 생성한 사람과 root만이 가능함. 한마디로 공유디렉토리로 사용하기 위한 용도임.
ㅇ 설정방법 - SetUID(SetGID, StickyBit)은 일반 퍼미션과는 별도로 그 퍼미션자리가 존재함. - SetUID 설정 : chmod 4xxx 파일명 (xxx는 일반퍼미션) - SetGID 설정 : chmod 2xxx 파일명 (xxx는 일반퍼미션) - StickyBit설정 : chmod 1xxx 디렉토리명 (xxx는 일반퍼미션) * SetUID와 SetGID를 동시에 설정 : chmod 6xxx 파일명 (xxx는 일반퍼미션)
ㅇ설정확인 : ls ?l -rwsr-xr-x 1 root root 42972 Jan 10 10:45 FILE1 -rwxr-sr-x 1 root root 1422 Jan 10 10:45 FILE2 -rwsr-sr-x 1 root root 142972 Jan 10 10:45 FILE3 drwxrwxrwt 10 root root 4096 Feb 8 16:48 tmp
ㅇ참고사항 - SetUID, SetGID, StickyBit는 해당 자리의 일반퍼미션에 실행퍼미션이 있어야만 적용됨. - SetUID(SetGID, StickyBit)는 대부분 소문자로 표기됨. - 만약 대문자로 표기되어 있다면 설정은 되어 있지만, 일반퍼미션에 실행퍼미션이 설정되어 있지 않기 때문임.
|
|
 |