免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1969 | 回复: 4
打印 上一主题 下一主题

在看pleacPerl的时候遇到一个问题(关于pack /var/log/lastlog) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-03-13 12:20 |只看该作者 |倒序浏览
在看pleacperl时,有一段关于改/var/log/lastlog文件中某个用户的最后登录时间时,我试了好几次都不成,请大家帮我看看:
代码:
#!/usr/bin/perl -l
use User::pwent;
use IO::Seekable;
   open $fh,"+</var/log/lastlog";
   $typedef='L A12 A16';
   $sizeof=length(pack($typedef,()));

   $user=$ENV{USER};
   print "user=>$user";
   $offset=getpwnam($user)->uid*$sizeof;
   seek($fh,$offset,SEEK_SET);
   read($fh,$buffer,$sizeof);
   ($time,$line,$host)=unpack($typedef,$buffer);
   print $time;
   print $line;
   print $host;
   $time-=60*60*7;
   print $time;
   seek($fh,-$sizeof,1);
   $buffer=pack($typedef,time,$line,$host);
   print $fh $buffer;
   close($fh);

我在pleacperl中的原来的代码中加了几个print看一下最后登录的信息,可是好象print $line,print $host没有什么作用,代码执行后,通过"lastlog"命令看当前用户的最后登录时间也没有减一天(原文是减7天)。

论坛徽章:
0
2 [报告]
发表于 2009-03-16 15:03 |只看该作者
偷偷的顶一下

论坛徽章:
95
程序设计版块每日发帖之星
日期:2015-09-05 06:20:00程序设计版块每日发帖之星
日期:2015-09-17 06:20:00程序设计版块每日发帖之星
日期:2015-09-18 06:20:002015亚冠之阿尔艾因
日期:2015-09-18 10:35:08月度论坛发贴之星
日期:2015-09-30 22:25:002015亚冠之阿尔沙巴布
日期:2015-10-03 08:57:39程序设计版块每日发帖之星
日期:2015-10-05 06:20:00每日论坛发贴之星
日期:2015-10-05 06:20:002015年亚冠纪念徽章
日期:2015-10-06 10:06:482015亚冠之塔什干棉农
日期:2015-10-19 19:43:35程序设计版块每日发帖之星
日期:2015-10-21 06:20:00每日论坛发贴之星
日期:2015-09-14 06:20:00
3 [报告]
发表于 2009-03-16 22:24 |只看该作者
我觉得你还是先了解下你系统上的 lastlog 文件的格式为好,看看它的那个 unpack 指定的格式串到底对不对

论坛徽章:
0
4 [报告]
发表于 2009-03-17 09:13 |只看该作者
原帖由 MMMIX 于 2009-3-16 22:24 发表
我觉得你还是先了解下你系统上的 lastlog 文件的格式为好,看看它的那个 unpack 指定的格式串到底对不对

嗯,我也觉得是/var/log/lastlog的格式可能与上面源代码中所选的格式不同。
但不知道如何了解到本机lastlog的格式,man lastlog也没有这方面的说明
我的机器是Debian GNU/Linux 4.0的操作系统。

论坛徽章:
95
程序设计版块每日发帖之星
日期:2015-09-05 06:20:00程序设计版块每日发帖之星
日期:2015-09-17 06:20:00程序设计版块每日发帖之星
日期:2015-09-18 06:20:002015亚冠之阿尔艾因
日期:2015-09-18 10:35:08月度论坛发贴之星
日期:2015-09-30 22:25:002015亚冠之阿尔沙巴布
日期:2015-10-03 08:57:39程序设计版块每日发帖之星
日期:2015-10-05 06:20:00每日论坛发贴之星
日期:2015-10-05 06:20:002015年亚冠纪念徽章
日期:2015-10-06 10:06:482015亚冠之塔什干棉农
日期:2015-10-19 19:43:35程序设计版块每日发帖之星
日期:2015-10-21 06:20:00每日论坛发贴之星
日期:2015-09-14 06:20:00
5 [报告]
发表于 2009-03-17 12:29 |只看该作者
原帖由 dream3401 于 2009-3-17 09:13 发表

嗯,我也觉得是/var/log/lastlog的格式可能与上面源代码中所选的格式不同。
但不知道如何了解到本机lastlog的格式,man lastlog也没有这方面的说明
我的机器是Debian GNU/Linux 4.0的操作系统。

我也没有找到。你要真想知道,估计要看看源码。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP