개발/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로 표시된다.
※ 관련글