서버: /etc/sudoers의 파일 이름이 AD 그룹의 이름과 일치하지 않으면 Active Directory 그룹을 사용하는 Sudo가 실패합니다.

서버: /etc/sudoers의 파일 이름이 AD 그룹의 이름과 일치하지 않으면 Active Directory 그룹을 사용하는 Sudo가 실패합니다.

우리 조직에는 많은 Linux 서버가 있으며 인증을 위해 Active Directory를 사용하려고 합니다. SSSD와 Kerberos를 사용하여 Active Directory를 통해 인증하는 개념 증명 서버를 설정했습니다. 현재는 특정 그룹(그룹 A라고 함)의 사용자만 서버에 로그인할 수 있도록 설정했는데 제대로 작동합니다. 다음으로 다른 그룹(그룹 B)의 사용자에게 자동 sudo 권한을 부여하기 시작했습니다. 다음은 Active Directory의 조직 단위 구조입니다.

그룹 A

그룹 A 구조

그룹 B

그룹 B 구조

Active Directory 사용자로 성공적으로 로그인할 수 있으며 아래에 sssd.conf를 포함했습니다.

[sssd]
services = nss, pam
config_file_version = 2
domains = <organization>.LOCAL

[domain/<organization>.LOCAL]
id_provider = ad
access_provider = ad

# Use this if users are being logged in at /.
# This example specifies /home/DOMAIN-FQDN/user as /root.  Use with pam_mkhomedir.so
override_homedir = /home/%d/%u

# makes all users use bash as the default shell
override_shell = /bin/bash

# only allows users from the following groups to log in
ad_access_filter = (|(memberOf=cn=group-A,ou=Groups,ou=department,dc=organization,dc=local))

/etc/sudoers.d그룹 B의 모든 구성원에게 sudo 권한을 허용하기 위해 다음 내용 으로 group-B-admin-group이라는 파일을 만들었습니다 .

%group-B    ALL=(ALL)   ALL

이 시점에서는 그룹 B의 사용자에 대해서도 sudo를 사용할 수 없습니다. 실행 시 sudo su즉시 비밀번호를 요청한 다음 사용자가 sudoers 파일에 없다고 보고합니다. sudo touch this, sudo cat및 기타 명령을 실행하려면 sudo vim암호를 묻기 전에 약 60초를 기다려야 합니다. 비밀번호를 입력한 후 sudo는 내가 sudoers 파일에 없다고 보고합니다. 이 시점에서 파일 이름을 /etc/sudoers.d/group-B-admin-group다음으로 바꾸었는데 /etc/sudoers.d/group-B갑자기 모든 것이 잘 작동했습니다. 그룹 B 사용자에게는 비밀번호를 묻는 메시지가 즉시 표시되고 높은 권한으로 프로그램을 실행합니다.

내 질문은 이것입니다:파일 이름에 실제 의미가 없다고 생각합니다(여러 사용자/그룹에 대한 권한을 하나의 파일에 넣을 수는 있습니다.) 구성의 일부에서 그룹과 파일의 이름을 동일하게 지정해야 합니까? 왜 이런 일이 일어나는지 이해하고 싶습니다.

관련 정보