리눅스는 여러 사용자가 이용하는 경우가 많이 때문에 한 사용자의 파일을 다른 사용자가 읽고 쓸 수 없도록 제어해야 할 필요가 있다.
또한 셸에서의 파일 실행 가능 여부 등 속성을 각각 설정 가능하다.
1- 2rwx 3rwx 4rwx :
파일 허가권 구분
1 ➡ type
2 ➡ user
3 ➡ group
4 ➡ other
허가권 기능
r ➡ 읽기 (read)
w ➡ 쓰기 (write)
x ➡ 실행 (execute)
8진법 표현
1 ➡ --x
2 ➡ -w-
3 ➡ -wx
4 ➡ r--
5 ➡ r-x
6 ➡ rw-
7 ➡ rwx
파일 외에 디렉터리에도 허가권이 있다.
디렉터리의 허가권도 마찬가지로
r : 해당 디렉터리를 읽는 권한
w : 디렉터리 내에 파일을 생성,삭제 권한
x : 디렉터리 내의 파일에 대한 접근 허가
x가 없으면 ls 로 해당 디렉터리에 접근할 수 없는 경우도 발생한다.
파일 타입
- ➡ 일반 파일
b ➡ Block device 파일
c ➡ Character device 파일
d ➡ dir
l ➡ 심볼릭 링크
p ➡ FIFO (named pipe)
s ➡ 소켓
? ➡ 기타 파일 타입
파일 타입 특수 기호
s ➡ suid 와 sgid의 실행 권한 있음
S ➡ suid 또는 sgid로 설정되어 있으나, 실행 권한은 없음
t ➡ sticky bit가 설정되어 있으며, 타 사용자(other)의 실행 권한 있음
T ➡ sticky bit가 설정되어 있으나, 타 사용자는 실행 권한 없음
x ➡ 실행 권한이 있으며, 위 중 어느 것에도 해당하지 않음
- ➡ 위 중 어느 것에도 해당하지 않음
문자열 모드
$ chmod [레퍼런스] [연산자] [모드] [대상이름]
<레퍼런스>
u : userg : groupo : othera : all == ugo<연산자>
+ : 해당 권한 추가- : 해당 권한 제거= : 해당 권한을 지정한 권한으로 <모드>
r : readw : writex : executeex) chmod g-w test.c
8진법 모드
$ chmod [옵션] [8진법] [대상이름]
ex) chmod 777 test.c