우리 조직에는 많은 Linux 서버가 있으며 인증을 위해 Active Directory를 사용하려고 합니다. SSSD와 Kerberos를 사용하여 Active Directory를 통해 인증하는 개념 증명 서버를 설정했습니다. 현재는 특정 그룹(그룹 A라고 함)의 사용자만 서버에 로그인할 수 있도록 설정했는데 제대로 작동합니다. 다음으로 다른 그룹(그룹 B)의 사용자에게 자동 sudo 권한을 부여하기 시작했습니다. 다음은 Active Directory의 조직 단위 구조입니다.
그룹 A
그룹 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 사용자에게는 비밀번호를 묻는 메시지가 즉시 표시되고 높은 권한으로 프로그램을 실행합니다.
내 질문은 이것입니다:파일 이름에 실제 의미가 없다고 생각합니다(여러 사용자/그룹에 대한 권한을 하나의 파일에 넣을 수는 있습니다.) 구성의 일부에서 그룹과 파일의 이름을 동일하게 지정해야 합니까? 왜 이런 일이 일어나는지 이해하고 싶습니다.