02. 클라우드 보안 공부/실습로그
✅ [실습로그] ACL을 활용한 세부 파일 권한 설정 실습
taegi-
2025. 5. 3. 23:54
🎯 실습 목표
- chmod, chown으로는 불가능한 사용자 개별 권한 설정 방식인 ACL을 실습한다.
- 하나의 파일 또는 디렉터리에 대해 여러 사용자에게 서로 다른 권한을 부여하는 방법을 익힌다.
- getfacl, setfacl 명령어를 사용하여 파일 권한을 시각적으로 확인하고 설정하는 방법을 학습한다.
🖥️ 실습 환경
- OS: Rocky Linux 9.5 (CLI)
- 실습 사용자: user01, user02, admin01
- 실습 디렉터리: /acltest
- 주요 명령어: setfacl, getfacl, touch, chmod, mkdir, su
⚙️ 실습 과정
1. 실습 디렉터리 및 파일 생성
bash
복사편집
sudo mkdir /acltest sudo touch /acltest/sample.txt sudo chown admin01:developers /acltest/sample.txt sudo chmod 640 /acltest/sample.txt
기본 권한: 소유자는 읽기/쓰기 가능, 같은 그룹은 읽기 가능, 그 외 사용자 접근 불가
2. user01에게만 쓰기 권한 부여
bash
복사편집
sudo setfacl -m u:user01:rw /acltest/sample.txt
→ user01은 읽기/쓰기 가능, user02는 여전히 접근 불가
3. user02에게 읽기만 허용
bash
복사편집
sudo setfacl -m u:user02:r-- /acltest/sample.txt
→ 개별 사용자별로 ACL 설정이 달라짐
4. 설정된 ACL 확인
bash
복사편집
getfacl /acltest/sample.txt
예시 출력:
makefile
복사편집
# file: sample.txt # owner: admin01 # group: developers user::rw- user:user01:rw- user:user02:r-- group::r-- mask::rw- other::---
5. ACL 제거 방법
bash
복사편집
sudo setfacl -x u:user02 /acltest/sample.txt
user02에 부여된 ACL만 제거되고, 나머지 권한은 유지됨
전체 ACL 초기화:
bash
복사편집
sudo setfacl -b /acltest/sample.txt
✅ 결과 요약
항목내용
디렉터리 생성 | /acltest/sample.txt 생성 완료 |
기본 권한 설정 | 소유자: rw, 그룹: r, 기타 사용자: 접근 불가 |
ACL 추가 | user01에 rw, user02에 r 권한 부여 완료 |
확인/제거 | getfacl, setfacl -x/-b 명령으로 설정 확인 및 제거 테스트 완료 |
🔜 앞으로의 목표
- 디렉터리 전체에 -d 옵션을 이용한 기본 ACL 적용 실습
- 특정 그룹만 디렉터리에 자동 권한 적용되는 구조 구성
- 실무 예제: /srv/shared 같은 부서 공유 폴더에 ACL 기반 접근제어 구성
💬 느낀 점
기존에는 chmod로 권한 설정이 끝이라고 생각했는데, ACL을 사용하니
한 파일에 대해 여러 사용자에게 각기 다른 권한을 설정할 수 있다는 점이 정말 유연하고 강력했다.
실무에서 다양한 역할을 가진 사용자들이 협업할 땐 꼭 필요한 기능이었고,
이번 실습을 통해 ACL 설정과 확인 흐름을 자연스럽게 익힐 수 있어서 뿌듯했다.