리눅스에서는 계정과 그룹으로 나누어서 운영 및 관리를 할수 있지만 그 외에도 특정 파일이나 폴더에 권한을 줘서 특수하게 관리를 할수가 있다. 이를 특수 권한 이라고 한다.
권한 체계는 3계층 (사용자, 그룹, 기타) 에 3가지 권한(읽기, 쓰기, 실행) 을 부여하는 형태에 이루어져있다.
하지만 딱 이 체계로는 원활하게 관리가 힘들다. 어떤 파일을 수정하기 위해서는 root 권한이 필요한데 root 계정을 알려줄수도 없고,
다른 사용자의 폴더에서 작업을 할때도 해당 사용자 계정을 알려줄수 없는 등 다양한 상황이 생긴다.
이럴때 특수권한을 사용하게 된다.
특수권한의 종류와 간략 설명은 다음과 같다.
Set-UID
보통 실행 파일에 사용되며 Set-UID가 부여된 파일을 실행시 해당 파일을 실행하는 동안에는 실행시킨 사용자의 권한이 아닌 해당 파일의 소유자 권한으로 인식한다.
실행 파일에 주로 사용하므로 설정하면 소유자 권한 자리에 s라고 표기 된다.
Set-GID
Set-UID와 비슷하게 파일에 설정되어있을경우 해당 파일을 소유한 그룹권한으로 인식한다.
현재는 주로 디렉터리에 설정이 되는데 이 권한이 설정된 디렉터리에 사용자들이 파일이나 디렉터리를 생성하면 사용자가 속한 그룹에 상관없이 디렉터리 소유 그룹 권한으로 만들어 진다.
그룹 소유 권한 자리에 s라고 표기 된다.
Sticky-Bit
디렉터리에 설정되는 특수권한으로 일종의 공유 디렉터리로 사용된다.
리눅스에서는 /tmp 디렉터리에 기본적으로 설정 되어있다.
만약 권한이 rwx 가 모두 설정이 되어있으면 누구나 생성이 가능하지만 남이 내가만든 파일을 삭제할수도 있다.
이럴 경우에 sticky bit 를 설정하면 본인이 만든 파일은 본인 이외에 삭제가 불가능하다.
권한을 변경하는 명령어는 다음과 같다.
- chmod
- change mode 의 약자로 파일이나 디렉터리에 접근할수 있는 허가권을 4,2,1,0 을 조합하여 작성을 한다.
- chmod 777 test.txt 처럼 사용을 한다.
- chown
- change owner의 약자로 파일이나 디렉터리에 소유자를 변경할때 사용한다.
- chown test test.txt 처럼 사용을 한다.
- chgrp
- change group의 약자로 파일이나 디렉터리의 그룹을 변경할때 사용한다.
'IT > Linux' 카테고리의 다른 글
리눅스 디렉터리 / 파일 관련 명령어 (34) | 2022.05.27 |
---|---|
파일 링크 (link) 란? (57) | 2022.05.26 |
리눅스 운영관리 1 (47) | 2022.05.23 |
리눅스 네트워크 명령어 (31) | 2022.05.22 |
이더넷 / lan의 이해 (44) | 2022.05.21 |
댓글