파일 시스템과 권한 (ACL)
리눅스 디렉토리 구조와, 그 파일들에 접근 권한을 주는 방법(기본 권한과 ACL)을 한 페이지에 모았다.
파일 시스템과 디렉토리 구조
리눅스는 모든 것을 파일로 다룬다. 최상위 디렉토리는 / (루트)이며 아래로 뻗어 나간다.
/
├── home/ # 일반 사용자 홈 디렉토리
├── var/ # 로그, 캐시 등 가변 데이터
│ └── log/ # 시스템/앱 로그 저장 위치
├── etc/ # 설정 파일 모음
└── usr/ # 프로그램, 라이브러리이번 미션에서 직접 다루는 경로
| 경로 | 용도 |
|---|---|
/home/agent-admin/agent-app | AGENT_HOME (앱 루트) |
/var/log/agent-app | 모니터링 로그 저장 |
/etc/ssh/sshd_config | SSH 설정 파일 |
파일 권한과 ACL
기본 권한 구조
-rwxr-x--- 1 agent-dev agent-core monitor.sh
^^^ 소유자 그룹
|||
||+-- others (그 외) : --- (권한 없음)
|+--- group : r-x (읽기/실행)
+---- owner : rwx (읽기/쓰기/실행)권한 숫자 표현
| 숫자 | 의미 |
|---|---|
| 4 | 읽기 (r) |
| 2 | 쓰기 (w) |
| 1 | 실행 (x) |
bash
chmod 750 monitor.sh
# 7 = rwx (소유자)
# 5 = r-x (그룹)
# 0 = --- (그 외)주요 명령어
bash
# 소유자/그룹 변경
chown agent-dev:agent-core monitor.sh
# 권한 변경
chmod 750 monitor.sh
# 권한 확인
ls -l monitor.shACL (Access Control List)
기본 권한은 소유자/그룹/기타 3단계만 지정 가능하다. ACL은 특정 사용자나 그룹에 개별 권한을 추가로 부여할 때 사용한다.
bash
# ACL 설치
apt install acl
# 특정 그룹에 rwx 권한 부여
setfacl -m g:agent-core:rwx /var/log/agent-app
# ACL 확인
getfacl /var/log/agent-app정리
| 항목 | 내용 |
|---|---|
| 디렉토리 구조 | / 아래 home, var/log, etc, usr |
| 기본 권한 | owner / group / others 3단계, r=4 w=2 x=1 (예: chmod 750) |
| 소유자 변경 | chown agent-dev:agent-core monitor.sh |
| ACL | 특정 사용자·그룹에 개별 권한 추가 (setfacl -m, getfacl) |
출처: Codyssey-B1/B4-1
