#!/usr/bin/perl
use IPC::Run;
MENU:{
print "\033[2J";
print "\033[0;0H";
chomp($who=`whoami`);
chomp($date=`date +%D`);
print "\n 系統資訊課制作\n";
print "\n\n不要想搗亂我知道你是:$who 今天:$date 天氣:daowaimiankan\n";
print "\n";
print "*" x 70,"\n";
print "\n <1>.單個帳號新增 <2>.批量帳號新增\n";
print "\n <3>.刪除帳號 <4>.密碼初始化\n";
print "\n <0>.退出\n\n";
print "*" x 70,"\n";
print "請作選擇:";
AGAIN:{chomp($i=);
if ($i==1)
{&singadd}
elsif($i==2)
{&batchadd}
elsif($i==3){
&deleteuser}
elsif($i==4){
&initpasswd}
elsif($i==0){
exit;}
else
{print "眼睛睜大點有$i嗎?(* *)\n";
redo AGAIN;}
}
}
sub singadd {
print "\033[2J";
print "\033[0;0H";
chomp($who=`whoami`);
chomp($date=`date +%D`);
print "\n 系統資訊課制作\n";
print "\n\n不要想搗亂我知道你是:$who 今天:$date 天氣:daowaimiankan\n";
print "\n";
print "*" x 70,"\n";
print "\n <1>.添加Linux帳號 <2>.添加Linux帳號及TIPTOP系統帳號 \n";
print "\n <3>.返回主界面 <0>.直接退出\n\n";
print "*" x 70,"\n";
print "請作選擇:";
AGAIN:{chomp($i=);
if ($i==1)
{&singadd1}
elsif($i==2)
{&singadd2}
elsif($i==3){
goto MENU}
elsif($i==0){
exit;}
else
{print "眼睛睜大點有$i嗎?(* *)\n";
redo AGAIN;}
}
}
sub singadd1{
print "\n請輸入員工工號:";
chomp($employeeid=);
my $line=`awk -F : '{ print \$1 }' /etc/passwd\|grep -w $employeeid`;
chomp($line);
print $line,"\n";
print $employeeid,"\n";
if ($line eq $employeeid) {
sleep 1;
print "\n :( :( \n";
print " 此帳號已經存在!\n";
sleep 3;
&singadd
}else{
my $cmd="adduser -d /home/tiptop -s /bin/sh -g tiptop $employeeid";
`$cmd`;
my $mesg=`echo $employeeid|/usr/bin/passwd --stdin $employeeid`;
print $mesg;
sleep 5;
&singadd
}
}
sub singadd2{
print "\n請輸入員工工號:";
chomp(my $employeeid=);
print "\n請輸入員工姓名:";
chomp(my $name=);
print "\n請輸入人員部門:";
chomp(my $dept=);
print "\n請輸入人員權限別:";
chomp(my $privs=);
my $line=`awk -F : '{ print \$1 }' /etc/passwd\|grep -w $employeeid`;
if ( $line==$employeeid ) {
sleep 1;
print "\n :( :( \n";
print " 此帳號已經存在!\n";
sleep 3;
&singadd
}else{
my $mesglinux=`/usr/sbin/adduser -d /home/tiptop -s /bin/sh -g tiptop $employeeid`;
print $mesglinux;
sleep 1;
my $mesg=`echo $employeeid|/usr/bin/passwd --stdin $employeeid`;
print $mesg;
sleep 5;
my $insert="insert into zx_file(zx01,zx02,zx03,zx04,zx06,zx07,zx08,zxuser) values (\'$employeeid\',\'$name'\,\'$dept'\,\'$privs'\,0,'Y','ipeg',\'$who\')";
open(INSERT ,">/shell/insert.sql")||die print "Can't open newfile $!\n";
syswrite(INSERT,$insert);
close(INSERT);
sleep 5;
my $insert_mesg=`dbaccess ipeg /shell/insert.sql ` ;
print $insert_mesg,"\n";
}
}
sub batchadd{
print "還沒有實現\n";
sleep 5;
exit;
}
sub deleteuser{
print "\t請輸輸入刪除人員工號:";
chomp($employeeid=);
my $delmesg=`userdel $employeeid`;
sleep 5;
goto MENU;
}
sub initpasswd{
print "\t請輸輸入刪除人員工號:";
chomp($employeeid=);
my $initmesg=`echo $employeeid|/usr/bin/passwd --stdin $employeeid`;
sleep 5;
goto MENU;
}
剛學PERL,有不妥或者可以優化之處請各位路過大俠指點。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/16381228/viewspace-714071/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/16381228/viewspace-714071/