1) UMASK
- 디렉터리와 파일 권한의 기본값은 생성한 계정의 umask에 의해서 결정된다.
- 디렉터리일 경우 0777 - umask 값이고 파일의 경우 0666 - umask 값이다.
1.1) UMASK 값 확인
- umask값을 확인해보면 022 인 것을 확인할 수 있다.
- 디렉터리 생성 시 0777 - 022 = 0755이고 파일 생성 시 0666 - 022 = 0644의 기본 권한을 갖는다.
1.2) 디렉터리 및 파일 생성 후 확인
- 디렉터리와 파일 생성 시 기본 권한이 디렉터리는 rwx_xr_x(755) 파일은 rw_r__r__(644)인 것을 확인할 수 있다.
1.3) UMASK 값 변경
umask 0002
- umask를 변경 후 디렉터리 및 파일을 생성할 경우 기본 권한이 변경되는 것을 확인할 수 있다.
1.4) UMASK 설정 경로
- 설정 파일을 확인해보면 계정 생성 시 UID가 199보다 크고 그룹 이름과 사용자 이름이 동일할 경우 umask 값을 002로 설정하고 아니면 022로 설정하는 것을 확인할 수 있다.
vim /etc/profile
- UID가 199보다는 크지만 그룹 이름과 동일하지 않으므로 022로 umask값이 설정되었다.
2) 특수 권한
- 4bit의 권한을 표시할 경우 특수 권한을 사용하는 것이 가능하다.
- setUID(4), setGID(2) Sticky(1)을 사용하여 나타낸다.
- 소유자의 실행 영역에 S 표시가 나타나면 SetUID, 소유 그룹의 실행 영역에 S 표시가 나타나면 SetGID, 기타 사용자의 실행 영역에 t 표시가 나타나면 Sticky를 적용한 것이다.
- S표시의 경우 소문자일 경우 실행 권한이 없는것이고 대문자일 경우 실행 권한이 있는것이다.
chmod 4644 umasktestfile
chmod 4744 umasktestfile
2.1) setUID
- 실행파일에 setUID가 설정되어있는 경우 해당 파일을 실행 시 실제 사용자가 아닌 해당 파일의 소유자 권한으로 실행이 가능하다.
- 주로 super user(root)가 소유자인 소수의 명령어에 사용한다.
- 대표적으로 /bin/passwd 파일에서 사용한다.
- passwd 파일이 setUID로 설정했기 때문에 일반 사용자도 소유자와 소유 그룹이 root passwd 파일을 접근하여 비밀번호를 변경할 수 있다.
- passwd에 setUID를 제거하면 일반 사용자는 비밀번호를 변경할 수 없다.
- passwd를 변경하면 수정된 내용이 /etc/shadow에 작성되는데 해당 파일은 root만 접근할 수 있기 때문이다.
2.2) Set GID
- 실행파일에 setGID가 설정되어있는 경우 실제 사용자 계정이 아닌 소유그룹의 권한으로 실행된다.
- 부서원들이 많은 그룹에서 관리할 디렉터리에 setGID를 사용하면 모든 사용자는 같은 소유그룹의 권한으로 파일을 관리할 수 있다. (디렉터리에 주로 사용된다.)
- user1(user1/HQ), user2(user2/Sales) 두명의 사용자를 만들고 testdir 디렉터리를 user2/Sales로 소유 권한을 설정한 후 setGID를 적용하였다.
- user1 사용자가 testdir에 게시글을 작성하면 소유 그룹이 Sales로 바뀌는것을 확인할 수 있다.
2.3) Sticky
- Sticky가 디렉터리에 설정되어 있는 경우 해당 디렉터리 내부 파일은 해당 파일의 Owner와 super user만 삭제하거나 이름을 변경하는 것이 가능하다.
- 기본적으로 디렉터리에 쓰기(w) 권한이 부여된 경우 디렉터리 내부 파일들을 삭제하거나 변경하는 것이 가능하다. 이 때 Sticky를 디렉터리에 설정하면 자신의 파일만 삭제,변경이 가능하다.
- Sticky를 적용하지 않은 경우 root가 디렉터리를 만든 후 기타 사용자에게 실행 권한을 주면 다른 사용자들은 디렉터리 안에 있는 파일 내용을 자신의 파일이 아닌 경우에도 삭제할 수 있다.
- sticky를 적용하면 다른 사용자들은 해당 디렉터리에 쓰기 권한은 존재하지만 다른 사람의 파일은 삭제할 수 없다.
'Server > Linux' 카테고리의 다른 글
[Linux] mail 서버 설치 및 설정 (sendmail, dovecot) (0) | 2020.02.05 |
---|---|
[Linux] chown 명령어 설명 (0) | 2020.01.30 |
[Linux] 디렉터리, 파일 권한 설정 (0) | 2020.01.30 |
[Linux] su, sudo 명령어 설명, 일반 사용자에게 Root 권한 부여 방법 (0) | 2020.01.29 |
[Linux] 사용자 그룹 관리 (groupadd, groupmod, groupdel) (0) | 2020.01.29 |
공부&일상 블로그
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요! 질문은 언제나 환영입니다😊