운영체제 OS/리눅스 Linux

사용자별로 파일이나 디렉터리 읽기, 쓰기, 실행 권한을 수정할 수 있는, chmod 8진법 표기로 실행하기

Tap to restart 2020. 10. 8. 18:00
반응형

chmod란?

change mode의 축약어. 유닉스와 유닉스 계통 운영체제(맥, 리눅스)에서 쓰이는 셸 명령어.

파일이나 디렉터리의 모드를 바꿀 수 있다.

 

ls -l 을 실행하면

파일 앞에 이런 정보들이 나온다.

-rwxr--r--

d-rwxr-xr-x

 

앞에 d가 붙어 있으면 디렉터리다. 안 붙어 있으면 파일이다.

-(rwx)(r--)(r--)

   1      2    3

이렇게 구분할 수 있고

1은 user 파일 소유자의 권한,

2는 group 파일의 그룹멤버인 사용자 권한,

3은 others 파일의 소유자나 그 그룹의 멤버가 아닌 사용자의 권한을 뜻한다. 

r은 read 읽기

w는 write 쓰기

x는 excute 실행이다.

 

8진법 표기란?

rwx 순서대로 2진법으로 표현해볼 수 있다.

2진법 1 1 1(2)라면 맨 앞 1은 4, 두 번째 1은 2, 마지막 1은 1이다.

따라서 read는 4, write은 2, excute은 1이 된다.

 

표로 정리하면 아래와 같다.

영문자 권한 2진법 표기 8진법 표기
rwx 읽기 쓰기 실행 111 7
rw- 읽기 쓰기 110 6
r-x 읽기 실행 101 5
r-- 읽기 100 4
-wx 쓰기 실행 011 3
-w- 쓰기 010 2
--x 실행 001 1
--- 없음 000 0

8진법 표기로 실행하려면 다음을 암기해야 한다.

1. rwx순이란 것. read write excute

2. rwx순으로 111 이진법 표기를 하고 이것을 8진법 숫자로 바꾼다는 것.

3. ugo순이란 것. user group others

위 세 가지를 이해하고 나면 641, 777 등 숫자를 이해할 수 있다.

8진법으로 실행하기

영문자가 번거로워서 8진법 표기로 명령어를 입력한다.

chmod 641 test.txt

의미는 test.txt에 맨 앞 6은 파일 소유자에게 읽기 쓰기 권한을 부여하고

두 번째 4이므로 그룹에게 읽기 권한을 부여,

마지막은 1이므로 기타 사용자들한테는 실행 권한을 부여하게 된다.

 

기타

옵션

-R 재귀적으로 파일들과 디렉터리들의 모드들을 바꾼다.

예) chmod -R u+w,go-w docs/

u사용자에게 +w쓰기 권한 추가, g그룹과 o기타 사용자에게 -w쓰기 권한 제거, docs/ 디렉터리와 그 안의 -R모든 파일들, 디렉터리들의 허가를 바꾼다.

예) chmod u+w,go-w docs

docs 디렉터리에 u사용자에게 +w쓰기 권한 추가, g그룹과 o기타 사용자에게 -w쓰기 권한 제거

 

참고

위키백과 chmod

 

 

반응형