오뚝이개발자

[리눅스] Linux 파일 권한 관리 명령어(chmod) 본문

리눅스

[리눅스] Linux 파일 권한 관리 명령어(chmod)

땅어 2021. 9. 30. 14:22
728x90
300x250

 

 

리눅스는 하나의 컴퓨터를 여러 사용자가 사용할 수 있는 멀티유저 OS이다. 따라서 파일에 대한 권한을 관리하는 것이 보안상 중요하다. 특정 파일은 아무나 수정하지 못하게 하거나, 어떤 파일은 누구나 보고 수정할 수 있도록 관리하는 등의 경우가 있을 수 있다.

 

리눅스 파일, 디렉토리 권한 확인하기


ls -l 명령어를 사용하면 각 파일 및 디렉토리의 권한을 확인할 수 있다.

-rwxr-xr-x 1 pi pi 5720 Jul  3 20:06 a.out

-rw-r--r-- 1 pi pi  722 Jul  2 21:12 crontab.bak

-rw-r--r-- 1 pi pi   52 Jul  2 21:10 test.c

출력 결과는 각각 파일종류 및 권한(퍼미션), 링크수, 사용자(소유자), 그룹, 파일크기, 수정시간, 파일이름을 나타낸다. 

 

a.out 파일의 권한은 '-rwxr-xr-x'으로 확인할 수 있고, 소유권pi pi로 확인된다.(앞에서부터 소유자, 그룹)

rwx는 각각 읽기(read), 쓰기(write), 실행(execute) 권한을 나타낸다. 참고로 디렉토리에 들어가기 위해선 실행권한이 있어야 한다. 권한은 4부분으로 나뉜다. 

- rwx r-x r-x

처음의 -자리는 파일(-)인지 디렉토리(d)인지에 대한 구분이다.

rwd : 사용자 권한(owner)

r-x : 그룹(group) 권한

r-x : 다른 사용자(other) 권한

 

파일의 권한 변경(chmod)


파일이나 디렉토리의 권한을 변경하기 위해선 chmod 명령어를 사용해야 한다.

아래 예시와 같이 사용대상별로 개별적으로 권한 변경이 가능하다. 사용자는 u 사용자, g 그룹, o 다른사용자, a 전부로 구분할 수 있고, +는 권한을 부여하고 -는 권한을 빼앗는다.

chmod g+w test.py	# 그룹에 test.py의 쓰기 권한 부여
chmod o-r test.py	# 다른 사용자들의 test.py의 읽기 권한 박탈
chmod g+rwx test.py	# 그룹에 test.py의 읽기, 쓰기, 실행 권한 부여
chmod go+rw test.py	# 그룹과 다른 사용자에게 test.py의 읽기, 쓰기 권한 부여

그런데 이러한 방식은 조금 번거롭다. 그래서 숫자로 한 번에 권한을 변경하는 방식을 많이 사용한다.

chmod 000 test.py : 사용자, 그룹, 다른사용자의 모든 권한을 제거한다.

chmod 777 test.py : 사용자, 그룹, 다른사용자의 모든 권한을 추가한다.

chmod 700 test.py : 사용자에게만 모든 권한을 준다.

chmod 744 test.py : 사용자에게는 모든 권한을 주고, 그룹, 다른 사용자에게는 읽기 권한만 준다.

읽기는 4, 쓰기는 2, 실행은 1로 나타내며 필요한 권한을 더해서 지정할 수 있다. 즉, 위에서 chmod 744는 아래와 같이 해석 가능하다.

  • 사용자 : r + w + x = 4 + 2 + 1 =7
  • 그룹 : r-- = 4
  • 다른 사용자 : r-- = 4

 

Reference

https://withcoding.com/103

 

 

 

728x90
300x250
Comments