Срок действия пароля

Костюков Владимир

Команда форума
Админ
Регистрация
04.03.23
Сообщения
487
Реакции
73
1. Создать питоновский файл и добавить в него:
Python:
from ldap3 import Server, Connection, ALL, MODIFY_REPLACE

# Параметры подключения к LDAP/FREEIPA
FREEIPA_SERVER = 'dc.rnc.ald'
DOMAIN_BASE_DN = 'dc=rnc,dc=ald'
BIND_USER = 'uid=admin,cn=users,cn=accounts,' + DOMAIN_BASE_DN
BIND_PASSWORD = 'fTAsjb8Re'

# Указываем дату истечения срока действия пароля напрямую
expiration_date_str = "202909151435Z"

# Список исключаемых пользователей (например, администраторов)
EXCLUDED_USERS = ['admin', 'root', 'service']

# Создаем LDAP-фильтр для поиска пользователей
search_filter = f'(&(objectClass=person){"".join([f"(!(uid={user}))" for user in EXCLUDED_USERS])})'

# Подключаемся к LDAP-серверу
server = Server(FREEIPA_SERVER, use_ssl=True, get_info=ALL)
connection = Connection(server, user=BIND_USER, password=BIND_PASSWORD, raise_exceptions=True)

try:
    # Авторизуемся в LDAP
    connection.bind()
    print("Успешно подключились к LDAP-серверу.")

    # Ищем всех пользователей, удовлетворяющих условиям фильтра
    connection.search(DOMAIN_BASE_DN, search_filter, attributes=['uid'])

    # Обновляем срок действия пароля для каждого пользователя
    for entry in connection.entries:
        uid = entry.uid.value
        user_dn = f"uid={uid},cn=users,cn=accounts,{DOMAIN_BASE_DN}"
        mod_attrs = {'krbPasswordExpiration': [(MODIFY_REPLACE, expiration_date_str)]}
        connection.modify(user_dn, mod_attrs)
        if connection.result['result'] == 0:
            print(f"Срок действия пароля для пользователя {uid} успешно обновлён.")
        else:
            print(f"Ошибка при обновлении срока действия пароля для пользователя {uid}: {connection.result['message']}")

finally:
    # Завершаем сеанс связи с LDAP
    connection.unbind()
    print("Отключение от LDAP-сервера выполнено.")
2. Установить пакет sudo pip3 install ldap3
3. Запустить с помощью команды /opt/rbta/venvs/aldpro-common/bin/python3 /root/1.py > password (Путь к файлу меняем на свой )
 
Назад
Сверху Снизу