-----------编辑代码到当前状态-------------------------
#Takes input for name which will be used for search criterion
zid = input("ZID: ")
zid = str(zid).lower()
print(zid)
#Binds session to the server and opens a connection
try:
server = ldap3.Server('ldap://<IP_Address>', get_info=all)
conn = ldap3.Connection(server, '%s@something.com' %zid, password = "<something>", auto_bind=True)
print("Successfully bound to server.\n")
except:
print("Unsucessful initialization of <IP_Address>")
try:
server = ldap3.Server('ldap://<IP_Address>', get_info=all)
conn = ldap3.Connection(server, '%s@something.com' %zid, password = "<something>", auto_bind=True)
print("Successfully bound to server.\n")
except:
print("Unsucessful initialization of <IP_Address>")
try:
server = ldap3.Server('ldap://<IP_Address>', get_info=all)
conn = ldap3.Connection(server, '%s@something.com', password = "<something>", auto_bind=True) %zid
print("Successfully bound to server.\n")
except:
print("Unsucessful initialization of <IP_Address>")
sys.exit(0)
#Searches and prints LDAP entries
try:
base_dn = 'DC=<something>,DC=<something>,DC=<something>,DC=<something>,DC=com'
zid_filter = '(sAMAccountName=%s)' %zid
conn.search(base_dn, zid_filter, attributes=['mail'])
#i.e. "DN: CN=<First Last>,OU=<something>, DC= <something>
user_dn = str(conn.entries)
#i.e. "CN=<First Last>"
front = user_dn.find('C')
back = user_dn.find(',')
user_cn = user_dn[front:back]
#i.e. "<First Last>"
display_name = user_cn[3:]
#i.e. "first.last@<something>.com"
raw_email = str(conn.entries)
front = raw_email.find('mail: ')
back = raw_email.find('@<something>.com')
user_email = raw_email[front + 6:back] + '@<something>.com'
except:
print("Could not search entries")
#Generates random 12 digit alpha-numeric password
try:
new_password = ''.join(random.SystemRandom().choice(string.ascii_letters + string.digits) for _ in range(12))
print(new_password)
print("New password successfully generated")
except:
print("New password could not be generated")
#Set and replace AD Password
try:
conn.extend.microsoft.modify_password(user_dn, None, new_password)
print ("Active Directory password was set successfully!")
except:
print('Error setting AD password')
sys.exit(0)
在这整个过程中,对于如何获取/设置用户密码并为安全目的对密码进行散列,有什么建议吗?对于电子邮件,我想我可以强制它使用HTTPS,这就足够了,但是我希望保护到传递new_password的服务器的连接。
ldap3包含一个更改AD密码的特定方法,只需在您生成新密码后添加以下内容即可:
dn=conn.entries[0].entry_get_dn()#假设返回一个条目conn.extend.microsoft.modify_password(dn,None,new_password)
这应该正确地编码密码并将其存储在AD中。
问题内容: 我正在使用JNDI更改LDAP用户的密码。在大多数情况下(当用户密码未过期时),此代码可以正常工作: 但是,当密码过期的用户尝试更改它时,我的应用程序将抛出: 所以我的问题是:是否可以更改LDAP过期密码?如果可能,请告诉如何。 感谢您的帮助! 问题答案: 通过在Ad中创建超级用户可以解决此问题,该用户有权更改每个AD密码。当AD用户密码到期时,超级用户将更改其密码。
本文向大家介绍更改Mysql root用户密码,包括了更改Mysql root用户密码的使用技巧和注意事项,需要的朋友参考一下 新下载了mysql,口令为空,如何修改root口令: 首先登陆mysql 注意需要 flush privileges; 更改Mysql root用户口令的内容小编就给大家介绍到这里,希望对大家有所帮助!
如何更改PostgreSQL用户的密码?
问题内容: 我正在编写一个简单的脚本,该脚本可以重新启动hadoop从属服务器。在脚本中,我必须以root用户身份进行一些初始更改。之后,我必须更改为用户“ hadoop”并执行命令集。我使用os.system运行命令,但是我怀疑它是否运行良好。例如: 再一次,我必须以root用户身份执行一些命令,然后再次成为用户“ hadoop”并执行: 我在这里有三个问题, os.system是我可以用来发出
我在使用behave(python)自动化验收测试时,遇到了编写更改密码场景的测试的问题。 这是我在中的步骤
如何更改PostgreSQL用户的密码?