1. 파일과 디렉토리의 퍼미션( permission ) 정복하기
– chmod 명령어는 특정 파일 또는 디렉토리의 퍼미션( permission )을 변경하는 명령어임.
–
퍼미션이란 특정 파일이나 디렉토리에 대하여 읽기, 기록하기, 삭제하기등의 권한을 설정해 놓은 것으로 다중사용자 운영체제(
Mult-User Operating System ) 에서 파일의 접근권한과 보호등을 위하여 반드시 필요한 것.
– 퍼미션 일반적인 의미 파일 디렉토리
r 읽기( read ) 권한 파일을 읽을 수 있음 디렉토리의 내용을 볼수 있음.
( ls 로 파일리스트 확인 가능 )
w 쓰기( write) 권한 파일에 저장, 삭제할 디렉토리에 파일저장, 디렉토리이름
수 있음 변경, 삭제등 가능
x 실행(execution)권한 파일을 실행할 수 있음 디렉토리에 접근할 수 있음
( cd 로 접근가능, ls로 리스트는 불가)
s SetUID, SetGID 파일소유자( SetUID ), 그룹소유자( SetGID ) 의 권한으로 실행함
t Sticky Bit 권한 공유디렉토리로 사용됨
– 가능한 옵션들
-c : 올바르게 변경된 파일들만 -v 옵션을 적용하여 자세히 보여준다.
-f : 가능한 불필요한 메시지를 보여주지 않고 간략하게 보여준다.
-v : 실행과정을 자세하게 보여준다.
-R : 디렉토리와 그안에 존재하는 서브디렉토리들까지 모두 적용한다.
– 퍼미션 진수법
2진수 8진수 표시되는 퍼미션 의미하는 내용
000 0 — 아무런 권한이 없음
001 1 –x 실행( execution ) 권한만 있음
010 2 -w- 쓰기( write ) 권한만 있음
011 3 -wx 쓰기와 실행 권한만 있음
100 4 r– 읽기( Read ) 권한만 있음
101 5 r-x 읽기과 실행권한만 있음
110 6 rw- 읽기과 쓰기권한만 있음
111 7 rwx 읽기, 쓰기, 실행 권한이 있음
– 파일유현
– : 일반파일을 의미
b : 블럭구조의 특수파일(Block Special File ) 을 의미함.( 예 : /dev/sda )
c : 입출력에 사용되는 특수파일( Character Special File ) 을 의미함.( 예 : /dev/console )
d : 디렉토리( Directory ) 를 의미하며, 디렉토리도 하나의 특수파일로 취급됨.
l : 심볼릭링크파일( Link File ) 임을 의미함.
p : 파이프파일( Pipe ) 임을 의미함.
s : 소켓파일( Socket ) 임을 의미함.
2. 8진수로 파일의 퍼미션 설저하기
– chomd 755 testfile
3. 특정 문자로 퍼미션 설정하기
– chmod a+r testfile
u : 소유자( user ) 를 의미함.
g : 그룹( group ) 을 의미함.
o : 다른사용자( others ) 들을 의미함.
a : 모두( all ) 를 의미함( Default )
이 문자와 함께 “+” 기호가 사용되면 “권한을 부여한다” 라는 의미이며, “-” 기호가 사용되면 “권한을 제거한다” 라는 의미가 됨.
4. 여러개의 파일과 디렉토리의 퍼미션 동시에 설정하기
– chmod 755 php*
5. 모든파일과 디렉토리의 퍼미션 한번에 설정하기
– chmod 755 *
6. 특정디렉토리내의 모든파일과 서브디렉토리퍼미션 한번에 설정하기
– chmod -R 755 TestDir
– -R 옵션과 함께 사용하면 서브디렉토리퍼미션까지 한번에 설정이 된다.