用户账户管理系统的实现与优化
1. Expect.pm 模块与 Unix 密码设置
在用户账户管理中,Expect.pm 模块是一个强大的工具。它基于 Austin Schutz 设置的伪终端(pty),允许在其中运行其他程序。该模块深受 Don Libes 的著名 Tcl 程序 Expect 的影响,属于双向程序交互模块家族。
以下是一个使用 Expect.pm 模块设置 Unix 密码的示例代码:
use Expect;
sub InitUnixPasswd {
my ($account,$passwd) = @_;
# return a process object
my $pobj = Expect->spawn($passwdex, $account);
die "Unable to spawn $passwdex:$!\n" unless (defined $pobj);
# do not log to stdout (i.e. be silent)
$pobj->log_stdout(0);
# wait for password & password re−enter prompts,
# answering appropriately
$pobj->expect(10,"New password: ");
# Linux sometimes prompts before it is ready for input, so we pause
sleep 1;
print $pobj "
超级会员免费看
订阅专栏 解锁全文

3298

被折叠的 条评论
为什么被折叠?



