NLP/AI/Statistics

Linux 파일 권한 변경하기: chmod 본문

Computer Setting/Linux & Vim

Linux 파일 권한 변경하기: chmod

Danbi Cho 2020. 11. 14. 12:33

파일을 실행시키거나 수정하기 위해 파일을 열 때, 갑자기 아래와 같은 에러가 뜰 때가 있다.

 

PermissionError: [Errno 13] Permission denied: (file name)

 

이런 문제를 해결하기 위해 chmod를 이용하여 권한을 변경할 수 있다.

 

chmod --help는 다음과 같다.

기본 실행 방법은 권한 설정 옵션과 권한을 변경하고자 하는 파일로 작성된다.

 

$ chmod 777 example.txt

 

이 때, 777이 무슨 의미인지 권한을 어떻게 변경하는지 정리하고자 한다.

 

우선, 파일의 권한은 terminal에서 파일 리스트를 출력해보면 확인할 수 있다.

$ls -l

위의 명령어를 입력하면 사진과 같이 각 파일에 따라 권한이 표기되어 있다.

 

첫 번째로,

 

맨 앞의 'd' 와 '-'는 해당 파일이 directory인지, 아닌지를 구분해준다. 

 

즉, d로 시작하면 directory, 아니면 directory 이외의 파일을 의미한다.

 

두 번째로, 

 

각 위치 별로 권한의 차이가 존재한다.

 

맨 앞(d, -)를 제외한 후 총 9개의 값이 있다.

 

이 중, 맨 앞 3개는 user의 권한이고, 중간의 3개는 group에 대한 권한, 마지막 3개는 others에 대한 권한을 의미한다.

 

세 번째로,

 

rwx가 다르게 명시되어 있는 것을 확인하였다.

 

이는 권한을 8진수로 표기한 것으로 r = 4, w = 2, x = 1의 값을 의미한다.

 (r: 읽기, w: 쓰기, x: 실행하기)

 

즉, rwx로 읽고 쓰고 실행하는 것을 모두 허용할 경우 r+w+x = 7 의 값으로 권한을 부여한다.

 

이제 앞서 들었던 예시(chmod 777 example.txt)를 해석해 보면,

 

example.txt라는 파일을 777의 권한으로 변경한다.

 

이 때, 777은 user, group, others에게 모두 rwx(읽고 쓰고 실행하는) 권한을 허용하겠다. 라는 의미로 사용된다.

 

또한, 위의 사진에서 표기된 ' -rw-r--r--'은 아래와 같이 해석된다.

 

- : 어떤 파일인데

rw- : user에게는 읽고 쓰는 권한,

r-- : group에게는 읽는 권한만,

r-- : others에게도 읽는 권한만 존재한다.

 

위와 같이 8진수를 이용하여 권한을 부여하는 방법 말고 직접 특정 권한을 추가할 수 있다.

 

+와 -를 통해 권한을 부여하거나 권한을 박탈시킬 수 있다.

$ chmod +x example.txt
: 실행 권한 추가

$ chmod g+w example.txt
: group에게 w(읽기) 권한 추가

$ chmod o-rwx example.txt
: others에게 rwx(읽고 쓰고 실행하기) 권한 박탈

 

출처:

https://gracefulprograming.tistory.com/111

 

[Linux] chmod 로 파일 권한 변경하기

개요 chmod 명령어는 리눅스의 파일이나 디렉토리의 권한을 변경하는 명령어입니다. 사용법 리눅스에서 사용되는 명령어는 모두 대소문자를 구분하니 주의해주세요. chmod 명령어의 사용법은 다

gracefulprograming.tistory.com

 

 

'Computer Setting > Linux & Vim' 카테고리의 다른 글

Vim에서 Tab 크기 조절  (0) 2021.05.18
Linux disk 남은 용량 확인  (0) 2021.03.31
Vim 설치 - Linux  (0) 2020.12.10
SFTP 사용법 - Linux  (0) 2020.12.02
cuda & cudnn 설치  (0) 2020.10.22
Comments