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과 속성을 결합하여 표준 소유자-그룹-기타 모델을 넘어 세밀한 제어를 제공하며, 관리자가 특정 접근 요구사항을 효율적으로 충족할 수 있게 합니다.