1. В общем работает ldapmodify -Y EXTERNAL -H ldapi:///
2. получается заменили мы строку из оригинального
olcAccess: to attrs=sambaNTPassword,sambaLMPassword,sambaPwdMustChange,sambaPwdLastSet,userPassword by dn="cn=admin,dc=example,dc=com" write by anonymous auth by self write by * none
Вопрос в том стоило ли оставлять старый вариант?
О последствиях нового результата расскажу как узнаю =)
3. не работает ldapmodify -Y EXTERNAL -H ldapi:/// -f filename, когда вместо строк с "минусом" вставляем пустые - он обрабатывает только первый абзац...
2. А вот заменять оригинальную строку наверное не стоило
лучше вместо
replace: olcAccess
olcAccess: to attrs=userPassword,shadowLastChange,krbPrincipalKey by dn="cn=admin,dc=example,dc=com" write by anonymous auth by self write by * none
поставить
add: olcAccess
olcAccess: to attrs=shadowLastChange,krbPrincipalKey by dn="cn=admin,dc=example,dc=com" write by anonymous auth by self write by * none
т.е. добавить новый ACL для параметров схемы kerberos, в данном случае я удалил userPassword, т.к. на него уже установлен ACL, и если на shadowLastChange тоже установлен ACL его тоже надо удалить
add: olcAccess
olcAccess: to attrs=krbPrincipalKey by dn="cn=admin,dc=example,dc=com" write by anonymous auth by self write by * none
3. естественно оно так работать не будет, чтоб добавить тоже самое через ldapmodify -Y EXTERNAL -H ldapi:/// -f filename файл должен иметь вид
dn: olcDatabase={1}hdb,cn=config
changetype: modify
add: olcDbIndex
olcDbIndex: krbPrincipalName eq,pres,sub
add: olcAccess
olcAccess: to attrs=shadowLastChange,krbPrincipalKey by dn="cn=admin,dc=example,dc=com" write by anonymous auth by self write by * none
olcAccess: to * by dn="cn=admin,dc=example,dc=com" write by * read
olcAccess: to dn.base="" by * read
не исключено что в синтаксисе есть ошибка, я не проверял, но приблизительно так