| ⬅️ 이전: 6.2 파일 소유권(Ownership) | 🏠 분류 목차 | 다음 ➡️ |
6.2 윈도우에는 없는 강력한 제어, 파일 소유권(Ownership)
본인이 리눅스 서버에 접속해 어떠한 문서(File) 파일이나 폴더(Directory) 등을 새로 만들어냈다면, 여러분은 자동적으로 그 파일들의 법적인 소유권을 가지게 됩니다.
동작 원리: 리눅스의 모든 파일에는 마치 주민등록증처럼 두 가지 이름표가 붙어 있습니다. 하나는 그 파일에 대한 가장 큰 결정권을 쥔
단일 개인 소유자(User)이고, 다른 하나는 여러 명이 공유할 수 있도록 묶어 놓은조직 소속(Group)입니다.
1. 파일 소유권의 개념
만약 여러분이 mydata.txt 파일을 생성했다면, 다른 부서의 사람이나 외부 해커가 접속하더라도 파일 소유권은 엄격하게 보호되므로 타인이 이 파일을 삭제하거나 열어볼 수 없습니다. 파일을 제어할 수 있는 계급은 크게 3가지로 나뉩니다.
- 소유자 (User/Owner): 이 파일을 만들어 낸 주인을 의미합니다.
- 소유 그룹 (Group): 파일에 대해 제한적인 지분을 인정받는 동료들(개발팀 등)입니다.
- 그 외 타인들 (Others): 소유자도 뭣도 아닌 완전히 남남인 일반 사용자들입니다.
※ 단, 최고 권한자인 Root(슈퍼 유저) 는 이 소유권을 철저히 무시하고 어떠한 파일이든 강제로 삭제하거나 뺏어올 수 있습니다.
2. 권한 탈취 및 양도 관련 명령어
퇴사를 하거나 부서가 바뀌는 등의 일로 내가 올려둔 파일의 소유권을 다른 사람이나 부서 그룹에게 강제로 넘겨주어야 할 때가 있습니다. (이 명령어는 보통 최고 관리자인 Root만이 사용할 수 있습니다.)
2.1 chown (Change Owner)
특정 파일의 단일 소유권자(주인) 를 전혀 다른 사람의 이름으로 덮어 씌우는 명령어입니다.
- 사용 형식:
chown 새주인아이디 타겟파일이름 - 예:
sudo chown ubuntu mydata.txt(명령을 치면 mydata.txt 파일의 주인은 이제부터 ubuntu 사용자가 됩니다.) - 그룹까지 동시에 바꾸기:
chown 사용아이디:그룹이름 타겟파일처럼 콜론( : ) 기호로 묶으면 개인과 단체를 한 번에 묶어 양도할 수 있습니다.
2.2 chgrp (Change Group)
주인(개인)은 가만히 놔둔 채 해당 파일의 동료 부서(Group) 명찰만 살짝 교체하고 싶을 때 사용합니다.
- 사용 형식:
chgrp 새그룹이름 타겟파일이름 - 예:
sudo chgrp developer mydata.txt(파일을 developer 조직 그룹에 귀속시킵니다.)
3. [실습] 내 파일의 소유권 탈취시켜 보기
여러분이 폴더 하나를 만들고 명령어를 통해 소유자를 강제로 Root 등의 다른 사람으로 뺏겨 보는 실습입니다.
실습 1. 소유권을 넘겨주기
# 빈 파일을 하나 만듭니다. (파일 주인은 여러분의 기본 아이디가 됩니다)
touch test.txt
# 파일의 주인을 root 로 강제로 바꿔버립니다!
# 일반 파일의 주인을 바꾸는 행위는 강력하므로 sudo가 필요합니다.
sudo chown root test.txt
실습 2. 다시 삭제 시도해 보기
이제 파일의 주인은 완전히 넘어갔습니다. 다시 파일을 삭제해 보려 합시다.
# 삭제를 시도해 봅니다 (내 파일이 아니게 되었으므로 실패하거나 경고가 뜹니다)
rm test.txt
# 내 파일로 되찾아오고 싶다면 다시 chown을 통해 내 아이디로 돌려놓으면 됩니다.
# 이때도 sudo를 쓰지 않으면 내맘대로 뺏어올 수 없습니다.
sudo chown 본인아이디 test.txt
| ⬅️ 이전: 6.2 파일 소유권(Ownership) | 🏠 분류 목차 | 다음 ➡️ |