Chinaunix首页 | 论坛 | 博客
  • 博客访问: 10492651
  • 博文数量: 2905
  • 博客积分: 20098
  • 博客等级: 上将
  • 技术积分: 36298
  • 用 户 组: 普通用户
  • 注册时间: 2009-03-23 05:00
文章存档

2012年(1)

2011年(3)

2009年(2901)

分类: LINUX

2009-03-23 11:06:34

可以。用户登录时,Bash 首先执行全局登录脚本(由 root 建立) /etc/profile,然后在用户起始目录下依次寻找 .bash_profile、.bash_login、.profile 三个文件,执行最先找到的一个。可以用这种办法像 Netware 一样为不同的用户定制运行环境。
此外,用户退出登录时还可以运行 .bash_logout 脚本。

如:/root/.bash_profile
下加了一段脚本
`/usr/bin/perl /perl/login.pl`
[追加]
#!/usr/bin/perl
use strict;
my $user=`whoami`;
use Net::SMTP;
my $ipaddress;
my $time;
open(FH,"w|");
foreach my $data (){
   if(!($data=~/days/)){
         if(!($data=~/USER/)){
         my(@arr)=split " ",$data;
          if($user==$arr[0]){
                  $ipaddress=$arr[2];
                  $time=$arr[3];
           }
           }
    }
}
close FH;
my $mailhost='127.0.0.1';
        my $mailfrom='';
        my $mailto='';
        my $subject="Who login!";
        my $smtp = Net::SMTP->new($mailhost,Hello =>"localhost",Timeout => 30,Debug => 0,);
                $smtp->mail($mailfrom);
                $smtp->to($mailto);
                $smtp->data();
                $smtp->datasend("To: $mailto\n");
                $smtp->datasend("From: $mailfrom\n");
                $smtp->datasend("Subject: $subject\n");
                $smtp->datasend("\n");
                $smtp->datasend("$user\t$ipaddress\t$time\n");
                $smtp->dataend();
        $smtp->quit;
这样的话,只要用户以root身份登录就可以把邮件发送过来了。。。

阅读(995) | 评论(0) | 转发(0) |
0

上一篇:Putty中文环境设置

下一篇:iptables祥解

给主人留下些什么吧!~~