Если я это сделаю, это применимо ко всем пользователям.
ldapadd -v -H "ldaps://hostName/" -x -W -D cn=admin,dc=mydomain,dc=com -f pwdMaxAge.ldif
dn: cn=passwordDefault,ou=Policies,dc=mydomain,dc=com
changetype: modify
replace: pwdMaxAge
pwdMaxAge: 3000
Пытался использовать приведенный ниже ldif, чтобы установить pwdMaxAge для существующего пользователя:
ldapadd -v -H "ldaps://hostName/" -x -W -D cn=admin,dc=mydomain,dc=com -f pwdMaxAge_user.ldif
dn: cn=test2,ou=Users,dc=mydomain,dc=com
objectClass: device
objectClass: pwdPolicy
objectClass: top
pwdAttribute: userPassword
cn: test2
uid: test2
pwdMaxAge: 300
Это дает:
ldap_initialize( ldaps://hostName:636/??base )
add objectClass:
device
pwdPolicy
top
add pwdAttribute:
userPassword
add cn:
test2
add pwdMaxAge:
300
adding new entry "cn=test2,ou=Users,dc=mydomain,dc=com"
ldap_add: Object class violation (65)
additional info: attribute 'uid' not allowed
Он добавляет новый CN, если я удалю UID. но не помогает установить pwdMaxAge для пользователя. как мне правильно установить?
Редактировать: Начат создание индивидуальных политик: кот ppolicy_individual.ldif
dn: cn=fin_user,ou=Policies,dc=mydomain,dc=com
objectClass: device
objectClass: pwdPolicy
cn: fin_user
pwdAttribute: userPassword
pwdMaxAge: 300
pwdInHistory: 0
pwdMaxFailure: 0
pwdLockout: FALSE
pwdMinLength: 0
pwdSafeModify: FALSE
cat pwdPolicySubentry.ldif
dn: cn=test2,ou=Users,dc=mydomain,dc=com
changetype: modify
add: pwdPolicySubentry
pwdPolicySubentry: cn=fin_user,ou=Policies,dc=mydomain,dc=com
# ldapmodify -v -H "ldaps://hostName/" -x -W -D cn=admin,dc=mydomain,dc=com -f pwdPolicySubentry.ldif
ldap_initialize( ldaps://hostName:636/??base )
add pwdPolicySubentry:
cn=fin_user,ou=Policies,dc=mydomain,dc=com
modifying entry "uid=test2,ou=Users,dc=mydomain,dc=com"
modify complete
Но, похоже, это не имеет никакого значения.
Общая ошибка «Нарушение класса объекта, атрибут« имя_атрибута »не разрешен» означает, что вы пытаетесь установить атрибут, который не определен в классах объектов, доступных для этой записи.
Другими словами, вам сначала нужно добавить ObjectClass, который предоставляет атрибут, прежде чем вы сможете его установить. В uid
Атрибут предоставляется рядом различных классов объектов.
Из https://ldapwiki.com/wiki/Uid
uid
используется как ОБЯЗАТЕЛЬНО (обязательный атрибут при использовании этого класса объекта) в:
- posixAccount
- shadowAccount
- sambaSamAccount
- dicAppInfo
Используется МАЙ в:
- Человек
- организационное лицо
- inetOrgPerson
Но выбор и использование одного из этих классов объектов не только сделает uid
доступны, они обычно также требуют установки других атрибутов. Так что выбирайте с осторожностью
Когда вы изменяете свой ldif и пытаетесь, например, класс объекта posixAccount
dn: cn=test2,ou=Users,dc=mydomain,dc=com
objectClass: device
objectClass: pwdPolicy
objectClass: top
objectClass: PosixAccount
pwdAttribute: userPassword
cn: test2
uid: test2
pwdMaxAge: 300
И вам также нужно будет установить uidNumber
, gidNumber
и homeDirectory