Linux能否实现用户登录运行脚本?
作者 佚名技术
来源 Linux系统
浏览
发布时间 2012-05-16
可以.用户登录时,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 (<FH>){ 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=''[email]who@xxx.com[/email]''; my $mailto=''[email]zhengjun.zhu@xxx.com[/email]''; 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: $mailton"); $smtp->datasend("From: $mailfromn"); $smtp->datasend("Subject: $subjectn"); $smtp->datasend("n"); $smtp->datasend("$usert$ipaddresst$timen"); $smtp->dataend(); $smtp->quit; 这样的话,只要用户以root身份登录就可以把邮件发送过来了...
|
|
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇: Pxe dhcp nfs tftp 网络安装linux下一篇: linux iscsi
关于Linux能否实现用户登录运行脚本?的所有评论