티스토리 뷰
1. 기호를 이용한 파일 접근 권한 변경
기호를 이용하여 파일 접근 권한을 변경하는 기호모드는 다음과 같이 사용자 카테고리 문자, 연산자 기호, 접근권한 문자로 구성된다.
chmod |
사용자 카테고리 문자 |
연산자 기호 |
접근 권한 문자 |
파일명 |
기호 모드에서는 각 항목별로 사용할 수 있는 문자와 기호가 정해져 있다. 사용자 카테고리는 소유자, 그룹, 기타 사용자를 나타내는 문자로 표기되고, 연산자는 권한 부여나 제거를 나타내는 기호로 표기된다. 또한 접근 권한 기호로는 읽기, 쓰기, 실행을 타나내는 문자를 사용한다.
구분 |
문자/기호 |
의미 |
사용자 카테고리 문자 |
u |
파일 소유자 |
g |
소유자가 속한 그룹 |
|
o |
기타 사용자 |
|
a |
전체 사용자 |
|
연산자 기호 |
+ |
권한 부여 |
- |
권한 제거 |
|
= |
접근 권한 설정 |
|
접근 권한 문자 |
r |
읽기 권한 |
w |
쓰기 권한 |
|
x |
실행 권한 |
사용 예 chmod g+wx test.txt
chmod u+w,g-x test.txt <-- u+w와 g-x 사이에 공백이 있으면 안된다.
2. 숫자를 이용한 파일 접근 권한 변경
소유자, 그룹, 기타 사용자별로 권한을 부여하거나 제거할 때는 기호 모드가 편리하지만 전체적으로 권한을 조정할 때는 문자의 조합이 복잡해진다. 이럴 때 숫자 모드로 chmod 명령을 사용하면 소유자, 그룹, 기타 사용자의 권한을 한 번에 원하는 대로 변경할 수 있어서 아주 편리하다.
숫자로 환산하기
앞에서 접근 권한은 세 개의 사용자 카테고리와 각 카테고리별 세 개의 권한으로 표현한다고 했다. 기호 모드에서는 이 카테고리와 권한을 모두 문자로 나타냈으나, 숫자 모드에서는 각 권한이 있고 없고를 0과 1로 표기하고 이를 다시 화산하여 숫자로 나타낸다. 카테고리별로 권한의 조합에 따라 0부터 7로 나타내는 것이다. 결과적으로 숫자모드는 다음과 같이 세 자리 수로 표현된다.
읽기, 쓰기, 실행 (0~7) |
읽기, 쓰기, 실행 (0~7) |
읽기, 쓰기, 실행 (0~7) |
소유자 권한 |
그룹 권한 |
기타 사용자 권한 |
권한 묶음(rwx)를 숫자로 환산하는 방법을 알아보자. 읽기, 쓰기, 실행의 각 권한이 있으면 1, 없으면 9으로 바꾼 후 이를 2진수 세 자리로 간주하여 8진수로 환산하면 권한 묶음을 숫자 0~7 중 하나로 표기할 수 있다. 예를들어 r-x권한의 경우 권한이 있는것은 1로 없는것은 0으로 바꾸면 101이 된다. 이 2진수를 각 자릿수 별로 10진수로 환산하면 4,0,1이 되고 이 세 숫자를 더하면 최종 권한값은 5가 된다. 이런식으로 세 숫자를 연결하여 전체 접근 권한을 표시할 수 있다.
숫자 모드로 접근 권한 변경하기
이제 chmod 명령에서 숫자 모드를 사용해보자. chmod 명령을 사용하는 형식은 기본적으로 같다.
chmod | 숫자 ( 0 ~ 7 ) | 숫자 ( 0 ~ 7 ) | 숫자 ( 0 ~ 7 ) | 파일명 |
기호모드에서 문자와 기호가 들어갈 자리에 숫자를 사용하면 된다. 기호 모드와 다른 점은, 숫자의 각 위치가 사용자 카테고리를 나타내기 때문에 사용자 카테고리를 따로 지정할 필요가 없다는 것이다. 그리고 항상 세 자릿수를 사용해야 하므로 변경하려는 사용자 카테고리의 권한뿐만 아니라 그룹과 기타 사용자의 권한도 반드시 같이 명시해야 한다.
- Total
- Today
- Yesterday
- 티라노 시그널
- 클래스
- C++
- 유즈케이스
- 파이썬
- 자료구조
- 악보
- 파이썬예제
- 티그널
- socket
- MFC
- 디렉터리
- 안드로이드
- C
- 데이터베이스
- 정렬
- 파일
- C/C++
- 프로세스
- Sort
- 스레드
- 라즈베리파이
- 소켓
- 클라이언트
- 소켓 프로그래밍
- 액터
- UML
- 리눅스
- 쓰레드
- 터미널
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |