리눅스에서만 일부 사용자에 대한 su 액세스를 차단하는 방법


3

내 일부 사용자가 일부 사용자에게만 su를 허용하도록 pam을 구성하고 싶습니다.

RHEL4에서는

/etc/pam.d/su

auth       required     /lib/security/$ISA/pam_stack.so service=system-auth 
auth       sufficient   /lib/security/$ISA/pam_stack.so service=suroot-members 
auth       required     /lib/security/$ISA/pam_deny.so

/etc/pam.d/suroot-members

auth       required     /lib/security/$ISA/pam_wheel.so use_uid group=suroot
auth       required     /lib/security/$ISA/pam_listfile.so item=user sense=allow onerr=fail file=/etc/security/sumembers-access

위의 구성에서 suroot 그룹의 사용자는 sumembers-access에 언급 된 사용자 이름으로 만 su를 수행 할 수 있습니다. 그러나 OEL6에서는 pam_stack.so가 더 이상 사용되지 않습니다. 아래와 같이 구성을 시도했지만 예상대로 작동하지 않습니다.

/etc/pam.d/su

auth      sufficient  pam_rootok.so
auth      include     system-auth
auth      include     group2-members
auth      include     group1-members
auth      required    pam_deny.so
account   sufficient  pam_succeed_if.so uid = 0 use_uid quiet
account   include     system-auth
password  include     system-auth
session   include     system-auth
session   optional    pam_xauth.so

/etc/pam.d/group2-members

auth required pam_wheel.so use_uid group=group2
auth required pam_listfile.so item=user sense=allow onerr=fail file=/etc/security/su-group2-access

위는 작동하지 않습니다. 모든 사용자가 모든 사람에게 소송을 제기 할 수 있습니다. 누군가 내가 뭘 잘못하고 있는지 말할 수 있습니까?


3
사용자에게 다른 계정의 비밀번호를 제공하지 말고 sudo대신 사용하십시오.
Daniel Beck

sudo는 또 다른 옵션이며, 내가 잘못하고있는 것을 확인하기를 고대하고 있습니다. 또한 이들은 공유 계정 오라클 및 기타 응용 프로그램 계정입니다.
user1116993

2
sudo -u oracle -s
grawity

@ grawity sudo는 현재 옵션이 아니지만 걱정되는 노인들과 함께 검사 할 것입니다.
user1116993

답변:


1

이것이 도움이되기를 바랍니다.

# cat /etc/pam.d/su
auth            sufficient      pam_rootok.so
auth            [default=1 success=ok ignore=ignore] pam_wheel.so trust use_uid group=group1
auth            [success=2 default=die] pam_listfile.so item=user sense=allow onerr=fail file=/etc/security/su-group1-access
auth            [default=die success=ok ignore=ignore] pam_wheel.so trust use_uid group=group2
auth            requisite pam_listfile.so item=user sense=allow onerr=fail file=/etc/security/su-group2-access
auth            include system-auth
account              sufficient        pam_succeed_if.so uid = 0 use_uid quiet
account              include                system-auth
password             include                system-auth
session              include                system-auth
session              optional        pam_xauth.so

# cat /etc/security/su-group1-access |egrep -v "^#|^$"
oracle
user

# cat /etc/security/su-group2-access |egrep -v "^#|^$"
root

원래 답변 : 아래 사용

# cat /etc/pam.d/su |egrep -v "^#|^$"
auth        sufficient  pam_rootok.so
auth        [success=2 default=ignore] pam_succeed_if.so use_uid user notingroup group1
auth        required pam_wheel.so use_uid group=group1
auth        required pam_listfile.so item=user sense=allow onerr=fail file=/etc/security/su-group1-access
auth        [success=2 default=ignore] pam_succeed_if.so use_uid user notingroup group2
auth        required pam_wheel.so use_uid group=group2
auth        required pam_listfile.so item=user sense=allow onerr=fail file=/etc/security/su-group2-access
auth        include     system-auth
account     sufficient  pam_succeed_if.so uid = 0 use_uid quiet
account     include     system-auth
password    include     system-auth
session     include     system-auth
session     optional    pam_xauth.so

# cat /etc/security/su-group1-access |egrep -v "^#|^$"
oracle
user

# cat /etc/security/su-group2-access |egrep -v "^#|^$"
root

그것은 의미가 있고 완벽하게 작동했지만 어떤 그룹 (그룹 1, 그룹 2)의 일부가 아닌 사용자는 누구나 수 있습니다. 동일한 제한을 어떻게 구성 할 수 있지만 사용자가 위에 나열된 그룹의 일부가 아닌 경우 다른 사람에게 소송을 제기 할 수 없습니까?
user1116993
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.