특정 사용자 그룹이 특정 사용자로서 su 명령을 사용할 수 있도록 하고 싶습니다.
예)
그룹 | 사용자 |
---|---|
allowsu_aa |
aa |
allowsu_bb |
bb |
allowsu_cc |
cc |
/etc/pam.d/su
그래서 파일 에 다음을 추가했습니다 .
auth [success=2 default=ignore] pam_succeed_if.so user = aa
auth [success=2 default=ignore] pam_succeed_if.so user = bb
auth [success=2 default=3] pam_succeed_if.so user = cc
auth [success=done new_authtok_reqd=done default=2] pam_succeed_if.so use_uid user ingroup allowsu_aa
auth [success=done new_authtok_reqd=done default=1] pam_succeed_if.so use_uid user ingroup allowsu_bb
auth [success=done new_authtok_reqd=done default=ignore] pam_succeed_if.so use_uid user ingroup allowsu_cc
하지만 내가 원하는 대로 작동하지 않습니다.
어떻게 고쳐야 합니까?
답변1
이를 수행하는 방법에 대한 좋은 설명은 다음과 같습니다.https://www.tecmint.com/switch-user-account-without-password/ 성공적으로 테스트했습니다(Rocky Linux 9). PAM은 꽤... 복잡합니다. 또한 파일의 구성 줄 위치에도 주의를 기울여야 합니다. 내 사용자가 test_group의 구성원인 경우 비밀번호 없이 test_user로 전환할 수 있습니다.
cat /etc/pam.d/su
#%PAM-1.0
auth required pam_env.so
auth sufficient pam_rootok.so
##### START
auth [success=ignore default=1] pam_succeed_if.so user = test_user
auth sufficient pam_succeed_if.so use_uid user ingroup test_group
##### END
# 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
도움이 되길 바랍니다.