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

+ Recent posts