免费注册 查看新帖 |

Chinaunix

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

SHELL编程题。 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-03-29 15:13 |只看该作者 |倒序浏览
SHELL编程题。
用户test为新注册用户,通过SHELL程序,实现如下功能:
①三天后,提示test用户更改密码。
②15天后,如用户不登陆系统,自动锁定帐户。
③一个月后,如用户依然不登陆系统,自动删除用户帐户和所在目录。

请大家帮忙看看。谢谢!

论坛徽章:
0
2 [报告]
发表于 2005-03-29 15:28 |只看该作者

SHELL编程题。

这个功能实现是FTP用户登陆。

第一个功能,我想可以touch到用户一个文件,告诉他要修改密码。

PS:FTP服务器均采用系统帐号,并已做过处理,-s /bin/nologin。

论坛徽章:
0
3 [报告]
发表于 2005-03-29 21:04 |只看该作者

SHELL编程题。

你是要将这些信息显示在用户ftp时的欢迎画面中??

论坛徽章:
0
4 [报告]
发表于 2005-03-29 21:54 |只看该作者

SHELL编程题。

时间判断比较简单,crontab执行,追加生成历史文件,里面存储日期及此日期注册的用户名。然后linux可用date -d方法,其他OS可用TZ转换法取当前时间前多少天,从历史文件中grep出此日期注册用户信息,最后向这些用户write信息(为保证用户能看到,可以把crontab频次设高些,敢不改密码,烦死他)。
后面有两个问题
一、要比较注册时默认密码和当前密码是否相同需要root权限,如果您的程序自动分配默认密码,那么直接取passwd文件相应用户信息与默认密码比对就行了,否则就要把注册密码写到历史文件里(很不安全,一定要把历史文件设成只有root可读),然后比对(如果人家改了密码,就不要write了,不然小心投诉哦)。
二、判断是否登陆过系统,您是想判断一次也没登陆过的用户么?还是只要1月没登陆的就删?实现后者较简单,用last命令找此用户最后登陆时间与当前时间-15或30天比对就行了。实现前者,那就必须把历史文件里用户注册的准确时间也写进去,与last的最后一次登入时间比对,不知道您的程序可能出现一次也不登陆的情况么,如果有,这种情况也要判断(细节方面复杂一些)

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
5 [报告]
发表于 2005-03-29 23:54 |只看该作者

SHELL编程题。

[quote]原帖由 "一梦如是"]时间判断比较简单,crontab执行,追加生成历史文件,里面存储日期及此日期注册的用户名。然后linux可用date -d方法,其他OS可用TZ转换法取当前时间前多少天,从历史文件中grep出此日期注册用户信息,最后向这些用户w..........[/quote 发表:

够细致!

论坛徽章:
0
6 [报告]
发表于 2005-03-30 15:09 |只看该作者

SHELL编程题。

现在问题又出现了,比如:
24号注册的用户是aaa
25号注册的用户是bbb
26号注册的用户是ccc

如果时间长了,我想知道24号我注册的用户是什么,我应该如何处理?

用户当然是我自己创建。

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
7 [报告]
发表于 2005-03-30 16:53 |只看该作者

SHELL编程题。

看home目录下日期为25号的子目录

论坛徽章:
0
8 [报告]
发表于 2005-03-30 21:28 |只看该作者

SHELL编程题。

  1. awk '/20050324/{print $0}' uhistoryfile|cut -f1-
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP