본문 바로가기

Linux/파일 및 디렉토리 관리

리눅스 파일 권한 ④권한 변경 chown chmod 비교, 예시

반응형

 

Chown

 

 

chown은 파일과 디렉토리의 owner와 group의 소유권을 변경해주는 명령어입니다.

 

 

 

chown [옵션] [사용자]:[그룹] 파일1 [파일2 ...]

 

owner 변경   chown owner 파일명
group 변경   chown :그룹 파일명
둘 다 변경   chown owner:그룹 파일명
속성 전파   chown -R owner:group 디렉토리

 

 

이전에 만들었던 파일과 디렉토리의 소유권을 확인해봅시다.

 

 

 

 

모든 파일과 디렉토리의 owner과 group의 소유권이 root한테 있습니다.

 

 

 

이 소유권을 임의의 사용자로 바꿔봅시다.

 

테스트를 위해 사용자 a를 새로 만듭니다.

 

 

 

 

test1 파일의 owner 소유권을 a로 바꿔줍니다.

 

 

chown a test1

 

 

 

group의 소유권도 a로 바꿔봅시다.

 

 

chown :a test1

 

 

 

다시 소유권을 root로 바꿔볼까요?

 

이번에는 owner과 group을 동시에 바꿔봅시다.

 

 

chown root:root test1

 

 

 

 

디렉토리와 그 안의 파일들까지 한 번에 소유권을 변경할 수도 있습니다.

 

 

test 디렉토리의 구조를 살펴보면 안에 있는 a 디렉토리, a.txt 파일의 소유권도 모두 root임을 알 수 있습니다.

 

 

 

 

 

 

-R 옵션을 추가해서 소유권을 a로 바꿔봅니다.

 

 

 

단 한 줄의 명령어로 한 번에 소유권을 바꾸는데 성공했습니다.

 

 

 

chmod & chown

 

 

chmod파일과 디렉토리의 권한을 변경하는 것과 달리

 

chown파일과 디렉토리의 소유권 자체를 변경하기 때문에 개발 사용자와 그룹에 대한 권한을 설정할 수 있습니다.

 

 

 

테스트를 해봅시다.

 

 

예시1.

사용자 b가 test 디렉토리의 파일과 디렉토리를 읽기/쓰기/수정/삭제합니다. 
(test 디렉토리와 하위 파일/디렉토리의 소유자는 사용자 a 이고

디렉토리권한은 r - x, 파일권한 r - - 입니다)

 

 

우선 디렉토리의 소유자인 사용자 a가 파일과 디렉토리에 대한 조회/수정/생성을 해보겠습니다.

 

 

 

 

a.txt 파일의 조회/수정

aa.txt 파일과 aa 디렉토리 생성

모두 정상적으로 수행됩니다.

 

 

이제 사용자 b 계정으로 들어가서 같은 명령을 내려봅시다.

 

 

 

 

a.txt 파일을 조회하는 것 외에

 

파일 수정, 파일/디렉토리 삭제에 대한 명령은 permission denied 메세지와 함께 거부됩니다.

 

 

사용자 a 계정에서 aa.txt 파일과 aa 디렉토리를 삭제해봅시다.

 

 

 

 

결과:  디렉토리권한  r - x, 파일권한 r - -  이지만 소유자 a는 읽기/쓰기/수정/삭제 모두 가능합니다.
소유자가 아닌 사용자 b는 읽기만 가능합니다.

 

 

 

예시2.

사용자 a가 test 디렉토리의 파일과 디렉토리를 조회/수정/삭제합니다. 
(test 디렉토리와 하위 파일/디렉토리의 소유자는 사용자 root이고

디렉토리권한은 r - x, 파일권한 r - - 입니다)

 

 

 

방금까지는 읽기/쓰기/수정/삭제 모두 가능했던 사용자 a가

 

이번에는 사용자 b와 마찬가지로 읽기만 가능합니다.

 

 

 

결과:  디렉토리권한 r - x, 파일권한 r - -  에 따라 사용자 a는 읽기만 가능합니다.

 

 

 

 

 

 

 

위의 두 예시로 chmod와 chown의 차이점을 알아봤습니다.

 

특정 사용자/그룹에 대한 권한을 지정할 때에는 chown 명령어를 사용합시다.

 

 

 

 

 

 

 

 

 

 

 

[K-Digital Training, 애티버스러닝 교육 내용을 정리한 포스팅입니다.]

반응형