
$ sudo grep -v -E '^\s*(#|$)' /etc/openldap/ldap.conf
SASL_NOCANON on
uri ldap://ldap.local.{company}.com
base dc={company},dc=com
$ sudo grep -v -E '^\s*(#|$)' /etc/pam.d/sshd
auth sufficient pam_ldap.so
auth sufficient pam_unix.so
account sufficient pam_ldap.so
account sufficient pam_unix.so
auth required pam_listfile.so item=user sense=allow file=/etc/ldap.allowedusers
auth substack password-auth
auth include postlogin
account required pam_sepermit.so
account required pam_nologin.so
account include password-auth
password include password-auth
session required pam_selinux.so close
session required pam_loginuid.so
session required pam_selinux.so open env_params
session required pam_namespace.so
session optional pam_keyinit.so force revoke
session optional pam_motd.so
session include password-auth
session include postlogin
$
$ sudo cat /etc/ldap.allowedusers
ldapuser1
$ sudo grep -v -E '^\s*(#|$)' /etc/nsswitch.conf
passwd: files ldap
group: files ldap
netgroup: sss files
automount: sss files
services: sss files
shadow: files sss
hosts: files dns myhostname
aliases: files
ethers: files
gshadow: files
networks: files dns
protocols: files
publickey: files
rpc: files
$ sudo grep -v -E '^\s*(#|$)' /etc/nslcd.conf
uid nslcd
gid ldap
uri ldap://ldap.local.{company}.com/
base dc={company},dc=com
$
上記の構成です。 LDAPユーザーとVMの一般的な内部ユーザーを使用して、上記のOracle 8 Linux VMにSSHで接続できます。
特定のユーザーセットにのみ仮想マシンアクセスを制限したいですか?これを行うには、/etc/pam.d/sshdファイルに「auth require pam_listfile.so item=user sense=allow file=/etc/ldap.allowedusers」を追加し、/etc/ldap.allowedusers ldapuser1でのみ許可しました。職場では、リストにないLDAPユーザー(ldapuser2など)を使用して引き続きアクセスできます。
私がここで何が間違っていたのか...
$ sudo cat /etc/ldap.allowedusersでユーザーを追加/削除してサーバーを再起動するsudo systemctl restart sshdはまだ機能していません。特定のLDAPユーザーにのみアクセスを制限する方法はありません。内部ユーザーは、sudoタスクを実行するためにサーバーにアクセスし続けることに注意してください。