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, 애티버스러닝 교육 내용을 정리한 포스팅입니다.]
'Linux > 파일 및 디렉토리 관리' 카테고리의 다른 글
리눅스 파일 권한 ⑥ACL: Access Control List 접근 제어 목록 설정, 예시 (0) | 2023.03.07 |
---|---|
리눅스 파일 권한 ⑤특수 권한 setuid, setgid, stikybit (0) | 2023.03.06 |
리눅스 파일 권한 ③권한 변경 umask 계산방법 (2) | 2023.03.04 |
리눅스 파일 권한 ②권한 변경 chmod (0) | 2023.03.03 |
리눅스 파일 권한 ① ls -l 의 의미 (0) | 2023.03.02 |