在OSX上的以下命令将更改打开目录(Apple的LDAP)密码。 $是提示符:
$ dscl -u diradmin -P 'password' /LDAPv3/127.0.0.1 passwd /Users/username newpassword
我很想把它变成一种交互式的shell脚本(我们称之为“odpasswd”),它首先提示pipe理员为他们想要更改密码的用户名,然后input密码,如下所示:
$ odpasswd $ Username you'd like to change passwords for? johnd $ New Password? secretpassword $ Done! Password changed successfully for username 'johnd' to 'secretpassword'
我不是足够的shell脚本专家知道如何把它变成这样的东西。
你的帮助总是非常感谢! 谢谢!
你可以为-P“$ password”定义variables。 还请阅读bash中的“读取”function。
$ dscl -u diradmin -P'password'/LDAPv3/127.0.0.1 passwd / Users / username newpassword
这是一个未经testing的脚本,但你可以弄明白。
#!/bin/bash read -p "For which user to change the password? " username read -s "Enter the old password for $username " oldpassword read -s "Enter the new password for $username " newpassword dscl -u diradmin -P "$oldpassword" /LDAPv3/127.0.0.1 passwd /Users/"$username" "$newpassword"