動的にアップデートされたLinuxシステムのパスワードおよびSMS通知

タイトル動的に更新LinuxシステムのパスワードおよびSMS通知

我々は主流のオペレーティングシステムとして、Linuxサーバは、システム全体のセキュリティを確保するために、頻繁な交換システムのrootアカウントのパスワードを要求され、より高いセキュリティを必要とするかもしれない時間がありますが、パスワードの重要性は自明です。まあ、時々による複雑なパスワードの独自のセットにして忘れて、それゆえ、動的に自動更新システムのrootパスワードを必要とSMSアラートシステム管理者に送信します。次の側面からこの機能を達成するために。
まず、システムが自動的にシェルスクリプトを達成するために使用するパスワードを変更することができますので、最初のランダムなパスワードジェネレータ、パスワード更新シェルスクリプトが必要になります。
第二に、クエリを記録するために、システム管理者のパスワードを更新する必要があります。
第三には、パスワードとパスワードのリマインダーが更新されているなど、SMS通知サービスを介してシステム管理者にテキストメッセージを送信、同じ時間を更新します。
上記の分析に基づいて、我々は、スクリプト、コードブック、SMS通知サービスを必要とし、このすべてが説明することで、以下、サーバー上に実装することができる。三点に来て
内蔵されているパスワード生成システムを言うために強力なサーバー言うまでもないの主流の関数としてのLinuxは多くの方法があり、一つはurandomが経由で、1は、OpenSSLです
例: `

openssl rand -base64 12
#这个命令生成12位的随机带特殊字符的字符串,
#加密形式是base64
#可以用做密码
openssl rand hex 12
#这个命令生成12位的随机带特殊字符的字符串
#加密形式是hex
openssl rand hex 12 -out password
#生成12位的hex加密的密码并写入一个名字叫password
#的文件内
================================================
cat /dev/urandom
#生成一个无限大的密码,包括特殊符号。
#想要使用这种方式,需要切割出来随机的需要的个数的
#字符,例如:
cat /dev/urandom |tr -dc 'a-zA-Z0-9' |head -c12
#这个命令可以切割出随机的不包括特殊字符的
#12位字符串,这个就可以作为密码
#根据自己的密码策略,选择合适的长度,
#切割出密码并写入文件
cat /dev/urandom 
|tr -dc 'a-zA-Z0-9'|head -c12 >>password
#这样就切割出一个长度12的大小写字母和数字组成的密码
#并且重定向写入一个名字为password的文件中
#第一步和第二步已经完成,现在需要把这些合并在一起
#写入一个脚本中,脚本名称就叫change吧
======================
#!/bin/bash
echo `cat /dev/urandom
|tr -dc 'a-zA-Z0-9` |head -c6`>>password
while read line
do
echo $line | passwd --stdin root > /dev/null
done<$1
=======================
#脚本就算完成了,脚本名称为change.sh
#脚本完成的事情如下,
#生成6位的密码并且写入文件名称为
#password的文件,然后读取这个新生成的文件内保存的
#密码,通过Passwd命令更新密码,其中有几点需要
#注意,第一,密码本也就是password这个文件内容
#不能少于两个,第二,echo命令后跟的是反引号
#以把cat命令生成的密码作为字符串存入文件
#改密码的时候为了隐藏输出,重定向到了null内
``========================================
#接下来就是短信通知服务,网上比较了很多短信通知服务,
#发现榛子短信服务比较友好,拿来即用。下面贴网址。
#http://sms_developer.zhenzikj.com/zhenzisms_user/login.#html,这个网址注册后,需要到短信平台查看系统生成的
#ak,也就是access码和secret码,这两个码稍后会在#Python中用到。
==============================================
import zhenzismsclient as smsclient
import os
import time
os.popen('/usr/bin/bash change.sh password)
print('=================================')
with open(password,'r+') as file:
     line=file.readlines()
     last=lines[-1]

client = smsclient.ZhenziSmsClient('https://sms_developer.zhenzikj.com', '你的access码', '你的secret码')
print(client.send('系统管理人员的电话号码',last))
========================
#这个文件名称为message.py,是短信服务通知的
#客户端文件,导入的第一个包是短信服务端文件
#第二个包是os,由于需要打开密码本查看密码并
#发送短信用,第三个包是time包,在启动shell脚本后
#给五秒时间同步密码本,保证取得的是最新密码
#然后。中文部分,是需要更改的地方,两个码
#在榛子的网站内有。这四个文件,message.py #password,change.sh zhenzismsclient.py 
#统一放在一个文件夹内,
#每启动一次message.py文件密码就更新一次,同时,
#更新后的密码推送到系统管理员手机上,可以通过
#Linux系统的计划任务crontab来设计更新策略。

链接:https://pan.baidu.com/s/1rHoNsJCAC-IRQ0h3vv-C8g 
提取码:1uky
#根据需要更改文件即可
公開された13元の記事 ウォンの賞賛0 ビュー300

おすすめ

転載: blog.csdn.net/alwaysbefine/article/details/104824858