개발/Linux

[리눅스 Linux] 리눅스 권한관리

Queue2 2019. 9. 14. 02:50

리눅스란? 

리눅스는 윈도우, 유닉스와 같은 운영체제의 한 종류로 컴퓨터 시스템의 하드웨어를 효율적으로 관리하기 위한 시스템 소프트웨어이다. 

 

 

 

리눅스 권한 설정 명령어

 

 

권한 관리 명령어 : chmod, unmask
  • 접근 권한은 8진수 또는 r(읽기 권한, 4), w(쓰기 권한, 2), x(실행 권한, 1) 문자로 표현 가능하다.
  • 8진수로 표현할 때는 권한의 합으로 표시한다.
  • 8진수 3자리(3bit)로 소유자, 그룹 소유자, 기타 사용자를 위한 파일 모드를 설정한다.

 


접근 권한 변경 명령어 : chmod [옵션] 파일명 
  • 기존 파일 또는 디렉토리에 대한 접근 권한을 변경할 때 사용, 파일 모드의 변경은 파일 소유자나 슈퍼유저만 가능하다.

  • 주요 옵션 : -R 하위 디렉토리와 파일의 권한까지 변경한다.

#chmod -R 777 testfile
  • 사용자(대상) : u, g, o, a (all의 약자, u,g,o의 조합),
  • 수행할 명령(연산) : +, -, =(지정, 기존의 속성 값은 사라짐)
  • 설정할 퍼미션(접근권한) : r, w, x 
#chmod +x testifle   // 모든 사용자에게 실행 권한 추가(아무 문자를 사용하지 않으면 all로 추정)
#chmod 0755 testfile 

//최고 권한은 777 각각 유저, 그룹, 아더

 


특수권한 : setuid(4), setgid(2), sticky bit(1)

 

setuid 비트

  • setuid 비트를 실행 파일에 적용하면 실 사용자에서 프로그램 소유자의 ID로 유효사용자가 변경된다.
  • 슈퍼유저 root만 접근할 수 있는 파일이나 명령에 대해, 일반 사용자로 접근하는 것이 기능상 필요한 경우(실행 순간만 권한을 빌려오는 개념)
  • setuid 비트 설정 방법 : 8진수(4000)나 기호(u+s)를 이용하여 setuid 비트를 설정할 수 있다.(setuid 비트 설정 제거 u-s)
#chmod 4744 setuid_test1

#chmod u+s setuid_test2

 

setgid 비트

  • setgid 비트처럼 유효 그룹 ID를 사용자의 실제 그룹 ID에서 파일 소유자의 그룹 ID로 변경한다.

  • setgid 비트 설정 방법 : 8진수(2xxx)나 기호(g+s)를 이용하여 setgid 비트를 설정할 수 있다. (setgid 비트 설정 제거 g-s)

  • setgid 비트가 설정되어 있으면 그룹 소유자 접근 권한의 실행 권한 자리에 실행 권한이 있으면 소문자 s로 실행권한이 없으면 대문자 S로 표시된다.

#chmod 2755 setgid_dir1

#chmod g+s setgid_dir2

 

sticky비트

  • sticky 비트는 8진수 1000
  • sticky 비트는 특정 디렉토리를 누구나 자유롭게 사용할 수 있게 하기 위함이다.(공용 디렉토리에 사용) 단, sticky 비트가 디렉토리에 적용되면 디렉도리 소유자나 파일 소유자 또는 슈퍼유저가 아닌 사용자들은 파일을 삭제하거나 이름을 변경하지 못하도록 막음, 파일 또는 디렉토리 생성은 누구나 할 수 있다.
  • sticky 비트를 공유모드라고도 한다.
  • 8진수(1xxx)나 기호(o+t 또는 u+t)를 이용하여 sticky 비트를 설정할 수 있다.(sticky 비트 설정 게저 o-t 또는 u-t)
  • sticky 비트가 설정되어 있으면 기타 사용자 접근 권한의 실행 권한 자리에 실행 권한이 있으며 소문자 t로 실행 권한이 없으면 대문자 T로 표시된다.

 

※ 관련글