본문 바로가기

리눅스

10. ACL

0. 목차

 1. ACL

 1.1. 명령어

 1.2. 옵션

 2. ACL을 이용한 실습 

-----------------------------------------------------------------------------------------------------------------------------------

1. ACL

  - ACL이란 Access Control List의 약자로 해당 명령어를 통해 사용자 별로 디렉터리나 파일의 권한을 부여.

  - 특정 사용자, 그룹, 기본값으로 디렉터리나 파일의 권한 부여 가능.

 

1.1. 명령어 

  - setfacl -옵션 : 해당 명령어를 통하여 권한을 부여하거나 제거.

                       acl이 설정되면 권한표시에 + 표시 생성.

- getfacl :  해당 명령어를 통해 사용자들에게 파일이나 디렉토리에 부여된 권한을 확인.

acl 디렉토리에 b사용자에게 읽기와 실행 권한을 부여, 권한 표시 뒤에 +가 붙음을 보임.

 

1.2. 옵션

  - m 옵션 : 파일이나 디렉터리의 권한을 생성

           ex) setfacl -m <권한> <path>

       * 사용자와 그룹, 일반사용자의 권한 변경 => -m u,g,o : a(사용자이름) : (r,w,x)(권한) 

사용자 b에게 읽기와 실행권한 부여.

 

       * mask값 변경 => -m  m : : (r,w,x)(권한)  // 마스크 값으로 전체의 권한을 일시적으로 제어.

마스크 값을 읽기와 실행으로 설정함으로서 기존 rwx권한을 가지던 사용자 a의 쓰기권한이 제한됨을 볼 수 있음
마스크 값을 기존으로 돌리면 a 사용자의 권한이 정상적으로 작동

       * 기본값 설정 =>  -m d: (u,g,o): : (r,w,x or 숫자표현)(권한) // 해당 명령어로 default 값 생성.

                                                                                  // 해당 값을 가진 하위 디렉토리나 파일은 설정한 기                                                                                          본값으로 설정. 

default 값을 통해 user와 group에게 모든 권한, 일반 사용자에게는 읽기 권한만 부여
이후 생성되는 디렉토리와 파일에게도 기본값으로 동일하게 적용

  - b 옵션 : 초기값으로 되돌린다.

b옵션을 통해 ACL옵션을 제거

 

  - x 옵션 : 파일이나 디렉터리의 권한을 제거.

x옵션을 통해 사용자 b의 권한 설정을 모두 제거

 

2. ACL을 이용한 실습

  - 최상위 디렉토리 gogle을 생성하고 하위 디렉토리 admin과 sales을 생성 후 권한 변경을 확인.

  - 사용자는 a b c d ceo 를 생성하며, a와 b는 admin 소속, c와 d는 sales 소속.

  - b와 d는 본인 디렉토리에 모든 권한을 가지며, 다른 디렉토리에는 읽기 권한만 부여.

  - a와 c는 본인 디렉토리의 읽기권한만을 가지며, ceo는 모든 디렉토리의 읽기권한 부여

 

2.1. 실습 과정

  - 실습에 필요한 디렉토리와 사용자 생성.

사용자와 디렉토리 생성과정

  - 다른 사용자가 해당 디렉토리에 접근하지못하도록 chmod 명령어를 통해 권한 제거

admin과 sales에 일반사용자 권한 제거 과정

  - setfacl -m 명령어를 통해 상단의 기입된 권한대로 admin과 sales디렉토리 사용자의 권한 설정.

    ( 한번에 입력도 가능하다. ex => setfacl -m u:a:rx,u:b:rwx /gogle/admin )

admin과 sales의 사용자권한 설정

  - 각 사용자에 접속하여 테스트

사용자 a와 c는 본인 디렉토리에 접속하여 읽기와 실행은 가능하지만 파일작성을 불가 

 

 

사용자 b d는 본인의 디렉토리에서 모든 권한이 가능. 하지만 다른 디렉토리에서는 읽기와 실행은 가능하고 쓰기는 불가능.

 

사용자 ceo는 모든 디렉토리를 읽을 수 있지만 쓰기는 불가능

 

  - admin과 sales 디렉토리의 mask값을 읽기와 실행 권한만으로 부여.

-m 명령어를 통해 마스크값을 읽기와 쓰기 권한으로 지정

  - mask 값을 변경하고 모든 권한을 가지고 있던 b와 d사용자로 접속하여 파일 생성을 시도하면 허가 거부되는 것을       볼 수 있다.

mask값 변경으로 인하여 모든 권한을 가지고 있던 b와 d 사용자가 쓰기권한이 제한되는 모습

 

  - mask 값을 기존대로 모든 권한으로 부여하면 다시 정상적으로 권한이 부여됨을 볼 수 있다.

mask값을 정상적으로 되돌림

  - gogle 디렉토리에 하위 디렉토리 tech를 생성하여 기본 값으로 모든 권한을 부여. 

tech 디렉토리의 기본값을 777로 설정.

  - 기본값 설정을 통해 tech 하위디렉토리를 생성하면 모든 권한을 가지는 디렉토리 생성.

하위 모든 디렉토리가 모든 권한을가짐.

'리눅스' 카테고리의 다른 글

12. quota  (0) 2022.02.28
11. 윈도우 File Server 권한 설정  (0) 2022.02.25
9. 디스크 관리(2)  (0) 2022.02.23
8. 디스크 관리(1)  (0) 2022.02.22
7. 사용자 및 그룹 관리 (2)  (0) 2022.02.21