글 작성자: nouu

http://www.yes24.com/Product/Goods/94484054

 

https://eunguru.tistory.com/115

 

[UNIX / Linux] 특수 권한(setuid, setgid, sticky bit)

프로세스 번호 - UNIX 시스템에서는 프로세스에 다섯 가지 번호 부여 1. 프로세스에 부여되는 번호들 1) 프로세스 식별자(PID) 2) 실제 사용자 ID(RUID) 3) 유효 사용자 ID(EUID) 4) 실제 사용자 그룹(RGID) 5

eunguru.tistory.com

 

https://wogh8732.tistory.com/74

 

리눅스 특수권한이란?

저번에 리눅스에서 사용하는 권한에 관련하여 글을 작성하였다. 오늘은 저번 시간에 이어 기본 권한이 아닌 특수권한에 대해서 설명하겠다. 만약 권한에 대해서 잘 모르는 사람은 밑에 게시글

wogh8732.tistory.com

 

 

 

 

리눅스의 파일, 디렉토리의 소유권 및 허가권 

리눅스는 파일과 디렉터리마다 소유권과 허가권이라는 속성이 있다. root 사용자로 로그인하여 root의 홈 디렉토리인 /root에 touch index.txt 파일을 만들고 ls -l 명령어를 치면 다음과 같이 파일의 속성이 나오는 것을 볼 수 있다. 

 

 

# pwd # 현재 root가 있는 위치를 확인
# touch index.txt # touch 명령어로 index.txt 파일을 생성 만약 index.txt. 파일이 있다면 마지막 날짜/ 시간이 변경
# ls -l # 파일 리스트 확인

 

 

파일 유형 : 파일의 종류를 나타낸다. 해당 파일이 디렉터리일 경우에 'd'를 쓰며, 일반 파일일 경우 '-', 블록 디바이스인 경우 'b', 문자 디바이스인 경우 'c', 링크는 'ㅣ'을 표기한다. 

 

 

파일의 허가권 : 총 9비트이며(사실은 12비트이다. 다음 글에 작성하겠다.) 소유자의 허가권 그룹의 허가권 그 외 사용자의 허가권 3가지로 구분지을 수 있다. 즉 위의 예와 같이 index.txt 파일의 허가권을 정리하자면 다음과 같다. 

 

소유자(User) 그룹(Group) 그 외 사용자(Other)
rw- r-- r--
420 400 400
6 4 4

 

해당 파일의 소유자는 읽거나 쓸 수 있다.

해당 파일을 가지고 있는 그룹은 읽을 수 있다.

나머지 사용자는 읽을 수 있다.

 

 

파일의 허가권을 chmod로 변경 가능하다. 

chmod 명령어는 슈퍼 유저인 root 또는 해당 파일의 소유자만이 실행할 수 있다. 만약 관리자 또는 소유자가 임의의 파일을 모든 이용자들에게 권한 없이 배포하고 싶다면 다음과 같은 명령어를 치면 된다. 

 

# chmod 777 index.txt

이렇게 넘버링 기반으로 명령어를 구성하여 작성하면 모든 사용자가 해당 파일을 접근할 수 있다. 

 

 

또는 chmod를 u+x 파일이름 명령과 같이 사용하여 권한을 부여하거나 제한할 수 있다. 

 

 

# ch u+x #파일 소유주 user에게 실행 권한을 준다.

 

위와 같은 명령어 체계를 상대 모드 또는 symbolic method 라고 한다.

 

 

 

파일의 소유권은 chown 또는 chgrp 명령어로 가능하다. 

파일 소유권을 영어로 file ownership 이라고 하는데 chown은 change ownership을 축약한 단어로 해석하면 된다.

사용법은 다음과 같이 chown 새로운 사용자 이름[.새로운 사용자 그룹] 파일 이름 형식으로 사용하면 된다. 

 

 

만약 index.txt 파일의 소유자를 nouu로 바꾸고 싶다면 다음과 같이 사용하면 된다. 

# chown nouu simple.txt

 

또한 소유자를 nouu, 그룹 소유를 industrySystemEngineering으로 바꾸고 싶다면 다음과 같이 바꾸면 된다.

# chown nouu.industrySystemEngineering index.txt