chmod는 리눅스(Linux)에서 파일의 접근 권한을 소유주(user), 그룹(group), 나머지(others)로
구분하여 변경하도록 하는 명령어 입니다.
la -al 명령어를 통해 현재 파일의 권한 상태를 확인합니다.
가장 왼쪽편에 10자리의 알파벳과 -로 나타나는 내용이 파일의 권한입니다.
$ ls -al
drwx------. 9 clovir clovir 4096 5월 14 19:29 .
drwxr-xr-x. 3 root root 20 6월 16 2017 ..
-rw-------. 1 clovir clovir 13626 5월 12 04:12 .bash_history
-rw-r--r--. 1 clovir clovir 18 8월 3 2016 .bash_logout
-rw-r--r--. 1 clovir clovir 193 8월 3 2016 .bash_profile
-rw-r--r--. 1 clovir clovir 618 7월 26 2017 .bashrc
drwxrwxr-x. 3 clovir clovir 24 9월 1 2017 .cache
drwxrwxr-x. 3 clovir clovir 19 9월 1 2017 .local
예를들어 권한이 drwxrwxr-x 으로 되어 있다고 한다면
알파벳과 -를 합쳐서 총 10자리인것을 확인할 수 있습니다.
drwxrwxr-x 권한의 역할을 나누어 보면
d / rwx / rwx / r-x 이렇게 4개의 칸으로 구분이 됩니다.
1) 첫번째 칸에는 파일의 타입
2) 두번째 칸에는 소유주(user)의 권한
3) 세번째 칸에는 그룹(group)의 권한
4) 네번째 칸에는 나머지(others)의 권한
으로 분류가 됩니다.
여기에서 첫번째 칸의 타입은 여러가지 파일의 구분이 있습니다.
- : file
d : directory
l : other file link
p : pipe
b : block device
c : character device
두번째 칸 부터 네번째 칸까지 권한에 대한 구분이 있습니다.
r : read(읽기) - 4
w : write(쓰기) - 2
x : execute(실행) - 1
- : 권한 없음 - 0
파일의 권한을 바꿔보도록 하겠습니다.
1) 파일 권한 추가
$ chmod [권한의 분류] + [권한] [파일]
// others 권한 사용자에게 r(읽기),w(쓰기) 권한을 추가
$chmod o+rw chmodfile.txt
$ls -al
drwxrwxrwx. 2 clovir clovir 6 5월 15 17:45 chmodfile.txt
2) 파일 권한 제거
$ chmod [권한의 분류] - [권한][파일]
// group과 others의 w(쓰기),r(읽기) 권한 제거
$ chmod go-wx chmodfile.txt/
$ ls -al
drwxr--r--. 2 clovir clovir 6 5월 15 17:45 chmodfile.txt
3) 파일의 권한 변경
$ chmod [권한의 분류:숫자] [파일]
// 숫자 조합에 따른 명령어
// r = 4, w = 2, x = 1
// 4+2+1 = 7 = rwx 소유주(user)
// 4+0+0 = 4 = r-- 그룹(group)
// 1+0+0 = 1 = --x 나머지(others)
chmod 741 chmodfile.txt/
la -al
drwxr----x. 2 clovir clovir 6 5월 15 17:45 chmodfile.txt
4) 디렉토리일경우 하위 디렉토리까지 권한 변경
$ chmod -R [권한의 분류:숫자] [파일]
// 숫자 조합에 따른 명령어
// r = 4, w = 2, x = 1
// 4+2+1 = 7 = rwx 소유주(user)
// 2+1+0 = 3 = -wx 그룹(group)
// 1+0+0 = 1 = --x 나머지(others)
$ chmod -R 731 ./testdirectory/
ls -al
drwx-wx--x. 2 root root 6 5월 15 21:57 testdirectory
지금까지 리눅스(Linux) chmod 파일 접근 권한 설정 명령어에 대한 설명이었습니다.
내용이 도움이 되셨다면 하단에 공감 버튼을 클릭해 주세요^^!
'Develope > Linux' 카테고리의 다른 글
[Linux] 리눅스 vi 편집기 줄 번호(Line number) 생성 방법 (0) | 2019.05.19 |
---|---|
[Linux] 리눅스 종료, 재부팅 halt, reboot, shutdown 명령어 (0) | 2019.05.15 |
[Linux] 리눅스 histroy 명령어 소개 및 사용법 (0) | 2019.05.14 |
[Linux] 리눅스 hostname 설정 및 변경 방법 (0) | 2019.05.12 |
[Linux] 리눅스 원격 접속, cmd ssh 접속 방법 (0) | 2019.05.11 |