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 설정과 확인 흐름을 자연스럽게 익힐 수 있어서 뿌듯했다.