Difference between revisions of "Lpasswd.pl"
Jump to navigation
Jump to search
(No difference)
|
Latest revision as of 13:40, 16 August 2007
This changes the password for an LDAP user. More could be done with it to set it to something random, but this does well for now.
#!/usr/bin/perl # use Net::LDAP; use Net::LDAP::Util; $userName = $ARGV[0]; $newPassword = $ARGV[1]; print "Updating " . $userName . "\n"; $ldapServer = "ldap.ufhpc"; $rdn = "cn=slapman"; $base = "dc=hpc,dc=ufl,dc=edu"; $bindPasswd = ''; $searchBase = "ou=People," . $base; $dn = "uid=" . $userName . "," . $searchBase; $BindDn = $rdn . "," . $base; $ldap = Net::LDAP->new( $ldapServer ); $bindDc = $rdn . "," . $base; $mesg = $ldap->bind( $BindDn, password => $bindPasswd, version => 3); if ( $mesg->is_error() ) { print "Error: bind failed.\n"; exit; } $shadowLastChange = int(time / 86400); $shadowExpire = $shadowLastChange + 180; $result = $ldap->modify($dn, replace => { "userPassword" => $newPassword, "shadowLastChange" => $shadowLastChange });