리눅스 파일권한 설정방법 - chmod명령어
리눅스(CentOS, ubuntu 등)에서 파일이나 디렉터리에 대한 접근권한을 설정하는 명령어로 chmod명령어가 있다.
알파벳 기호를 사용하는 문자모드, 8진수 값을 사용하는 숫자모드가 있다.
chmod [option] mode file
※ 권한 확인 방법
ls -all 명령어를 통해 파일의 권한을 확인할 수 있다.
r(읽기), w(쓰기), x(실행) 권한이고,
3칸씩 나누어 각각 소유자, 그룹, 일반사용자 이다.
▼ aaa.txt는 rwxr-xr--는 소유자(읽기,쓰기,실행), 그룹(읽기,실행), 일반사용자(읽기) 이다.
문자모드
문자모드는 설명이 직관적이며 숫자모드와는 달리 기존 권한을 유지한채 권한 추가, 삭제가 가능하다는 이점이 있다.사용기호
구분 |
기호 |
설명 |
권한 |
r |
읽기 |
w |
쓰기 |
|
x |
실행 |
|
사용자 |
u |
소유자 |
g |
그룹 |
|
o |
일반 사용자(소유자, 그룹 외) |
|
a |
모든 사용자(소유자,그룹,일반) |
|
설정기호 |
+ |
권한 추가(기존 권한을 유지한 채로 추가) |
- |
권한 삭제(기존 권한에서 해당 권한만 삭제) |
|
= | 권한 부여(기존 권한을 삭제하고 부여) |
사용방법
chmod [사용자][설정기호][권한] 파일명
(예시)
chmod ug+r aaa.txt : aaa.txt파일에 대해 소유자와 그룹에 읽기권한을 추가한다.
chmod o-x aaa.txt : aaa.txt파일에 대해 일반 사용자에 실행권한을 삭제한다
chmod u=rw aaa.txt : aaa.txt파일에 대해 소유자에게 읽기,쓰기 권한을 부여한다.(기존권한 삭제)
chmod a+x aaa.txt : aaa.txt파일에 대해 모든사용자(소유자, 그룹, 일반)에 실행권한을 추가한다.
화면예시
▲ chmod a+x aaa.txt 결과, 모든 사용자에게 기존 권한은 유지된 채로 실행권한이 추가되었음
숫자모드
숫자모드는 문자모드에 비해 짧고 편리한(초심자는 이해가 어려우나 한번 이해 후에는 쉽게 사용할 수 있음) 명령어를 이용하기 때문에 대부분의 리눅스 관리자는 숫자모드를 이용한다.
사용기호는 0~7까지 8진수를 사용한다. 기본원리는 3비트 2진수를 8진수로 변환한 것인데,
첫번째 비트는 읽기, 두번째 비트는 쓰기, 세번째 비트는 실행이다.
아래표를 보면 이해하기 쉽다(이해를 위해 크기순으로 정렬하지 않았다)
3비트 2진수 표기 |
8진수 표기(실제표기) |
권한 |
000 |
0 |
권한없음 |
100 |
4 |
읽기(첫번째 비트) |
010 |
2 |
쓰기(두번째 비트) |
001 |
1 |
실행(세번째 비트) |
011 |
3 |
쓰기(두번째 비트), 실행(세번째 비트) |
101 |
5 |
읽기(첫번째 비트), 실행(세번째 비트) |
110 |
6 |
읽기(첫번째 비트), 쓰기(두번째 비트) |
111 |
7 |
읽기, 쓰기, 실행(첫번째, 두번째 세번째 비트) |
위의 방법외에도 읽기는 4, 쓰기는 2, 실행은 1을 각각 더해서 권한을 만든다고 생각하여도 무방하다.
읽기쓰기권한 : 6
읽기실행권한 : 5
읽기권한 : 4
쓰기실행권한 : 3
사용자 기호와 설정기호없이 자리수를 이용하여 표현한다.
백의자리수는 소유자, 십의자리수는 그룹, 일의자리수는 일반사용자이다.
이또한 아래예시를 보면 쉽게 이해할 수 있다.(가지수가 많으므로 몇가지만 표기하겠다)
표기 |
소유자 |
그룹 |
일반사용자 |
754 |
7(읽기,쓰기,실행) |
5(읽기,실행) |
4(읽기) |
664 |
6(읽기,쓰기) |
6(읽기,쓰기) |
4(읽기) |
444 |
4(읽기) |
4(읽기) |
4(읽기) |
544 |
5(읽기,실행) |
4(읽기) |
4(읽기) |
사용방법
chmod [소유자권한][그룹권한][일반사용자권한] 파일명
(예시)
chmod 766 aaa.txt : aaa.txt에 대해 소유자 권한(읽기,쓰기,실행), 그룹 권한(읽기,쓰기), 일반사용자(읽기,쓰기)로 변경한다.
화면예시
▲ chmod 644 aaa.txt사용한 결과, aaa.txt에 기존권한을 리셋하고 소유자 읽기쓰기, 그룹 읽기, 일반 읽기 권한으로 설정되었다.
주요옵션
옵션 | 설명 |
-R |
하위디렉터리를 포함하여 디렉터리 내부의 모든파일의 접근권한을 변경 |
-c |
변경된 정보를 출력 |
-f |
중요한 오류메시지가 아니면 출력하지 않음 |
'운영체제 > 리눅스, 유닉스' 카테고리의 다른 글
[리눅스] head, tail 명령어(리눅스 파일 시작, 끝 출력 명령어) (0) | 2018.09.30 |
---|---|
[리눅스]cat명령어(리눅스 화면출력, 출력, 연결 명령어) (0) | 2018.09.28 |
[리눅스] ifconfig 명령어(리눅스 IP확인, 리눅스 IP설정 등) (0) | 2018.01.31 |
[리눅스] top명령어(리눅스 상태확인, 리눅스 시스템 모니터링) (0) | 2018.01.10 |
[리눅스] 리눅스 남은 용량 확인하기(리눅스 용량확인) df 명령어 (0) | 2018.01.03 |