CentOS ACL(일반파일 ACL,default ACL) / Quota(확인,시작/종료,상태 확인)에 대해서 정리한다.
※ ACL ( Access Control List )
1. 일반 파일의 ACL
1) ACL 확인
#>getfacl <path>
#>touch /root/file1
#>getfacl /root/file1
# file: root/file1
# owner: root
# group: root
user::rw-
group::r--
other::r--
#>ls -l /root
-rw-r--r-- 1 root root 0 4월 19 21:22 file1
( 소유자와 소유그룹에 acl이 적용된 /root/file1의 모양이다 )
2) ACL 설정
#>setfacl -m <권한> <path>
u:<user_name>:r|w|x
g:<group_name>:r|w|x
m::r|w|x
#>useradd user01
#>setfacl -m u:user01:rw /root/file1
#>setfacl -m g:user01:r /root/file1
-rw-rw-r--+ 1 root root 0 4월 19 21:22 file1
#>getfacl /root/file1
# file: root/file1
# owner: root
# group: root
user::rw-
user:user01:rw-
group::r--
group:user01:r--
mask::rw-
other::r--
* 소유그룹은 ACL이 적용된 이후 권한을 변경할때는 chmod가 아닌 setfacl로 변경해줘야한다.
( chmod를 이용해서 소유그룹 권한을 바꾸려고하면 mask(최대 권한)이 변경 된다 )
3) mask
- 최대 권한 ( 실제 권한 )
- 소유자 acl 권한과 소유그룹, 소유그룹 acl 권한에 적용된다.
( 소유자나 other 권한에는 적용되지 않는다 )
4) ACL 삭제
- 특정 ACL 삭제
#>setfacl -x <acl> <path>
#>setfacl -x g:user01 /root/file1
- 전체 ACL 삭제
#>setfacl -b <path>
#>setfacl -b /root/file1
( setfacl -x 명령어를 이용해서 /root/file1에 소유그룹 acl만 삭제한 결과이다 )
( setfacl -b 명령어를 이용하면 해당 디렉터리(파일)에 전체 acl을 삭제 시킬수 있는걸 볼 수 있다 )
2. 디렉터리 파일 ACL ( default ACL )
1) default ACL 설정
#>setfacl -m default:<권한> <path>
#>setfacl -m default:u:user01:rwx /root/acl
#>setfacl -m default:o::x /root/acl
* default ACL을 디렉터리에 설정하면 해당 디렉터리에 모든 하위 디렉터리(파일)에
default ACL이 적용 된다.
( 디렉터리에 default ACL을 지정하면 해당 디렉터리에는 적용되지 않는걸 볼 수 있다 )
* 위 그림에서 만약 default ACL이 적용 됬다면 ls -ld로 확인 했을때 권한이 drwxrwxrx가 나와야한다.
( ACL이 설정 되면 ls 명령어로 확인 했을때 소유그룹 권한 대신 mask 권한으로 보인다 )
2) default ACL 삭제
#>setfacl -x u:user01 /root/acl/dir1 ( 특정 ACL만 삭제 )
#>setfacl -k /root/acl/dir1 ( default ACL만 삭제 )
#>setfacl -b /root/acl/dir1 ( 전체 ACL 삭제 )
( setfacl -x를 이용해서 /root/acl/dir1 디렉터리에 특정 ACL인 default:user01 ACL만 삭제했다 )
( setfacl -k를 이용하면 default ACL만 삭제가 가능하고 setfacl -b를 이용하면 전체 acl 삭제가 가능한걸 확인 할 수 있다 )
※ Quota
- 사용자별 디스크 사용용량 제한을 위해 사용
1. 설치
#>yum install -y quota.x86_64
2. 마운트
1) 디스크 추가
2) 파티션 생성
3) 파일시스템 생성
4) 마운트
#>mount <dev_name> <mount_point>
#>mkdir /quota
#>mount /dev/mapper/mirror-lv01 /quota
- 확인
#>df -h
3. 설정
/etc/fstab ( Auto Mount를 설정하는 파일 )
1) device_path
2) mount_point
3) 파일 시스템
4) 마운트 옵션
5), 6) 장치 검사/내용 백업
( vi로 /etc/fstab에 접근해서 해당 내용을 추가 했다 )
- 적용
#>reboot
or
#>mount -o remount /dev/mapper/mirror-lv01
- 확인
#>mount
( reboot을 하거나 remount를 해준뒤에 mount 명령어로 확인 해보면 /dev/mapper/mirror-lv01이 /quota에 정상적으로 마운트 된걸 볼 수 있다 )
4. Quota
1) Quota 확인
#>quotacheck <option> <dev_name>
-a 마운트 되어있는 모든 장치 ( quota )
-v 상세 출력
-u user quota ( default 값 )
-g group quota
( db파일을 만들어주지 않고 quotacheck 명령어를 사용하면 제일 처음에는 에러가 발생하지만 그러면서
자동으로 db 파일을 만들어주고 그다음 실행부터는 실행이 잘 되는데 두번째 실행때 에러는 저널링 파일 시스템을
사용하지 않아서 생기는 에러이다 )
* db파일은 자동으로도 만들어주지만 저런 에러를 보지 않기 위해서는 직접 만들어주고 난후에 실행하면 된다.
2) Quota 시작/종료
#>quotaon <option> <dev_name>
#>quotaoff <option> <dev_name>
-a 모든 마운트 장치 ( quota )
-v 상세 출력
-u user quota
-g group quota
3) Quota 상태 확인
#>repquota <option> <dev_name>
-a 모든 마운트 장치 ( quota )
-u user quota
-g group quota
( quota를 시작 시키고 repquta를 이용해서 상태를 확인 할 수 있다 )
'프로그래밍 > LINUX' 카테고리의 다른 글
[LINUX 33일차] CentOS FTP 서버구축( Standalone 방식 ) (0) | 2017.05.02 |
---|---|
[LINUX 32일차] CentOS Quota 설정 / Auto_mount(설정, 마운트) (0) | 2017.05.02 |
[LINUX 30일차] CentOS NFS(Server,Client) (0) | 2017.04.21 |
[LINUX 29일차] CentOS Samba 확인, security (user, share) (0) | 2017.04.19 |
[LINUX 28일차] CentOS SAMBA ( Client, Server ) (0) | 2017.04.18 |
댓글