SetUID(4000)
: 슈퍼유저만 접근할 수 있는 실행 파일이나 명령에 대해, 일반 사용자가 접근이 필요한 경우 사용한다.
SetUID가 설정되어 있는 실행 파일을 일반 사용자가 실행할 경우 파일의 소유자 권한으로 프로세스를 실행한다.
SetUID가 설정되어 있는 파일의 사용자 권한은 “x”가 아닌”s”로 표기된다.
해당 파일에 실행 권한이 설정되어 있지 않은 상태에서 SetUID 설정 시에는 “S”로 표시된다.
# 실행 권한이 있는 파일의 SetUID 설정
ls -al
-rwxr-xr-x. 1 root root 0 Nov 9 10:28 test01.sh
# SetUID 설정
chmod u+s test01.sh
ls -al
-rwsr-xr-x. 1 root root 0 Nov 9 10:28 test01.sh
# 실행 권한이 없는 파일의 SetUID 설정
ls -al
-rw-r--r--. 1 root root 0 Nov 9 10:28 test01.sh
# SetUID 설정
chmod u+s test01.sh
ls -al
-rwSr--r--. 1 root root 0 Nov 9 10:28 test01.sh
SetGID(2000)
: 파일 생성 시 그룹 소유자가 생성자가 아닌 해당 디렉터리의 그룹 소유자로 설정된다.
# 현재 위치 확인
pwd
/
# test 디렉터리 권한 확인
ls -al
drwxrwxrwx. 2 root root 6 Nov 9 12:35 test
# SetGID 설정
chmod g+s /test
# SetGID 설정 확인(그룹 소유자의 실행 권한이 "s"로 표기)
ls -al
drwxrsrwx. 2 root root 6 Nov 9 12:35 test
# test 계정 전환
su - test
# /test 디렉터리 이동
cd /test
# 파일 생성
touch test01
# 파일 그룹 소유자 확인
ls -al
-rw-r--r--. 1 user root 0 Nov 9 12:39 test01
Sticky Bit(1000)
: 파일 및 디렉터리 소유자가 아닌 사용자들은 파일을 삭제하거나 수정을 할 수 없다.
공용 디렉터리 용도로 활용된다.
# 현재 위치 확인
pwd
/
# test 디렉터리 권한 확인
ls -al
drwxr-xrwx. 2 root root 6 Nov 9 12:48 test
# Sticky Bit 설정
chmod o+t /test
# SetGID 설정 확인(다른 사용자의 실행 권한이 "t"로 표기)
drwxr-xrwt. 2 root root 6 Nov 9 12:48 test
# test 계정 전환
su - test
# /test 디렉터리 이동
cd /test
# 파일 생성
touch test01
# 파일 권한 확인
-rw-r--r--. 1 test test 0 Nov 9 12:50 test01
# test01 파일에 다른 사용자에게 쓰기 권한 부여
chmod o+w test01
# 파일 권한 확인
-rw-r--rw-. 1 test test 0 Nov 9 12:50 test01
# test 계정 전환
su - test2
# /test 디렉터리 이동
cd /test
# test01 파일 삭제(에러 발생)
rm -rf test01
rm: cannot remove 'test01': Operation not permitted
'시리즈 > Linux 기초 다지기 2023 (개편 예정) - 시리즈' 카테고리의 다른 글
리눅스 기초 다지기 - 49. 패스워드 정책 설정 (4) | 2025.03.14 |
---|---|
리눅스 기초 다지기 - 48. ACL - setfacl, getfacl (0) | 2025.03.14 |
리눅스 기초 다지기 - 46. chown, chgrp 파일 소유권 설정 (0) | 2025.03.14 |
리눅스 기초 다지기 - 45. chmod 파일 권한 변경 (0) | 2025.03.14 |
리눅스 기초 다지기 - 44. umask 기본 권한 설정 (0) | 2025.03.14 |