黑帽联盟

 找回密码
 会员注册
查看: 1484|回复: 0
打印 上一主题 下一主题

[脚本语言] linux系统自动修改密码并发邮件通知

[复制链接]

895

主题

38

听众

3323

积分

管理员

Rank: 9Rank: 9Rank: 9

  • TA的每日心情
    无聊
    6 天前
  • 签到天数: 1644 天

    [LV.Master]伴坛终老

      昨天朋友问我有没有办法用shell自动修改密码,不用手动去修改密码,当时没有敢马上答应,在虚拟机上测试了下,发现是可以实现的,并且我在他的要求上再增加了每个月定时修改密码,并发邮件通知.这里先申明下,如果要在生产环境上使用,先在本地虚拟环境上测试好再放上去,要不就再多增加个root管理权限的用户,不然到时候系统自己修改了密码,但邮件又没有收到,那就只能干看到.

      系统:centos 5.9

      需要的软件包:msmtp-1.4.16.tar.bz2

    1.搭建发邮件环境
    要搭建个可以发邮件的环境,大家可以去看我这篇linux下安装mutt文章.

    2.创建脚本
    vi root-passwd.sh
    1. #!/bin/bash
    2. datetime=`date +%Y-%m-%d" "%H":"%M`
    3. email="admin@cnblackhat.com"
    4. passwd="cat /dev/urandom | head -1 | md5sum | head -c 12>/root/passwd.txt"
    5. passwd root --stdin < /root/passwd.txt
    6. cat /root/passwd.txt|mutt -s "$datetime new passwd" $email
    复制代码
    说明:
    在linux中有一个设备/dev/urandom是用来产生随机数序列的,利用该设备我们可以根据在需要生成随机字符串,只要修改最后面的 head -c 12 就可以产生你想要的随机密码了,最多可以生成32位,用做密码足够了.

    3.设置定时更新密码
    crontab -e
    0 23 28 * * /bin/sh /root/soft_shell/root-passwd.sh
    保存后,重启crond.

    ps:
    *  *  *  *  *  command
    分  时   日   月  周      命令

    这个定时是说每个月28号的晚上11点执行脚本.为什么不设置29号?是怕2月份啊.

    好了,这里最后再申明下,先测试好了再用到生产环境上,不然后果就只能自己负责了.

    帖子永久地址: 

    黑帽联盟 - 论坛版权1、本主题所有言论和图片纯属会员个人意见,与本论坛立场无关
    2、本站所有主题由该帖子作者发表,该帖子作者与黑帽联盟享有帖子相关版权
    3、其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和黑帽联盟的同意
    4、帖子作者须承担一切因本文发表而直接或间接导致的民事或刑事法律责任
    5、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
    6、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
    7、黑帽联盟管理员和版主有权不事先通知发贴者而删除本文

    勿忘初心,方得始终!
    您需要登录后才可以回帖 登录 | 会员注册

    发布主题 !fastreply! 收藏帖子 返回列表 搜索
    回顶部