OpenLDAP: атрибут pwdChangedTime не создается после изменения пароля?

то, что Вы действительно спрашиваете, "один фактор лучше, чем другой", темой является многофакторная аутентификация, и действительно Вам было бы целесообразно изучить тему.

Обычно "фактор" - что-то, что Вы знаете (пароль), что-то, что Вы имеете (ssh файл или ключевая магнитная карта), или что-то, что Вы (цифровой отпечаток).

Каждый не лучше, чем другой по сути, они являются дополнительными. Потеря CD с файлом ключей настолько же плохо как обнародует Ваш пароль, если это - все, чего Вы требуете. Для безопасных сред двухфакторная аутентификация распространена.

1
задан 30 January 2013 в 05:16
1 ответ

На самом деле атрибут pwdChangedTime уже создан, но поскольку он является операционным атрибутом , по умолчанию он не возвращается. Вы должны выполнить ldapsearch с таким именем:

$ ldapsearch -x -D "cn=Manager,dc=domain,dc=com" -W "cn=noreply"
pwdChangedTime
Enter LDAP Password:
# extended LDIF
#
# LDAPv3
# base <> with scope subtree
# filter: cn=noreply
# requesting: pwdChangedTime
#

# noreply, it, domain.com
dn: cn=noreply,ou=it,dc=domain,dc=com
pwdChangedTime: 20130128154849Z

или добавить плюс ( + ) к ldapsearch :

# ldapsearch -x -D "cn=Manager,dc=domain,dc=com" -y .passwd.cnf "cn=noreply" +
# extended LDIF
#
# LDAPv3
# base <> with scope subtree
# filter: cn=noreply
# requesting: + 
#

# noreply, it, domain.com
dn: cn=noreply,ou=it,dc=domain,dc=com
structuralObjectClass: inetOrgPerson
entryUUID: 047e7ce6-3b99-1031-83cb-afef2344189c
creatorsName: cn=Manager,dc=domain,dc=com
createTimestamp: 20120526161012Z
pwdChangedTime: 20130129032710Z
entryCSN: 20130129032710Z#00003a#00#000000
modifiersName: cn=Manager,dc=domain,dc=com
modifyTimestamp: 20130129032710Z
entryDN: cn=noreply,ou=it,dc=domain,dc=com
subschemaSubentry: cn=Subschema
hasSubordinates: FALSE

Чтобы добавить этот атрибут в все пользователи, созданные ранее реализуя наложение политики паролей, вы можете просто обновить userPassword с тем же значением:

ldapsearch -x -D cn=Manager,dc=domain,dc=com -W -y .passwd.txt -L
"(&(objectclass=person)(!(pwdChangedTime=*)))" userPassword
     | sed '/dn: /a\changetype: modify\nreplace: userPassword'
         | ldapmodify -x -D cn=Manager,dc=domain,dc=com -y .passwd.txt -W
6
ответ дан 3 December 2019 в 16:48

Теги

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