리눅스는 여러 사용자가 이용하는 경우가 많이 때문에 한 사용자의 파일을 다른 사용자가 읽고 쓸 수 없도록 제어해야 할 필요가 있다.
또한 셸에서의 파일 실행 가능 여부 등 속성을 각각 설정 가능하다.
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