Назад | Перейти на главную страницу

Как разрешить пользователю удалить атрибут pwdAccountLockedTime, не будучи администратором в ApacheDS?

Я, вероятно, ошибаюсь, но я не нашел никакой документации уровня «Смотри, глупо, сделай это ...».

У меня есть следующий prescriptiveAcl в

{
    identificationTag "adminPrivileges",
    precedence 0,
    authenticationLevel simple,
    itemOrUserFirst userFirst: 
    {
        userClasses { allUsers },
        userPermissions 
        {
            {
                protectedItems 
                {
                    entry,
                    allUserAttributeTypesAndValues,
                    allAttributeValues { pwdAccountLockedTime } 
                }
                ,
                grantsAndDenials 
                {
                    grantAdd,
                    grantFilterMatch,
                    grantBrowse,
                    grantRemove,
                    grantReturnDN,
                    grantRename,
                    grantCompare,
                    grantRead,
                    grantModify 
                }
            }
        }
    }
}

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

Попытка удалить поле pwdAccountLockedTime из учетной записи другого пользователя приводит к следующей ошибке:

Ошибка при выполнении LDIF - [LDAP: код ошибки 50 - INSUFFICIENT_ACCESS_RIGHTS: сбой для MessageType: MODIFY_REQUES java.lang.Exception: [LDAP: код ошибки 50 - INSUFFICIENT_ACCESS_RIGHTS: сбой для MessageType: MODIFY_REQUEST ID объекта сообщения: 18 Идентификатор запроса сообщения: lorin, ou = people, dc = example, dc = com 'Модификация [0] Операция: удалить Модификацию pwdAccountLockedTime: (null) org.apache.directory.api.ldap.model.message.ModifyRequestImpl@b070850: ERR_30 Тип атрибута (1.3 .6.1.4.1.42.2.27.8.1.17 NAME 'pwdAccountLockedTime' DESC 'Время блокировки учетной записи пользователя' EQUALITY generalizedTimeMatch ORDERING generalizedTimeOrderingMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.24 SINGLE-VALUEOperation NO-USER-MODIFICATION ) операционный атрибут не может быть изменен пользователем] в org.apache.directory.studio.connection.core.io.api.DirectoryApiConnectionWrapper.checkResponse (DirectoryApiConnectionWrapper.java:1280) в org.apache.directory.studio.connection.core. io.api.Direct oryApiConnectionWrapper.access $ 600 (DirectoryApiConnectionWrapper.java:109) по адресу org.apache.directory.studio.connection.core.io.api.DirectoryApiConnectionWrapper $ 4.run (DirectoryApiConnectionWrapper.java:726) в org.apache..directory. core.io.api.DirectoryApiConnectionWrapper.runAndMonitor (DirectoryApiConnectionWrapper.java:1175) в org.apache.directory.studio.connection.core.io.api.DirectoryApiConnectionWrapper.checkConnectionAndRunAndMonitor (.DirectoryWrapper. studio.connection.core.io.api.DirectoryApiConnectionWrapper.modifyEntry (DirectoryApiConnectionWrapper.java:748) в org.apache.directory.studio.ldapbrowser.core.jobs.ImportLdifRunnable.importLdifRecord (ImportLdifRunnable.importLdifRecord (ImportLdifRunnable.importLdifRecord) (ImportLdifRunnable). directory.studio.ldapbrowser.core.jobs.ImportLdifRunnable.importLdif (ImportLdifRunnable.java:272) в org.apache.directory.studio.ldapbrowser.core.jobs.ExecuteLdifRunnable.executeLdif (ExecuteLdif). ужасный ctory.studio.ldapbrowser.core.jobs.ExecuteLdifRunnable.run (ExecuteLdifRunnable.java:123) в org.apache.directory.studio.ldapbrowser.core.jobs.UpdateEntryRunnable.run (UpdateEntryRunnable.или directory.studio.connection.ui.RunnableContextRunner $ 1.run (RunnableContextRunner.java:112) в org.eclipse.jface.operation.ModalContext $ ModalContextThread.run (ModalContext.java:122)

[LDAP: код ошибки 50 - INSUFFICIENT_ACCESS_RIGHTS: сбой для MessageType: MODIFY_REQUEST Идентификатор сообщения: 18 Изменить объект запроса: 'uid = lorin, ou = people, dc = example, dc = com' Изменение [0] Операция: удалить изменение pwdAccountLockedTime: ( null) org.apache.directory.api.ldap.model.message.ModifyRequestImpl@b070850: ERR_30 Тип атрибута (1.3.6.1.4.1.42.2.27.8.1.17 ИМЯ 'pwdAccountLockedTime' DESC 'Время блокировки учетной записи пользователя' EQUALITY generalizedTimeMatch ORDERING generalizedTimeOrderingMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.24 SINGLE-VALUE NO-USER-MODIFICATION USAGE directoryOperation) операционный атрибут не может быть изменен пользователем]

Я бы предпочел, чтобы они могли иметь пароли администратора только для этого устройства, а не для всей системы (например, создание системного администратора)

???

Использование STS с плагином Apache LDAP: