본문 바로가기

리눅스

특정 계정이나 그룹(wheel 그룹)에서 su 명령어 사용을 제한하는 방법

728x90
반응형

특정 계정이나 그룹(wheel 그룹)에서 su 명령어 사용을 제한하는 방법

특정 계정이나 그룹에 대한 su 명령어 사용 권한을 제한하려면 /etc/pam.d/su 파일을 편집하여 PAM(Pluggable Authentication Module) 설정을 구성해야 합니다.

su 명령어의 경로 및 권한 확인

$ which su
/bin/su
$ ls -l /bin/su
-rwsr-xr-x. 1 root root 32128 Feb  3 01:31 /bin/su

-rwsr-xr-x 부분에서 s는 SetUID 비트를 나타내고, root는 소유자, 그리고 root는 그룹을 나타냅니다. SetUID 비트가 설정되면 이 명령어는 소유자(root)의 권한으로 실행되게 됩니다.

일반 계정에서 su 명령어를 제한

su 명령어 권한 변경

chmod 4750 /bin/su
chgrp wheel /bin/su
$ ls -l /bin/su
-rwsr-x---. 1 root wheel 32128 Feb  3 01:31 /bin/su
$ ls -l /usr/bin/su
-rwsr-x---. 1 root wheel 32128 Feb  3 01:31 /usr/bin/su

일반 계정(user2)에서 su 명령어 실행 시 에러

su -
[user2@024289b2b9e8 ~]$ su -
-bash: /bin/su: Permission denied

일반 계정(user1)에서 su 명령어를 사용하도록 허용

wheel 그룹에 추가

sudo usermod -aG wheel user1

su 명령어를 사용하면 일반적으로 해당 계정의 패스워드를 입력하고, 이후에 root 패스워드를 입력하여 root로 전환

[user1@024289b2b9e8 ~]$ su -
Password:

특정 계정에서 su 명령어를 허용

1. su 허용 설정 파일 열기

vim /etc/pam.d/su

2. 편집기에서 필요한 부분 수정

  • pam_wheel.so 모듈을 사용하여 특정 그룹에 대한 권한을 제한할 수 있었습니다.
  • #auth required pam_wheel.so use_uid 주석 제거
#%PAM-1.0
auth		sufficient	pam_rootok.so
# Uncomment the following line to implicitly trust users in the "wheel" group.
#auth		sufficient	pam_wheel.so trust use_uid
# Uncomment the following line to require a user to be in the "wheel" group.
auth		required	pam_wheel.so use_uid
auth		substack	system-auth
auth		include		postlogin
account		sufficient	pam_succeed_if.so uid = 0 use_uid quiet
account		include		system-auth
password	include		system-auth
session		include		system-auth
session		include		postlogin
session		optional	pam_xauth.so

3. wheel 그룹에 특정 계정을 추가

wheel 그룹 뒤에 infra(wheel:x:10:testuser1) 그룹 추가

usermod -aG wheel testuser1
vim /etc/group
...
disk:x:6:
mem:x:8:
kmem:x:9:
wheel:x:10:testuser1,infra
cdrom:x:11:
mail:x:12:postfix
man:x:15:
dialout:x:18:
...

4. 테스트

su -
$ su -
Password:

 

반응형