LINUX.ORG.RU

[посоветуй-тред][python] библиотека для Active Directory

 ,


0

1

Приветствую, кто сможет подсказать где раскопать питоновскую библиотеку для управления Active Directory. От либы много не требуется - создавать/менять пользователя, выставлять ему всякие домашние папки/сетевые диски. Желательно, чтобы это всё можно было запустить на удалённом хосте с линуксами, но и локально тоже подойдёт. Буду весьма благодарен за подсказку.


Ответ на: комментарий от anonymous

Это я смотрел мельком. Там кроме просмотра АД ничего не увидел. Плохо смотрел? А для python-ldap быстро не нашёл how-to под мод мою задачу. Времени глубоко вникать во все эти Active Directory нету.

deboon
() автор топика

> Желательно, чтобы это всё можно было запустить на удалённом хосте с линуксами, но и локально тоже подойдёт.

Есть штатные мощные инструменты на перле. Перл-то везде есть наверняка.

Lumi ★★★★★
()
Ответ на: комментарий от Lumi

С этим всем не так быстро разобраться, на сколько я понял. У меня-то задача на пару десятков строк кода. Хотел по правильному решить задачу. Но сильно затратно будет во всём этом разобраться. Вот были бы примеры для этих библиотек конкретно для Active Directory - было бы красиво. И не просто вывести список всех пользователей, а смена/установка пароля, устнова директории профиля и т.д. Видимо, так и придётся использовать этот VBScript.

deboon
() автор топика
Ответ на: комментарий от deboon

Оттуда же
http://www.packtpub.com/article/python-ldap-applications-ldap-opearations

Changing an LDAP Password

The next batch of LDAP operations we will examine are those that change the directory information tree – writing operations. We will start with a very simple one, and then move on to the more complex operations.

As we have seen already, the Python-LDAP library has a rich API. It implements a handful of LDAP extensions, such as the LDAP Who Am I Extended Operation. One such operation is the Password Modify Extended Operation (RFC 3062).

Since the Python-LDAP API includes support for the Password Modify Extended Operation, no special encryption and encoding need be done on the client. Changing a password can be done in one call, using either the passwd() method or the passwd_s() method of the LDAPObject class.

import ldap

dn = 'uid=manny,ou=users,dc=example,dc=com'


l = ldap.initialize('ldap://localhost')


l.simple_bind_s( dn, 'secret' )


(97, [])

l.passwd_s( dn, 'secret', 'super_secret' )

(120, [])



The passwd_s() method (and its asynchronous counterpart, passwd()) takes three arguments:

The DN of the record to change.
The old password
The new password
If the change is successful, it returns a tuple with the status code (ldap.RES_EXTENDED, which is the integer 120), and an empty list.

If an error occurs, an exception will be raised. If, for example, the value of the old password is wrong, the server will raise an UNWILLING_TO_PERFORM exception.

The asynchronous passwd() method takes the same arguments, but returns, as would be expected, a result ID code. The results returned by the result() method are the same: a tuple with RES_EXTENDED as the first item, and an empty list ([]) as the second item.

In our next article we will some more operations and LDAP URL Library.

Вроде бы не так сложно?

Lumi ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.