perl sudo的问题
时间:2011-04-08
来源:互联网
perl 程序调试的过程中遇到了这样的问题:
运行环境是linux系统
web server 是apatche
执行perl写的cgi程序:
其中:
Perl code
但现在的执行结果,这个账户和目录并没有生成。
用户名和密码以及用户注册邮箱, 都保存到对应的文件中,那也就是说命令应该是执行了且没有错误。
请各位帮忙看看。
运行环境是linux系统
web server 是apatche
执行perl写的cgi程序:
其中:
Perl code
*HOME_BASE = \'/home/awards/public_html/upload/'; $su = Sudo->new( { sudo => '/usr/bin/sudo', sudo_args => '', username => 'root', password => 'apache', program => '/usr/sbin/adduser', program_args => "-d $HOME_BASE/$userid -s /sbin/nologin -p ".crypt($passwd,$salt)." $userid", }); $rst = $su->sudo_run(); if (exists($result->{error})) { die $result->{error}; } else { $year += 1900; $mon++; print BAK $self->{form}->{email1}."\t$userid\t$passwd\t$year-$mon-$day $hour:$min:$sec\n"; }本意,添加一个用户并创建一个同名的目录
但现在的执行结果,这个账户和目录并没有生成。
用户名和密码以及用户注册邮箱, 都保存到对应的文件中,那也就是说命令应该是执行了且没有错误。
请各位帮忙看看。
作者: henry0612 发布时间: 2011-04-08
抄代码你也没抄明白呀!
Perl code
Perl code
$rst = $su->sudo_run();#返回值$rst if (exists($result->{error}))#却使用$result来判断错误。
作者: fibbery 发布时间: 2011-04-08
晕,批评的对, 虽说不是我写的
我却得解决问题。
我却得解决问题。
作者: henry0612 发布时间: 2011-04-08
此处代码,已经修改如下:
*HOME_BASE = \'/home/awards/public_html/upload/';
$su = Sudo->new( {
sudo => '/usr/bin/sudo',
sudo_args => '',
username => 'root',
password => 'apache',
program => '/usr/sbin/adduser',
program_args => "-d $HOME_BASE/$userid -s /sbin/nologin -p ".crypt($passwd,$salt)." $userid",
});
#$rst = $su->sudo_run();
#$result = $su->sudo_run();
if (exists($result->{error}))
{
die $result->{error};
} else {
$year += 1900;
$mon++;
print BAK $self->{form}->{email1}."\t$userid\t$passwd\t$year-$mon-$day $hour:$min:$sec\n";
}
但执行的结果,还是一样。。
用户信息,写入了文件,
账户和目录却没有生成。
*HOME_BASE = \'/home/awards/public_html/upload/';
$su = Sudo->new( {
sudo => '/usr/bin/sudo',
sudo_args => '',
username => 'root',
password => 'apache',
program => '/usr/sbin/adduser',
program_args => "-d $HOME_BASE/$userid -s /sbin/nologin -p ".crypt($passwd,$salt)." $userid",
});
#$rst = $su->sudo_run();
#$result = $su->sudo_run();
if (exists($result->{error}))
{
die $result->{error};
} else {
$year += 1900;
$mon++;
print BAK $self->{form}->{email1}."\t$userid\t$passwd\t$year-$mon-$day $hour:$min:$sec\n";
}
但执行的结果,还是一样。。
用户信息,写入了文件,
账户和目录却没有生成。
作者: henry0612 发布时间: 2011-04-08
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28