속성 ( Attrubution )
- 특정 파일이나 디렉토리에 속성을 설정.
- 권한과는 다른 개념으로 파일을 관리할 수 있다.
형식 : chattr [ 옵션 ] [ 기호+속성 ] [ 파일 / 디렉토리 명 ]
ex)
chattr -i file1
명령어 종류
chattr - 파일속성을 변경
lsattr - 파일속성을 확인
▷ 디렉토리 확인시 lsattr -d [ 디렉토리 명 ]
속성의 종류
i 속성 ( Immutable ) - 내용이 변경되서는 안되는 매우 중요한 파일에 적합한 속성
- 파일의 내용변경, 삭제, 이름바꾸기, 파일추가, 링크파일 생성 모두 불가능하게 한다.
a 속성 ( Append Only ) - 실시간으로 정보가 쌓이는 파일에 적합한 속성
- 파일의 기존 내용에서 추가만 가능하다.
- i 속성과 같은 기능을 가지고 있다.
e 속성
- ext4 포맷을 ext3 포맷으로 변형
기호
+ 지정한 속성을 추가
- 지정한 속성을 제거
= 기존 속성 초기화후 지정한 속성만 부여
옵션
-R : 디렉토리와 파일의 속성 값 출력
-a : ' . ' 으로 시작하는 파일을 포함한 디렉토리 내의 모든 파일 출력
-d : 디렉토리를 볼때, 일반파일처럼 출력
-v : 파일버전 출력
ACL ( Access Control List / 접근 제어 목록 )
- 디렉토리 및 파일에 특정 사용자/그룹에 ACL이라는 권한을 부여하는 기능.
명령어
getfacl - 파일과 디렉토리에서 ACL설정 확인
형식 : getfacl [ 옵션 ] [ 파일/디렉토리 명 ]
옵션
-d : 기본 정보 확인
-R : 하위 디렉토리 및 파일 내용 확인
setgacl - 파일과 디렉토리에 ACL 설정
형식 : setfacl [ 옵션 ] [ 규칙 ] [ 파일/디렉토리 명 ]
옵션
-m ( modify ) : 권한 수정
-x : 권한 삭제
-R : 하위 디렉토리 및 파일 권한 변경
-b : 권한 및 mask 등, 지정한 권한을 모두 제거
규칙
[ u|User ]:[ Uid|Isername ]:[ rwx|7 ] - 사용자에 대한 ACL설정
[ g|Group ]:[ GID:Groupname ]:[ rwx|7 ] - 그룹에 대한 ACL설정
[ o|Other ]:[ rwx|7 ] - 다른 사용자에 대한 ACL설정
Ex]
기호모드 : # setfacl -m user:I-user1:rwx S-lv01
숫자모드 : # setfacl -m u:I-user1:7 S-lv01
[ 실습 ]
root ] # setfacl -m u:S-user1:7 S-lv01
S-user1] # cd /practice/test
S-user1] # ll
. 이 +로 변경되면서 ACL설정이 됬음을 보여준다.
Default ACL
- 디렉토리는 디폴트 ACL을 설정할 수 있다.
- 해당 디렉토리 내에서 생성되는 파일이나 하위 디렉토리의 기본 ACL가 된다.
해당 디렉토리내에 생성되는 디렉토리에 대해서 rwx rwx rwx 허가권 설정
기호모드 : # setfacl -m default:user::rwx,default:group::rwx,default:other:rwx S-lv03
숫자모드 : # setfacl -m d:u::7,d:g::7,d:o:7 S-lv03
[ 실습 ]
root ] # setfacl -m d:u::7,d:g::7,d:o:7 S-lv03
위와같은 S-lv03의 ACL 설정값이 나온다.
root ] # cd S-lv03 // S-lv03으로 가서
root ] # mkdir test_dir1 // 파일 생성
root ] # getfcal test_dir1 // 파일 ACL값 확인
새로 만든 test에게 setfacl로 따로 ACL를 설정하지 않았지만,
S_lv03에 설정해 놓으니 S-lv03에서 만들어지는 파일이나 디렉토리도 위와같이
저절로 설정되서 생성된다.
ACL MASK - 추가되는 허가권을 제어하는 값
ACL 마스크를 r--로 설정하면, 일치하는 모든 ACL는 자신이 갖고 있는 허가권 ( r ) 이 효력을 잃어 r--로 변경된다.
# setfacl -m mask:r-- S-lv01
# getfacl S-lv01
[ 실습 ]
root ] # setfacl -m mask:--x S-lv01
( mask 값이 --x 이다. )
root ] # su I-user1
I-user1 ] # cd /practice/test
I-user1 ] # cd S-lv01 // 가능 ( 유효한 권한 --x )
I-user1 ] # touch // 불가능 ( 기본에 rwx 권한이 있지만 마스크 값으로 인해서. )
I-user1 ] # ls // 불가능 ( x 권한만 적용되서 rw 권한은 유요하지 않음. )
( 접근은 되지만 읽기, 쓰기는 되지 않는다. )
'OS > Cent OS' 카테고리의 다른 글
[Cent OS] 파일 시스템 관리 (0) | 2017.01.24 |
---|---|
프로세스 #2 (0) | 2017.01.23 |
프로세스 (0) | 2017.01.22 |
실습] 계정, 그룹 생성 (0) | 2017.01.20 |
디렉토리와 파일의 허가권 (0) | 2017.01.19 |
디렉토리와 파일의 권한, 소유권 (0) | 2017.01.18 |
댓글