본문 바로가기
네트워크프로그래밍

리눅스 파일 디렉토리 권한 확인 및 변경하기(chmod,chown,chgrp)

by 코드덕후 2022. 8. 6.
728x90
반응형

 

목차

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

chmod를 통한 파일 권한 변경

chown,chgrp를 통한 파일 소유권 변경

 

리눅스(Linux)는 하나의 컴퓨터를 여러 사람이 사용할 수 있는 멀티유저 운영체제(OS)이기 때문에 권한 관리가 매우 중요합니다. 파일과 디렉토리의 권한을 변경하고 소유권을 변경하는 방법을 알아보겠습니다. 보안에 중요한 내용이기 때문에 리눅스 관리자가 되려면 정확하게 이해하고 넘어가는 것이 좋습니다.

 

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

ls -l 명령을 사용하여 정보를 확인할 수 있습니다.

출력된 결과 drwxr - xr -x 3 nam nam 4096 7월 30 12:42 Downloads의 의미입니다.

 

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

기본적으로 Linux에서는 사용자와 동일한 이름의 그룹을 생성하기 때문에 nam nam이렇게 출력됩니다.

 

권한 

권한은 기본적으로 4부분으로 나누어 집니다. 

-  : 파일(-) , 디렉토리(d)로 구분해서 출력. 

rwx : 사용자(owner, 소유자) 권한(퍼미션)으로 rwx는 각각 읽기(read),쓰기(write),실행(execute )권한을 의미합니다.

r-x : 그룹(group)에 대한 권한을 표시합니다.

r-x : 다른 유저 (other user)의 권한을 표시합니다.

 

위의 drwxr - xr - x 의 의미는 

d 디렉토리이며

rwx 읽고 쓰기 실행이 가능하며 

xr 그룹은 읽고 실행이 가능하며

x 다른유저는 실행만 가능하다 

라는 권한을 의미합니다.

 

디렉토리의 경우 실행권한이 있어야 디렉토리에 들어갈 수 있기 때문에 실행권한이 없으면 해당 폴더를 들어갈 수 조차 없게 됩니다.

 

drwxr - xr -x 3 nam nam 4096 7월 30 12:42 Downloads

이 부분을 모두 분석하면

Downloads는 읽고쓰고실행 가능하며 그룹은 읽고 실행, 다른 사용자는 실행만 가능한 디렉토리입니다.

사용자는 nam 이며 그룹도 nam입니다. 파일의 크기는 4096이며 7월30일12:42분에 최종 수정되었습니다. 

라는 의미 입니다.

 

목차로 가기

chmod를 통한 파일 권한 변경

파일, 디렉토리의 권한을 변경하기 위해서는 chmod 명령어를 이용해야합니다. chmod 명령은 다양한 방식으로 파일 권한을 변경할 수 있는데 그 방법을 정리해봅니다.

 

개별적으로 파일 권한 변경하기

chmod g+w test.txt : 그룹에 쓰기 권한을 준다.

chmod o-r test.txt : 다른 사용자에게 읽기 권한을 빼앗는다.

chmod u+x test.txt : 사용자에게 실행 권한을 준다.

chmod go+rwx test.txt : 그룹과 다은사용자에게 읽기쓰기실행 권한을 준다

 

u 사용자 , g 그룹 , o 다른 사용자, a 전부 라는 의미이며 +(더하기 : 권한주기) , -(빼기 : 권한뺏기)를 사용합니다.

조합으로 가능하며 동시에 명령도 가능합니다.

 

숫자로 한번에 권한 변경하기 

위와 같은 명령도 있지만 축약형으로 약속된 숫자로 권한을 지정할 수 있습니다.

읽기는 4, 쓰기는 2, 실행은 1로 나타내며 필요한 권한은 OR연산으로 더해서 지정할 수 있습니다.

7이라면 읽기 4 , 쓰기 2 , 실행 1을 모두 주는 권한

6이라면 읽기4, 쓰기 2만 주는 권한 

3이라면 쓰기2 실행1만 주는 권한으로 표시가 가능합니다. 내부적으로 2진 비트연산을 OR을 통하여 계산해야 하기때문에

4,2,1의 형식으로 표현합니다.

 

숫자로 주는 권한

chmod 000 test.txt

사용자, 그룹, 다른사용자의 모든 권한을 제거한다.

 

chmod 777 test.txt

사용자, 그룹, 다른사용자의 모든 권한을 추가한다.

 

chmod 747 test.txt

사용자에게는 모든 권한을 주고, 그룹에게는 읽기권한 , 다른 사용자에게는 모든권한을 준다.

 

 

 

목차로 가기

chown,chgrp를 통한 파일 소유권 변경 

chmod명령어는 파일,디렉토리의 권한(퍼미션,허가권)을 변경하는 역활이지만 chown,chgrp명령어는 파일,디렉토리의 사용자 및 그룹을 변경할 수 있습니다. 해당 명령을 수행하려면 root권한이 필요합니다. sudo명령을 통하여 가능합니다.

 

 

 

chown newuser test.txt

root권한이 없어서 에러 발생 

 

sudo chown newuser test.txt

chown명령으로 파일의 사용자(소유자)를 newuser로 변경

 

sudo chgrp newuser test.txt

 

chgrp 명령으로 파일의 그룹을 newuser 변경. 

그룹만 변경할 때 chgrp 명령어를 사용하며 일반 사용자는 자신이 속한 그룹으로만 변경가능

 

sudo chown newuser.newuser test.txt

chown 명령으로 파일의 사용자와 그룹 동시에 변경.

 

sudo chown user01 디렉토리이름/

디렉토리의 사용자(소유자)를 변경

 

sudo chown -R newuser 디렉토리이름/

디렉토리내의 모든 파일의 권한을 변경할 경우 -R옵션을 사용하여 모두 변경 가능

 

목차로 가기

 

리눅스 다른 명령어

1. 리눅스 기본 명령어 ls

2. 리눅스 기본 명령어 pwd

3. 리눅스 기본 명령어 cd

728x90
반응형
LIST

댓글