pam_check_host_attr 无法正常工作

pam_check_host_attr 无法正常工作

免责声明:我是 ldap 的新手,所以希望我没有做任何重大错误!

目的:集中用户凭证并限制客户端登录到某些机器。

我在一台全新的 Ubuntu 14.04 服务器上使用以下命令设置了准系统 openLDAP 服务器。本质上,安装 LDAP 并进行架构更改以启用host用户的属性:

# Install ldap
apt-get install -y slapd ldap-utils ldapscripts

# Modify the schema so we can use the host attribute for users
grep -P '^include.+?\.schema' /usr/share/slapd/slapd.conf > ./schema_convert.conf
echo -e "include\t\t/etc/ldap/schema/ldapns.schema" >> ./schema_convert.conf

# Convert the schema into LDIF
mkdir -p ./ldif_output
index=$(slapcat -f ./schema_convert.conf -F ./ldif_output -n 0 | grep ldapns,cn=schema | sed -re 's/^\S+\s+//')
slapcat -f schema_convert.conf -F ldif_output -n0 -H \
  ldap:///${index} -l cn=ldapns.ldif

# Modify the file, ready for importing
sed -i -r \
  -e 's/^dn:.+$/dn: '${index/\{*\}/}'/' \
  -e 's/^cn:.+$/cn: ldapns/' \
  -e '/^(structuralObjectClass|entryUUID|creatorsName|createTimestamp|entryCSN|modifiersName|modifyTimestamp):/d' \
  cn=ldapns.ldif

# Add the schema to the slapd-config
ldapadd -Q -Y EXTERNAL -H ldapi:/// -f cn\=ldapns.ldif

我添加了几个组和用户。我的一个用户将host属性值设置为我的其中一台机器 ( thor)。

我已经thorvenus它们配置为通过我的 ldap 服务器进行身份验证 - 这样做有效。然后我修改了/etc/ldap.confthor因此venus取消了注释:

pam_check_host_attr yes

我曾希望当我尝试登录时venus不会允许我,因为用户仅在我的 ldap 服务器的属性thor中设置了。host

您能否提供有关如何限制用户只能登录到 1 个特定主机的见解?

答案1

事实证明,我必须/etc/nsswitch按照说明修改我的文件,/usr/share/doc/libpam-ldap/README.Debian其中说明:

如果您想使用“pam_check_host_attr”功能,请确保“pam_unix.so”不会通过名称服务开关 (NSS) 提供有效的“帐户”,这会覆盖您的 LDAP 配置。不要在 /etc/nsswitch.conf 中使用“ldap”作为“shadow”,只需使用“shadow: files”。

因此,当我将/etc/nsswitch文件从以下内容更改时:

passwd: files ldap
group: files ldap
shadow: files ldap

hosts:          files dns mdns4_minimal [NOTFOUND=return] 
networks:       files

protocols:      db files
services:       db files
ethers:         db files
rpc:            db files

netgroup: nis

到:

passwd: files ldap
group: files ldap
shadow: files

hosts:          files dns mdns4_minimal [NOTFOUND=return] 
networks:       files

protocols:      db files
services:       db files
ethers:         db files
rpc:            db files

netgroup: nis

并更新了 PAM:

pam-auth-update

基于主机的身份验证现在有效。

相关内容