> 파일 및 디렉토리 관리 > getfacl

getfacl: 파일 접근 제어 목록(ACL) 확인

getfacl 명령어는 파일 및 디렉토리에 설정된 접근 제어 목록(ACL: Access Control List)을 확인하는 데 사용됩니다. 전통적인 Unix 권한(rwx)보다 더 세분화된 권한 설정을 가능하게 하며, 특정 사용자나 그룹에 대한 개별적인 접근 권한을 관리할 때 유용합니다.

개요

ACL은 파일 시스템 객체에 대한 권한을 사용자, 그룹, 또는 다른 식별자에 따라 세밀하게 제어할 수 있도록 해주는 기능입니다. getfacl은 이러한 ACL 설정을 읽어와 현재 적용된 권한 규칙을 보여줍니다.

주요 특징

  • 전통적인 rwx 권한을 넘어선 세분화된 권한 설정 확인
  • 특정 사용자 또는 그룹에 대한 개별 권한 확인
  • 디렉토리의 기본(default) ACL 확인 기능 제공
  • 재귀적으로 하위 파일 및 디렉토리의 ACL 확인

주요 옵션

getfacl 명령어는 ACL 정보를 조회할 때 다양한 옵션을 통해 출력 형식을 제어하거나 특정 유형의 ACL만 조회할 수 있습니다.

조회 및 출력

생성된 명령어:

명령어를 조합해 보세요.

설명:

`getfacl` 명령어를 실행합니다.

위 옵션들을 조합하여 AI와 함께 가상으로 명령어를 실행해 보세요.

사용 예시

getfacl 명령어를 사용하여 파일 및 디렉토리의 ACL을 확인하는 다양한 방법을 보여줍니다.

특정 파일의 ACL 확인

getfacl sample.txt

sample.txt 파일의 현재 ACL 설정을 확인합니다.

디렉토리의 기본 ACL 확인

getfacl -d my_directory

my_directory 디렉토리에 설정된 기본 ACL을 확인합니다. 이 ACL은 해당 디렉토리 내에 새로 생성될 파일/디렉토리에 적용됩니다.

디렉토리와 하위 항목의 ACL 재귀적 확인

getfacl -R data_dir

data_dir 디렉토리와 그 안에 있는 모든 파일 및 서브디렉토리의 ACL을 재귀적으로 확인합니다.

헤더 없이 ACL 정보만 출력

getfacl --omit-header report.log

report.log 파일의 ACL 정보를 헤더 없이 간결하게 출력합니다. 스크립트에서 파싱할 때 유용합니다.

설치

getfacl 명령어는 일반적으로 'acl' 패키지의 일부로 제공됩니다. 대부분의 리눅스 배포판에 기본적으로 설치되어 있지만, 최소 설치 환경에서는 수동으로 설치해야 할 수 있습니다.

Debian/Ubuntu

sudo apt update && sudo apt install acl

apt 패키지 관리자를 사용하여 'acl' 패키지를 설치합니다.

RHEL/CentOS/Fedora

sudo dnf install acl
# 또는
sudo yum install acl

yum 또는 dnf 패키지 관리자를 사용하여 'acl' 패키지를 설치합니다.

팁 & 주의사항

ACL을 효과적으로 사용하고 관리하기 위한 팁과 주의사항입니다.

ACL 적용 여부 확인

파일이나 디렉토리에 ACL이 적용되어 있다면, 'ls -l' 명령어를 실행했을 때 권한 문자열 끝에 '+' 기호가 붙습니다. (예: -rw-rw-r--+)

  • ls -l 출력: 권한 문자열 끝에 '+' 확인

ACL과 전통적인 권한의 관계

ACL은 전통적인 rwx 권한과 함께 작동합니다. ACL이 설정되면, 전통적인 권한은 'mask' 역할을 하여 ACL에 설정된 최대 유효 권한을 제한할 수 있습니다. 'mask' 항목은 getfacl 출력에서 확인할 수 있습니다.

setfacl과의 연동

ACL을 설정하거나 수정하려면 'setfacl' 명령어를 사용해야 합니다. getfacl로 현재 설정을 확인한 후 setfacl로 변경하는 워크플로우가 일반적입니다.

파일 시스템 지원

ACL은 모든 파일 시스템에서 지원되는 것은 아닙니다. ext2/3/4, XFS 등 대부분의 최신 리눅스 파일 시스템은 ACL을 지원하지만, 파일 시스템이 ACL을 마운트 옵션으로 활성화해야 할 수도 있습니다 (예: mount -o acl).


동일 카테고리 명령어