chmod 파일 권한 바꾸기
[개념]
chmod는 특정 파일 또는 디렉토리의 주어진 퍼미션(permission)을 변경할 때 사용하는 명령어이다.
chmod 명령으로 파일의 퍼미션을 설정하는 방법에는 8진수 숫자로 지정하는 방법(절대 모드 지정 방법)
특정 문자를 이용한 방법(상대 모드 지정 방법) 으로 두 가지가 있다.
예) 특정 설치파일 권한이 읽기만 있다면, 설치되지 않을 것이다.
쓰기 권한을 포함하여 퍼미션을 변경해서 읽기 권한만 있는 파일을 쓰기 권한을 부여해서 설치할 수 있다.
[기본 사용법]
절대 모드 지정 방법 : chmod [옵션] [--옵션] [8진수 모드] [파일]
상대 모드 지정 방법 : chmod [옵션] [--옵션] [모드] [파일]
[옵션]
옵션 | 설명 |
-R , --recursive | 가장많이 사용하는 옵션 디렉토리와 그 안에 존재하는 서브디렉토리까지 모두 적용 |
-C , --changes | 올바르게 변경된 파일들만 -v 옵션을 적용하여 자세히 보여준다. |
-f , --silent , --quite | 가능한 불필요한 메시지를 보여주지 않고 간략하게 보여준다. |
-v , --verbose | 실행 과정을 자세하게 보여준다. |
-help | 사용 가능한 옵션들과 사용법을 보여준다. |
--version | 현재 버전 정보를 보여준다. |
[절대 모드 지정 방법]
8진수 숫자로 퍼미션을 지정하는 방법이다.
0번부터 7번까지 숫자로 설정한다.
읽기는 4 , 쓰기는 2 , 실행은1 이다.
이것이 모두 없으면 0 이고 , 이것을 모두 더하면 7이다. 이 숫자를 조합하여 퍼미션을 설정한다.
이 숫자들은 파일의 소유자 권한 , 그룹소속자 권한 , 일반 다른 사용자 권한의 순서로 기술하면 각각에 대한 권한이 설정된다. 즉 , 100단위 , 10단위 , 1단위 위치에 각각의 권한을 설정할 수 있다.
접근 주체 | 허가 | 접근 유형 | 절대 모드 지정 |
파일 소유자 | 읽기 | r | 400 |
쓰기 | w | 200 | |
실행 | x | 100 | |
그룹 소속자 | 읽기 | r | 40 |
쓰기 | w | 20 | |
실행 | x | 10 | |
일반 다른 사용자 | 읽기 | r | 4 |
쓰기 | w | 2 | |
실행 | x | 1 |
[절대 모드 지정 방법 테스트1]
현재 755로 설정된 파일을 (파일 소유자에게는 읽기 , 쓰기 , 실행 ) / (그룹 소속자에게는 읽기 , 쓰기없음 , 실행) /
(일반 다른 사용자에게는 읽기 , 쓰기없음 , 실행)
511으로 퍼미션을 설정 한다 (파일 소유자에게는 읽기 , 쓰기없음 , 실행) / (그룹 소속자에게는 읽기없음 , 쓰기없음 , 실행) / (일반 다른 사용자 실행)
[상대 모드 지정 방법 테스트1]
특정 문자를 이용한 퍼미션 설정 방법이다.
u : 파일 소유자
g : 그룹 소속자
o : 일반 다른 사용자
a : 모두
+ : 권한 부여
- : 권한 제거
= : 권한 유지
r : 읽기
w : 쓰기
x : 실행
s : SetUID 또는 SetGID 설정
위 문자를 지정하여 퍼미션을 설정한다.
접근 주체 | 의 미 | 실행자 | 의 미 | 권한 | 의 미 |
u | 파일 소유자 | + | 권한 부여 | r | 읽기 |
g | 그룹 소속자 | - | 권한 제거 | w | 쓰기 |
o | 일반 다른 사용자 | = | 권한 유지 | x | 실행 |
a | 모두 | s | SetUID 또는 SetGID |
[상대 모드 지정 방법 테스트2]
모든 접근 주체에 대해 실행 권한을 제거해 본다.