Aller au contenu principal

57. Create Manage and Diagnose Advanced Filesystem Permissions


표준 파일 권한 이해​

표준 파일 권한은 ls -l로 확인할 수 있는 소유자-그룹-기타 모델을 따릅니다. 각 파일에는 3개의 권한 세트가 있습니다:

  1. 소유자 권한 (첫 3자): 파일 소유자가 할 수 있는 것
  2. 그룹 권한 (다음 3자): 그룹 멤버가 할 수 있는 것
  3. 기타 권한 (마지막 3자): 나머지 모든 사람이 할 수 있는 것

표준 모델의 한계: 소유권을 변경하지 않고 특정 사용자에게 세밀한 접근 권한이 필요한 경우.

세밀한 권한 제어를 위한 ACL 사용​

ACL(Access Control Lists)은 표준 3계층 권한 모델을 확장하여 관리자가 여러 사용자와 그룹에 개별적으로 권한을 부여할 수 있습니다.

ACL 권한 설정​

setfacl로 특정 접근 권한 부여:

sudo setfacl --modify user:jeremy:rw file3

getfacl로 ACL 항목 확인:

getfacl file3

최대 유효 권한을 정의하는 마스크 값을 포함한 모든 권한이 표시됩니다.

ACL 항목 관리​

# 그룹 접근 권한 부여
sudo setfacl --modify group:sudo:rw file3

# 권한 거부
sudo setfacl --modify user:jeremy:--- file3

# 항목 제거
sudo setfacl --remove user:jeremy file3

# 모든 ACL 제거
sudo setfacl --remove-all file3

재귀적 적용​

디렉토리에 대해 ACL을 재귀적으로 적용:

setfacl --recursive -m user:jeremy:rwx dir1/
setfacl --recursive --remove user:jeremy dir1/

파일 및 디렉토리 속성​

ACL 외에도, 파일 속성은 시스템 레벨 동작을 제어합니다.

추가 전용 속성 (Append-Only)​

추가 전용 속성(a)은 수정 없이 데이터 추가만 허용합니다:

sudo chattr +a newfile

이 속성이 설정되면 덮어쓰기는 실패하지만 추가는 성공합니다.

제거:

sudo chattr -a newfile

불변 속성 (Immutable)​

불변 속성(i)은 수정, 삭제, 이름 변경을 모두 방지합니다:

sudo chattr +i newfile

확인:

lsattr newfile

제거 (root만 가능):

sudo chattr -i newfile

요약​

고급 파일시스템 권한은 ACL과 속성을 결합하여 표준 소유자-그룹-기타 모델을 넘어 세밀한 제어를 제공하며, 관리자가 특정 접근 요구사항을 효율적으로 충족할 수 있게 합니다.