주:
- 이 사용지침서는 Oracle 제공 무료 실습 환경에서 제공됩니다.
- Oracle Cloud Infrastructure 인증서, 테넌시 및 구획에 대한 예제 값을 사용합니다. 실습을 마치면 사용자의 클라우드 환경과 관련된 값으로 대체합니다.
Oracle Linux에서 ACL 사용 및 사용
소개
ACL(Access Control List)은 디렉토리 및 파일에 대한 액세스 제어를 제공합니다. ACL은 소유자, 그룹 및 기타 모든 시스템 사용자에 대해 읽기, 쓰기 및 실행 권한을 설정할 수 있습니다.
ACL은 특정 사용자 또는 그룹이 ACL 사용 파일 및 디렉토리에 액세스하는 방법을 지정하는 규칙 세트로 구성됩니다. 일반 ACL 항목은 단일 파일 또는 디렉토리에 대한 액세스 정보를 지정합니다. 기본 ACL 항목은 디렉토리에서만 설정되며, 액세스 ACL이 없는 디렉토리 내의 모든 파일에 대한 기본 액세스 정보를 지정합니다.
디렉토리에 기본 ACL을 설정하면 해당 하위 디렉토리가 자동으로 동일한 권한을 상속합니다. ACL은 btrfs
, ext3
, ext4
, OCFS2
및 XFS
파일 시스템과 함께 사용할 수 있으며 마운트된 NFS 파일 시스템을 사용할 수 있습니다.
목표
- 파일 시스템 ACL 지원 확인
setfacl
및getfacl
명령을 사용하여 ACL 규칙 추가 및 표시
요구 사항
사용 가능한 디스크가 있고 Oracle Linux에 완전히 패치가 적용된 설치 시스템입니다.
랩 환경 설정
주: 무료 실습 환경을 사용하는 경우 Oracle Linux Lab Basics에서 연결 및 기타 사용 지침을 참조하십시오.
-
아직 연결되지 않은 경우 터미널을 열고 ssh를 통해 ol-node01 인스턴스에 연결합니다.
ssh oracle@<ip_address_of_instance>
-
블록 볼륨이 존재하는지 확인합니다.
sudo lsblk -f
무료 연습 환경의 출력에는 기본 OS를 포함하는
sda
블록 장치와 이 연습에서 사용하는sdb
블록 장치가 표시됩니다.-f
옵션을 사용하면 파일 시스템 유형(FSTYPE) 및 블록 UUID(범용 고유 식별자)가 표시됩니다.
ACL 지원을 사용하여 파일 시스템 마운트
-
마운트 위치 디렉토리를 생성합니다.
sudo mkdir /test
-
ACL 지원이 있는지 확인합니다.
ext4
,btrfs
및xfs
와 같은 Oracle Linux 파일 시스템은 acl 마운트 옵션을 기본값으로 사용으로 설정합니다.ext4
파일 시스템(예:/dev/sdb1
)에서tune2fs
를 사용하여 확인합니다.sudo tune2fs -l /dev/sdb1 | grep -i acl
출력 예:
[oracle@ol-node01 ~]$ sudo tune2fs -l /dev/sdb1 | grep -i acl Default mount options: user_xattr acl
-
ACL을 지원하는 디스크를 마운트합니다.
파일 시스템에서 기본적으로 acl 마운트 옵션이 사용으로 설정되지 않은 경우
mount
명령을 사용할 때-o acl
를 전달합니다./dev/sdb1
는ext4
를 사용하므로 이 옵션은 이미 기본적으로 설정되어 있습니다.sudo mount -t ext4 /dev/sdb1 /test
재부트 시 이 마운트 지점이 지속되도록 하려면 fstab 파일에 추가합니다.
MYUUID=$(sudo blkid | grep UUID= | grep sdb1 | awk '{ print $2 }') echo "$MYUUID /test ext4 defaults 0 0" | sudo tee -a /etc/fstab > /dev/null
-
파일 시스템 마운트가 존재하는지 확인하십시오.
df -T | grep sdb1
출력은 ext4 파일 시스템
/dev/sdb1
가 마운트 지점/test
에 있음을 보여줍니다.
ACL 기능 사용
-
새 마운트 지점 아래에 파일을 생성해 봅니다.
touch /test/file1
출력 예:
touch: cannot touch '/test/file1': Permission denied
oracle
사용자에게/test
디렉토리에 파일을 만들 수 있는 권한이 없기 때문에 명령이 실패합니다. -
디렉토리의 ACL 정보를 가져옵니다.
sudo getfacl /test
출력 예:
[oracle@ol-node01 ~]$ sudo getfacl /test getfacl: Removing leading '/' from absolute path names # file: test # owner: root # group: root user::rwx group::r-x other::r-x
-
디렉토리에 ACL 규칙을 추가합니다.
sudo setfacl -m u:oracle:rwx /test
규칙은 read, write 및 execute 권한을
oracle
사용자에게 부여합니다. -
디렉토리의 업데이트된 ACL 정보를 확인합니다.
sudo getfacl /test
출력 예:
getfacl: Removing leading '/' from absolute path names # file: test # owner: root # group: root user::rwx user:oracle:rwx group::r-x mask::rwx other::r-x
출력에는 새로 추가된
user:oracle:rwx
행이 표시됩니다. -
디렉토리의 긴 목록 형식을 표시합니다.
ls -ld /test
출력 예:
drwxrwxr-x+ 3 root root 4096 Jul 13 20:48 /test
출력에 표시된 권한에는 ACL 포함을 나타내는 더하기 기호(
+
)가 포함됩니다. -
파일을 다시 생성해 보십시오.
touch /test/file1
이번에는 명령이 성공해야 합니다.
-
파일 생성을 확인합니다.
ls -l /test
man getfacl
또는 man setfacl
페이지에서 추가 옵션 및 예를 확인하십시오.
추가 정보
기타 관련 리소스 참조:
추가 학습 자원
docs.oracle.com/learn에서 다른 실습을 살펴보거나 Oracle Learning YouTube 채널에서 보다 무료 학습 컨텐츠에 접근할 수 있습니다. 또한 education.oracle.com/learning-explorer을 방문하여 Oracle Learning Explorer가 됩니다.
제품 설명서는 Oracle Help Center를 참조하십시오.
Use and Enable ACLs on Oracle Linux
F60350-01
July 2022
Copyright © 2022, Oracle and/or its affiliates.