SetGID
- 프로세스가 실행한 사용자의 GID가아닌 소유한 그룹의 GID권한으로 실행된다.
- SetGID가 설정된 디렉토리에서 만들어지는 파일은 모두 해당 디렉토리의
소유 그룹 허가권을 갖는다.
SetGID 설정밥법
- 기호모드 (g+s)
- 숫자모드 (2000)
- 팀단위로 작업 할 경우 모든 사용자가 파일을 공유하도록 할때 사용된다.
Sticky Bit
- 특정 디렉토리를 누구나 자유롭게 사용하기 위함.
모든 사용자가 생성/수정/삭제가 가능한 디렉토리에 적용하며, StickyBit 설정 후
에는 해당 파일의 소유자와 root만 해당 파일을 삭제할 수 가 있다.
StickyBit 설정
-기호모드 (o+t)
-숫자모드 (1000)
#cd /practice
#mkdir sticky_test
#cd sticky_test
#mkdir temp1 temp2
#chmod 1777 temp1 // 스티키 설정
#chmod 777 temp2 // 일반 777 권한 설정
스티키 설정 확인 777권한 설정 확인
#touch ./temp1/test1 // 테스트 파일 생성
#touch ./temp2/test1 // 테스트 파일 생성
#chmod 777 temp1/test1 // 777 허가권으로 수정
#chmod 777 temp2/test1 // 777 허가권으로 수정
파일 두개 허가권 777권한 확인
#useradd test-admin1 // 사용자 계정 추가
#su - test-admin1 // 계정으로 스위칭
$cd /practice/sticky_test
$cd temp2
$ll
rwx rwx rwx -> test1
$rm test1 // 파일 삭제 가능
test1파일 삭제 확인
$cd ..
$cd temp1
$ll rwx rwx rwx -> test1
rwx rwx rwx ->test1 // 파일 삭제 가능
$rm test1
rm 명령어로 파일삭제 불가능
허가권이 있음에도 삭제(rm, mv)를 할수가 없다.
-------------------------------------------------------------------------------------------------------------
실습
- 회사 사원들이 사용하는 디렉토리를 생성 후 사원들 만 사용 할 수 있는 권한을 주어 다른 사용자는
접근할 수 없도록 설정 하시오.
0. 사원 계정 S-USER1, 사원그룹 S-GROUP, 사원 전용 디렉토리 S-LV01 ~ S-LV10
1. /practice/day10/test 디렉토리 생성
2. /practice/day10/test 디렉토리로 이동 후 S-LV01 부터 S-LV10 까지 총 10개의 하위 디렉토리 생성
3. 사용자 계정 및 그룹 생성
- 계정 명 : S-USER1, I-USER1
- 그룹 명 : S-GROUP
계정 그룹 생성
4. S-USER1 계정의 기본 그룹을 S-GROUP 으로 변경
# usermod -g S-GROUP S-USER1
5. S-LV01 ~ S-LV10 모든 디렉토리 설정
- 소유자와 기타 사용자는 디렉토리 내부 읽기 권한, 파일생성, 수정 권한 및 접근 권한 제거
- 오직 해당 디렉토리의 그룹 사용자만 모든 권한을 가지도록 설정
허가권 070 설정 확인
- S-LV01 ~ S-LV10 디렉토리의 소유자는 Root, 그룹 소유자는 사원 그룹으로 설정
소유권의 소유계정과 소유그룹 확인
----------------------------------------------------------------------------------------------------------
속성 (attribution)
chattr - 특정파일에 속성을 변경하고자 할때 사용
lsattr - 특정파일에 속성을 확인하고자 할때 사용
속성의 종류
i (immutable) - 해당 파일의 내용 변경, 삭제, 링크 생성 등을 할수가 없다.
a (append only) - 해당 파일의 내용만 추가가 가능하고, 삭제, 링크 생성 등은
할 수 가 없다.
+ 지정한 속성을 추가
- 지정한 속성을 제거
= 기존 속성을 초기화 후 지정한 속성만 부여
속성 확인
속성 변경
+i 로 설정한 옵션은 삭제 불가능 쓰기 불가능 testfile2 +a 옵션으로 쓰기 가능 삭제 불가능
e 옵션은 ext4 포멧을 ext3 포멧으로 변형시켜 주는 것
ACL (Access Control List / 접근 제어 목록)
- 디렉토리 및 파일에 특정 사용자, 그룹에 특정 권한을 부여하는
기능이다.
getfacl [옵션] - 파일과 디렉토리에 ACL 설정 확인
-d 기본 정보에 대해 확인
-R 하위 디렉토리 및 파일까지 적용
# getfacl S-LV1 // S-LV1 디렉토리에 ACL설정을 확인
# file: S-LV1 // 파일/디렉토리의 이름
# owner: root // 소유자
# group: root // 소유 그룹
user::r-x // 사용자 허가권
group::rwx // 그룹 허가권
other::r-x // 기타 사용자 허가권
setfacl [옵션] [규칙] [파일명]
- 파일과 디렉토리에 ACL 설정
-m 권한을 수정할 때 사용
-x 권한을 삭제할 때 사용
-R 하위 디렉토리 및 파일까지 적용
-b 권한 및 mask를 전부 제거
규칙
u:[UID]:[권한] - 사용자에 대한 ACL을 설정
g:[GID]:[권한] - 그룹에 대한 ACL을 설정
o:[권한] - 기타사용자에대한 ACL을 설정
-------------------------------------------------------------------------------------------------
실습
회사 사원만 사용할 수 있는 S-LV01~S-LV10디렉토리가 있다.
사원 디렉토리는 사원그룹(S-GROUP)에 속한 사용자만 사용할 수 있다.
인턴이(I-USER1)오게되어 S-LV01 디렉토리만 사용 할수 있도록 변경해야 한다.
S-GROUP 속하면 S-LV01외에 다른 S-LV디렉토리에도 접근이 가능해진다.
허가 거부 발생
cd 로 들어가는 방법소개
setfacl -m user:I-USER1:rwx S-LV01 //S-LV01 디렉토리에 I-USER1에게 rwx권한 부여
getfacl S-LV01 //S-LV01 디렉토리에 ACL설정 확인
cd S-LV01 접근 가능
---------------------------------------------------------------------------------------------
실습 ++
추가 인턴사원이 입사하여 인턴 그룹이 필요(I-GROUP)
입사한 인턴사원(I-USER2)와 기존 인턴사원을 같은 그룹에 포함시켜
S-LV02 디렉토리는 I-GROUP에 속한 계정들은 접근이 가능하도록 설정(rwx)
I-USER1,2계정으로 S-LV02 디렉토리 접근 확인(재 로그인 후)
usermod -g I-GROUP I-USER1 // 인턴 사원을 같은 그룹에 포함
usermod -g I-GROUP I-USER2 // 인턴 사원을 같은 그룹에 포함
두 인턴사원계정 S-LV02 디렉토리 접근 확인
-----------------------------------------------------------------------------------------------
'Server > Linux' 카테고리의 다른 글
xshell/ 파일시스템 데몬 파티션 (0) | 2017.04.15 |
---|---|
xshell/ 프로세스 명령어 (0) | 2017.04.13 |
xshell/ 허가권,소유권 명령어 (0) | 2017.04.08 |
xshell/ 사용자계정 명령어2 (0) | 2017.04.07 |
xshell/ 사용자계정 명령어 (0) | 2017.04.05 |