Linux

Linux 권한(속성)

5_jinseok12 2018. 1. 29. 16:02
728x90

Linux 권한 중 속성에 대해 알아보자

 

#which cat 은 위치경로를 알고 싶을때 사용한다.

 

rwx r-x r-x 를 통해 755 라는것을 알 수 있다.

 

#chmod u+s /bin/cat    : user의 x자리에 s가 들어온다. cat을 소유한 root로 동작.

위에 출력 값을 통해 바뀐것을 알 수 있다.

 

SetUID

- SetUID를 잘 이용하면 시스템 운영에 도움이 되지만 잘못사용될 경우 root 권한을 악용하거나,

  탈취하는 방법으로 사용될 수 있기 때문에 꼭 필요한 파일에서만 설정해야 한다.

- 평소 SetUID가 설정된 파일을 문서화하여 관리하거나 기억하는것이 중요하다.

 

bin 디렉토리에 위치한 SetUID가 설정된 파일의 목록을 가지고 있는 파일 생성하기

 

 

#ls -l | grep "^-..[sS]"  : grep으로 인해 첫번째 행의 시작이 - 이며 s나 S가 들어잇는 것을 출력한다.

 

cat 원상복구 시키기

#chmod u-s /bin/cat  :  사용자 권한에 포함된 s를 빼겠다.

 

 

 

#mkdir /practice/SetGID :  SetGID 디렉토리를 만든다.

#cd /practice/SetGID     :  SetGID 로 이동

#touch file1                 :  SetGID에 file-1의 파일을 생성

#ll                             :  생성한 파일의 소유권 확인(root root 인것을 알 수 있다)

 

 

 #chmod 2755 /practice/SetGID
 #chown root:BLACKPINK /practice/SetGID
 #ll /practice

이렇게 설정을 해놓은 뒤 file2과 file3를 출력한다.

계정은 root 계정이지만 그룹은 BLACKPINK인 것을 알 수 있다.

 

 

                       기존                      설정후
             /practice/SetGID         /practice/SetGID
소유권         root:root              root:BLACKPINK
허가권         rwx r-x r-x            rwx r-s r-x

                 file1(root:root)       file2(root:BLACKPINK)
                                          file3(root:BLACKPINK)

 

 #cd /practice/SetGID
 #ll

 SetGID 디렉토리에 설정한 후 소유 그룹을 변경하게 되면,
 해당 그룹에 속한 사용자들이 파일을 공유하거나 접근이 가능하도록
 할 수 있다.

 

Sticky

- 모든 사용자가 모든 허가권(777)0을 가지고 있는 공유 디렉토리에 설정

- Sticky가 설정된 디렉토리에서는 "파일의 소유자"만 파일을 삭제할 수 있다.

 

기호 o+t    (기타사용자other에 + t를 준다)

temp1과 temp2의 디렉토리를 만든다.

 

 

#ll /practice
  drwxrwxrwx. 2 root root      4096 2018-09-05 12:07 temp1
  drwxrwxrwt. 2 root root      4096 2018-09-05 12:07 temp2


기타사용자 허가권 필드에 x -> t로 바뀌게 된다.

 

 

file1은 777이라는 것을 알 수 있다 (rwx를 통해)

 

rm을 사용하려면 디렉토리에 쓰기 권한이 있어야 한다. 하지만 쓰기권한이 있다고 하더라도

Sticky가 있으면 삭제만큼은 절대 안된다.

root 계정은 무시할 수 있지만 일반 사용자들은 삭제가 안된다. 파일을 소유한 소유자만 삭제가 가능하다.

 

 

속성

- 허가권/소유권과는 다른 개념으로 파일을 관리할 수 있다.

#chattr    :    속성 변경

               + 속성 부여

    - 속성 제거

#lsattr     :    속성 확인

 

file1에 아무 속성이 없다.

 

#chattr +i file1 :  file1에 i속성을 부여한다.

i 속성(immutable) : 파일의 이름 변경, 내용 수정, 삭제 등 변경이 불가능하도록 만드는 속성

 

 

i속성이 부여됐기 때문에 삭제를 할 수 없다고 출력한다.

 

#chattr -i file1  :  i 속성 제거

#lsattr file1      :   속성 확인

#chattr +a file1:  a 속성 추가

 

a 속성( append only / 추가만 가능) : 기본값은 i 속성과 동일하나 추가되는 형태만 허용한다

 

마찬가지로 삭제를 할 수 없다고 출력

 

 

하지만 위에 사진과 같이 a로 인해 추가는 할 수 있다.

 

 

반응형

'Linux' 카테고리의 다른 글

Linux 패스워드 정책  (0) 2018.01.31
Linux (ACL , sudo)  (0) 2018.01.30
Linux 소유권,허가권,UMASK  (0) 2018.01.26
Linux 소유권 허가권  (0) 2018.01.26
Linux 사용자 계정 관리2  (0) 2018.01.25