へっぽこネットワークエンジニアのにっき

しあわせになりたい。

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Net::LDAPをつかってみる その4

今回はNet::LDAP::Extension::setPasswordを使ってパスワードの変更をしてみる。
Net::LDAP::Extension::setPasswordは別途CPANからインストールする

変更後のパスワードは第3引数に指定したパスワードに設定する

changepassword.pl

#! /usr/bin/env perl

use strict;
use warnings;
use Net::LDAP;
use Net::LDAP::Extension::SetPassword;

#
#LDAP Server Configuration
#
my $ldapserver ='localhost';
my $basedn ="ou=People,dc=hoge,dc=co,dc=jp";
my $ldap = Net::LDAP->new($ldapserver) or die "$@";

my ($uid,$password,$newpassword)=@ARGV;

my $binddn= "uid=$uid,"."$basedn";

my $result = $ldap->bind("$binddn",password =>"$password");
die "Password is invalid\n" if$result->code();

my $msg = $ldap->set_password( user=>"$binddn",oldpasswd =>"$password",newpasswd=>"$newpas
sword");

die "error: ".$msg->code(). ":".$msg->error() if ($msg->code());

print "changed your password \n";

$ldap->unbind;



./changepassword.pl [uid][現在のパスワード][新しいパスワード]


ログ

slapd[2256]: conn=1 fd=12 ACCEPT from IP=127.0.0.1:37537 (IP=0.0.0.0:389)
slapd[2256]: conn=1 op=0 BIND dn="uid=[uid],ou=People,dc=hoge,dc=co,dc=jp" method=128
slapd[2256]: conn=1 op=0 BIND dn="uid=[uid],ou=People,dc=hoge,dc=co,dc=jp" mech=SIMPLE ssf=0
slapd[2256]: conn=1 op=0 RESULT tag=97 err=0 text=
slapd[2256]: conn=1 op=1 PASSMOD id="uid=[uid],ou=People,dc=hoge,dc=co,dc=jp" old new
slapd[2256]: conn=1 op=1 RESULT oid= err=0 text=
slapd[2256]: conn=1 op=2 UNBIND
slapd[2256]: conn=1 fd=12 closed



ちなみに、デフォルト設定では入力したパスワードはSSHAで暗号(ハッシュ)化されます。
スポンサーサイト

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバックURLはこちら
http://heppokone.blog27.fc2.com/tb.php/450-5220672d
この記事にトラックバックする(FC2ブログユーザー)

FC2Ad

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。