pam_check_host_attr, не работающий правильно

Отказ от ответственности: Я плохо знаком с ldap, так надо надеяться, я ничего не сделал абсолютно неправильно!

Цель: централизовать удостоверения пользователя и ограничить клиентский вход в систему определенных машин.

У меня есть скелеты openLDAP установка сервера на новом сервере Ubuntu 14.04 при помощи следующего. По существу установите 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).

На thor и venus Я настроил их для аутентификации против моего ldap сервера - это работает. Я затем изменил /etc/ldap.conf на thor и venus таким образом, это не прокомментировано:

pam_check_host_attr yes

Я надеялся это, когда я пытаюсь войти в venus Мне не разрешили бы, так как пользователь только имеет thor набор host атрибут моего ldap сервера.

Можно ли обеспечить какое-либо понимание того, как ограничить пользователя входом только в 1 определенный хост?

0
задан 6 January 2015 в 09:35
1 ответ

Оказывается, мне пришлось изменить свой файл / etc / nsswitch в соответствии с инструкциями в / usr / share / doc / libpam-ldap / README .Debian , в котором говорится:

Если вы хотите использовать функцию «pam_check_host_attr», убедитесь, что «pam_unix.so» не предоставляет действительную «учетную запись» через службу имен Переключатель (NSS), который отменяет вашу конфигурацию LDAP. Не использовать «ldap» вместо «shadow» в /etc/nsswitch.conf, просто используйте «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

Теперь работает аутентификация на основе хоста.

1
ответ дан 4 December 2019 в 17:05

Теги

Похожие вопросы