perl脚本之------向/etc/aliases邮件组添加删除用户
来源:互联网 发布:免费php分类信息系统 编辑:程序博客网 时间:2024/06/05 16:42
下面三脚本是向/etc/aliases中已建立的邮件组中添加或删除用户之用
1,向邮件组中添加用户:
CODE:
2,从邮件组中删除指定用户,并从系统中删除指定用户
CODE:
3,从指定邮件组中删除指定用户,但是不从系统中删除用户
CODE:
1,向邮件组中添加用户:
CODE:
#!/usr/bin/perl -w
#name:aliases-add-user.pl
#
use strict;
my $id=shift;
my $group=shift;
my $dir="/etc";
my $file="aliases";
my $all="all";
my @groups=split(/,/,$group);
my $group_tmp=join(" ",@groups);
push @groups,$all if($group_tmp !~ $all);
my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst)=localtime(time);
$mon=$mon+1;
$mon='0'.$mon if($mon<10);
$year=$year+1900;
$mday='0'.$mday if($mday<10);
my $ext=$year.$mon.$mday;
if(-f "$dir//$file/.$ext"){
system("rm -f $dir//$file/.$ext");
system("mv $dir//$file $dir//$file/.$ext");
}else{
system("mv $dir//$file $dir//$file/.$ext");
}
my $bak_file="$file/.$ext";
open(FILE,"$dir//$bak_file") or die "connot open $!";
my @aliases=<FILE>;
foreach my $line(@groups){
for(my $i=0;$i<@aliases;$i++){
if($aliases[$i]=~/^$line:/){
chomp($aliases[$i]);
$aliases[$i]="$aliases[$i]".",$id"."/n" ;
}
}
}
foreach my $str(@aliases){
open FH,">>$dir//$file" or die $!."/n";
print FH $str;
close(FH);
}
close(FILE);
system("/usr/bin/newaliases");
#name:aliases-add-user.pl
#
use strict;
my $id=shift;
my $group=shift;
my $dir="/etc";
my $file="aliases";
my $all="all";
my @groups=split(/,/,$group);
my $group_tmp=join(" ",@groups);
push @groups,$all if($group_tmp !~ $all);
my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst)=localtime(time);
$mon=$mon+1;
$mon='0'.$mon if($mon<10);
$year=$year+1900;
$mday='0'.$mday if($mday<10);
my $ext=$year.$mon.$mday;
if(-f "$dir//$file/.$ext"){
system("rm -f $dir//$file/.$ext");
system("mv $dir//$file $dir//$file/.$ext");
}else{
system("mv $dir//$file $dir//$file/.$ext");
}
my $bak_file="$file/.$ext";
open(FILE,"$dir//$bak_file") or die "connot open $!";
my @aliases=<FILE>;
foreach my $line(@groups){
for(my $i=0;$i<@aliases;$i++){
if($aliases[$i]=~/^$line:/){
chomp($aliases[$i]);
$aliases[$i]="$aliases[$i]".",$id"."/n" ;
}
}
}
foreach my $str(@aliases){
open FH,">>$dir//$file" or die $!."/n";
print FH $str;
close(FH);
}
close(FILE);
system("/usr/bin/newaliases");
CODE:
#!/usr/bin/perl -w
#name:aliases-del-user.pl
use strict;
my $id=shift;
my $dir="/etc";
my $file="aliases";
exit if($id eq "root");
my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst)=localtime(time);
$mon=$mon+1;
$mon='0'.$mon if($mon<10);
$year=$year+1900;
$mday='0'.$mday if($mday<10);
my $ext=$year.$mon.$mday;
system("/usr/sbin/userdel $id");
if(-f "$dir//$file/.$ext"){
system("rm -f $dir//$file/.$ext");
system("mv $dir//$file $dir//$file/.$ext");
}else{
system("mv $dir//$file $dir//$file/.$ext");
}
my $bak_file="$file/.$ext";
open(FILE,"$dir//$bak_file") or die "$!/n";
my @aliases=<FILE>;
foreach my $line(@aliases){
if($line=~//b$id/b/){
$line=~ s//b$id/b//g;
}
if($line =~ //w,+/w/){
$line=~s/,+/,/g;
}
if($line =~ /,$/){
$line=~s/,+$//;
}
}
foreach my $str(@aliases){
open FH,">>$dir//$file" or die $!."/n";
print FH $str;
close(FH);
}
close(FILE);
system("/usr/bin/newaliases");
#name:aliases-del-user.pl
use strict;
my $id=shift;
my $dir="/etc";
my $file="aliases";
exit if($id eq "root");
my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst)=localtime(time);
$mon=$mon+1;
$mon='0'.$mon if($mon<10);
$year=$year+1900;
$mday='0'.$mday if($mday<10);
my $ext=$year.$mon.$mday;
system("/usr/sbin/userdel $id");
if(-f "$dir//$file/.$ext"){
system("rm -f $dir//$file/.$ext");
system("mv $dir//$file $dir//$file/.$ext");
}else{
system("mv $dir//$file $dir//$file/.$ext");
}
my $bak_file="$file/.$ext";
open(FILE,"$dir//$bak_file") or die "$!/n";
my @aliases=<FILE>;
foreach my $line(@aliases){
if($line=~//b$id/b/){
$line=~ s//b$id/b//g;
}
if($line =~ //w,+/w/){
$line=~s/,+/,/g;
}
if($line =~ /,$/){
$line=~s/,+$//;
}
}
foreach my $str(@aliases){
open FH,">>$dir//$file" or die $!."/n";
print FH $str;
close(FH);
}
close(FILE);
system("/usr/bin/newaliases");
3,从指定邮件组中删除指定用户,但是不从系统中删除用户
CODE:
#!/usr/bin/perl -w
#name:aliases-del-fromgroup.pl
use strict;
my $id=shift;
my $group=shift;
my $dir="/etc";
my $file="aliases";
exit if($id eq "root");
my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst)=localtime(time);
$mon=$mon+1;
$mon='0'.$mon if($mon<10);
$year=$year+1900;
$mday='0'.$mday if($mday<10);
my $ext=$year.$mon.$mday;
if(-f "$dir//$file/.$ext"){
system("rm -f $dir//$file/.$ext");
system("mv $dir//$file $dir//$file/.$ext");
}else{
system("mv $dir//$file $dir//$file/.$ext");
}
my $bak_file="$file/.$ext";
open(FILE,"$dir//$bak_file") or die "$!/n";
my @aliases=<FILE>;
foreach my $line(@aliases){
if($line=~/^$group:/){
$line=~ s//b$id/b//g;
}
if($line =~ //w,+/w/){
$line=~s/,+/,/g;
}
if($line =~ /,$/){
$line=~s/,+$//;
}
}
foreach my $str(@aliases){
open FH,">>$dir//$file" or die $!."/n";
print FH $str;
close(FH);
}
close(FILE);
system("/usr/bin/newaliases");
#name:aliases-del-fromgroup.pl
use strict;
my $id=shift;
my $group=shift;
my $dir="/etc";
my $file="aliases";
exit if($id eq "root");
my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst)=localtime(time);
$mon=$mon+1;
$mon='0'.$mon if($mon<10);
$year=$year+1900;
$mday='0'.$mday if($mday<10);
my $ext=$year.$mon.$mday;
if(-f "$dir//$file/.$ext"){
system("rm -f $dir//$file/.$ext");
system("mv $dir//$file $dir//$file/.$ext");
}else{
system("mv $dir//$file $dir//$file/.$ext");
}
my $bak_file="$file/.$ext";
open(FILE,"$dir//$bak_file") or die "$!/n";
my @aliases=<FILE>;
foreach my $line(@aliases){
if($line=~/^$group:/){
$line=~ s//b$id/b//g;
}
if($line =~ //w,+/w/){
$line=~s/,+/,/g;
}
if($line =~ /,$/){
$line=~s/,+$//;
}
}
foreach my $str(@aliases){
open FH,">>$dir//$file" or die $!."/n";
print FH $str;
close(FH);
}
close(FILE);
system("/usr/bin/newaliases");
- perl脚本之------向/etc/aliases邮件组添加删除用户
- perl脚本之------向/etc/aliases中添加/删除邮件组
- 批量添加删除用户脚本
- perl发邮件脚本
- perl发送邮件脚本
- shell脚本-批量添加或删除用户
- FreeBSD邮件服务Postfix问题:“fatal: open database /etc/aliases.db”
- shell脚本添加用户删除用户删除文件的脚本实现
- linux添加用户、组/删除用户、组
- 机房收费系统之添加删除用户
- 机房收费系统之添加删除用户
- [11月29日的脚本] 向用户配置文件添加Window小工具的脚本 (PowerShell)
- 发邮件的PERL/Tk脚本
- 添加/system/etc/init.d脚本支持
- hermes用户添加脚本
- 添加用户的脚本
- 代码添加脚本 删除脚本
- MySQL学习之:用户管理(添加用户,删除用户,添加权限,查看权限,密码等)
- ubuntu linux shell下删除目录命令
- 工作流系统全面介绍
- 收集面试的笔试,机试题目
- 32位系统上使用64位变量需要注意
- perl脚本之------向/etc/aliases中添加/删除邮件组
- perl脚本之------向/etc/aliases邮件组添加删除用户
- 引用变量注意事项——第八章(P226)
- 推荐一篇好文,林锐写的《软件工程思想》
- 升级gentoo失败,genkernel all通不过,revdep-rebuild反复编辑gcc
- 操作TreeView(咏南工作室)
- 防止程序重复执行的单元
- JavaScript的一些实用技巧收藏
- 使用ASP.NET上传图片汇总(二)
- 获取当前系统版本号