[Linux] 권한 관리(chmod, chown, chgrp, umask)
2021. 4. 24. 22:371. 접근 권한 변경(chmod)
Change mode의 줄임말
- chmod 명령: 기존 파일 또는 디렉토리에 대한 접근 권한(파일 모드)을 변경할 때 사용
- 파일 모드의 변경은 파일 소유자나 슈퍼 유저만 가능
- 파일 모드는 기호(문자)나 8진수로 지정
1. chmod 명령 도움말
- 주요 옵션
옵 션 |
설 명 |
-R |
하위 디렉토리와 파일의 권한 까지 변경 (동일 권한을 디렉토리와 파일에 지정) |
2. 접근 권한을 기호(문자)로 표현
- 문자 표기법은 변경할 사용자(대상), 수행할 명령(연산), 설정할 퍼미션(접근 권한) 세 부분으로 분류됨
- 다른 대상의 속성을 건드리지 않고 한 대상 속성만을 설정할 수 있는 장점을 가짐
- 복수 지정은 콤마(,)를 사용하여 구분
구 분 |
기 호 |
설 명 |
사용자 (대상) |
u |
user의 약자, 파일이나 디렉토리 소유자를 의미 |
g |
그룹 소유자 |
|
o |
others의 약자, 기타 사용자를 의미 |
|
a |
all의 약자, u,g,o의 조합 |
|
아무 문자를 사용하지 않으면 all로 추정 |
||
수행할 명령 (연산) |
+ |
추가 |
- |
제거 |
|
= |
지정, 기존의 속성 값은 사라짐 |
|
설정할 퍼미션 (접근 권한) |
r |
읽기 |
w |
쓰기 |
|
x |
실행 |
- 사용 예시
표기법 |
의 미 |
u+x |
소유자에게 실행 권한을 추가 |
u-x |
소유자의 실행 권한 제거 |
+x |
모든 사용자(소유자, 그룹, 기타사용자)에게 실행 권한 추가 |
o-rw |
기타사용자의 읽기, 쓰기 권한 제거 |
go=rw |
그룹, 기타사용자에게 읽기, 쓰기 권한 지정, 이전에 실행 권한을 가지고 있다면 제거됨 |
u+x,go=rw |
소유자에게 실행권한을 추가하고 그룹, 기타 사용자에게 읽기, 쓰기 권한 지정 |
a=rw |
모든 사용자에게 읽기, 쓰기 권한 지정 |
g-w | 그룹 소유자의 쓰기 권한 제거 |
g+w,o-x |
그룹 소유자에게 쓰기 권한 추가, 기타 사용자의 쓰기 권한을 제거 |
3. 접근 권한을 8진수로 표현
- 원하는 파일의 접근 권한을 설정하기 위해 8진수 표기법을 사용
- 3자리의 8진수로 소유자, 그룹 소유자, 기타 사용자를 위한 파일 모드를 설정할 수 있음
- r(읽기, 4), w(쓰기, 2), x(실행, 1)
- 2진법과 8진법의 파일 모드
8진법 |
2진법 |
파일 모드 |
0 |
000 |
--- |
1 |
001 |
--x |
2 |
010 |
-w- |
3 |
011 |
-wx |
4 |
100 |
r-- |
5 |
101 |
r-x |
6 |
110 |
rw- |
7 |
111 |
rwx |
4. chmode 사용 예시
2. 소유권 또는 그룹 변경(chown / chgrp)
- 파일이나 디렉토리의 소유주나 그룹을 변경할 때 사용
- 명령을 실행하고 나면 파일에 대한 이전 소유주는 해당 파일에 이 명령을 다시 실행할 수 없음
- 명령어를 사용하기 위해서는 슈퍼유저 권한이 필요함(보안의 특성상 슈퍼유저만 사용)
1. 파일 소유자와 그룹 변경(chown)
1) chown 명령어 도움말
- 주요 옵션
옵 션 |
설 명 |
-h |
심볼릭 링크 파일 자체의 소유주나 그룹을 변경 |
-R |
하위 디렉토리와 디렉토리 하위의 모든 파일의 소유주를 변경 |
2) chown 명령어 사용 예시
2. 그룹 소유권 변경(chgrp)
- UNIX의 이전 버전에서는 chown 명령어가 그룹 소유권이 아닌 파일 소유권만 변경할 수 있었음
- chgrp 명령어: 그룹 소유권을 변경하기 위한 독립된 명령어
1) chgrp 명령어 도움말
- 주요 옵션
옵 션 |
설 명 |
-h |
심볼릭 링크 파일 자체의 그룹 소유권 변경 |
-R |
하위 디렉토리와 디렉토리 하위의 모든 파일의 그룹 소유권 변경 |
2) chgrp 명령어 사용 예시
3. 접근 권한 마스크(umask)
- chmod 명령: 기존 파일의 접근 권한을 변경할 때 사용, 8진수로 지정하는 접근 권한은 해당 파일이 가져야 할 권한을 명시함
- umask 명령: 앞으로 만들어질 파일에 영향을 미치는 명령, 명령으로 지정한 8진수는 새로 만들어질 파일에서 제거될 권한을 명시
즉, 해당 값이 셋이 되어있는 비트는 0으로 셋팅 된다고 생각하면 된다. (000 010 010 이면 1이 마스크가 씌워져서 0으로 바뀜, 접근 권한을 빼았는 위치를 표시하는게 umask)
1. 접근 권한 기본 값 (파일과 디렉토리 생성시 접근 권한, 단, umask로 지정한 값은 기본값에서 제거)
- 일반(정규) 파일: 666 (rw-rw-rw-) - umask로 지정한 값
- 디렉토리: 777 (rwxrwxrwx) - umask로 지정한 값
2. umask 값 설정
- 시스템 관리자는 /etc/profile 파일에 umask를 지정하여 시스템 전체 사용자에게 획일적인 umask값을 적용 가능
- 보통 group과 other의 쓰기권한에 제한을 두는 022를 많이 사용
3. umask 명령어 사용 예시
출처
https://eunguru.tistory.com/93 [오늘도 난, 하하하]
'Linux' 카테고리의 다른 글
[Linux] which 명령어가 나타내는 PATH 바꾸는 방법. How to change the path that comes with the output of which command? (2) | 2021.05.12 |
---|---|
[Linux] 리눅스 man 명령어 man 페이지 사용법 (0) | 2021.04.27 |
[Linux] 리눅스 man 명령어 man 페이지 사용법 (0) | 2021.04.24 |
[수정중][Linux] CPU, 메모리 사용율 보기 (0) | 2021.04.12 |
[Linux] 리눅스 특정 포트 죽이기, 끄기, 상태 확인 (0) | 2021.03.04 |