본문 바로가기

리눅스

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

반응형

특정 계정이나 그룹(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:
728x90

특정 계정에서 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:

 

728x90
반응형