linux 密码安全脚本
#!/bin/bash
#by:osx1260@.com
DIESO=/etc/pam.d
PAMSO=$(ls $DIESO/* |awk -F'/' '{print $4}')
NEPAMUN='password sufficient pam_unix.so md5 shadow nullok try_first_pass use_authtok remember=5'
for PAMS in $PAMSO;do
if [[ -n $(cat "$DIESO/$PAMS" | grep "shadow" | awk '{print $1}') ]];then
PAMUN=''
PAMUN=$(cat "$DIESO/$PAMS" | grep "shadow" | awk '{print $0}')
if [[ -n $(echo $PAMUN | grep "remember" | awk '{print $1}') ]];then
echo "The password remember has been set"
else
sed -i "s/$PAMUN/$NEPAMUN/" $DIESO/$PAMS
fi
fi
done
#!/bin/sh
#by:osx1260@.com
DIESO=/etc/pam.d
PAMSO=$(ls $DIESO/* |awk -F'/' '{print $4}')
NEPAMUN='password sufficient pam_unix.so md5 shadow nullok try_first_pass use_authtok remember=5'
NEWPASSET='password requisite pam_cracklib.so retry=3 difok=3 minlen=8 ucredit=-1 lcredit=-2 dcredit=-1 ocredit=-1'
#retry=3 密码重试次数为3次
#difok=3 允许新密码中有3个字符与旧密码相同
#minlen=8 密码最小长度为8 注意:对root用户无效,root下设置其他用户此参数也无效,用户自己修改自己的密码时才有效
#ucredit=-1 密码中必须包含一个大写字母
#lcredit=-2 密码中必须包含最少两个小写字母
#dcredit=-1 密码中必须包含一个数字
#ocredit=-1 密码中最少必须包含一个标点符号
[ -f /lib/security/pam_cracklib.so ] && echo "start config pam_cracklib.so"
for PAMS in $PAMSO;do
if [[ -n $(cat "$DIESO/$PAMS" | grep pam_cracklib | awk '{print $1}') ]];then
PASSET=''
PASSET=$(cat "$DIESO/$PAMS" | grep "pam_cracklib.so" | awk '{print $0}')
if [[ -n $( echo $PASSET | grep "difok" | awk '{print $1}') ]];then
echo "The password complexity rule has been set "
else
sed -i "s/${PASSET}/${NEWPASSET}/" $DIESO/$PAMS
fi
fi done
限制tty
#!/bin/sh
for t in $(cat /etc/securetty | grep "^tty" | grep -v "tty[1,2]$");
do
T=''
T=$t
sed -i "s/$T/#$T/" /etc/securetty
done
linux 密码安全脚本的更多相关文章
- [分享]运维分享一一阿里云linux系统mysql密码修改脚本
[分享]运维分享一一阿里云linux系统mysql密码修改脚本 大象吃豆子 级别: 小白 发帖 12 云币 27 加关注 写私信 只看楼主 更多操作楼主 发表于: 2014-09-3 ...
- linux系统mysql密码修改脚本
编写了一个适用于阿里云linux系统 mysql密码修改脚本,使用阿里云提供的一键安装包配置后,如果account.log文件删除,并且忘记mysql密码时,可以通过脚本来重置mysql密码. 附:一 ...
- 详解Linux交互式shell脚本中创建对话框实例教程_linux服务器
本教程我们通过实现来讲讲Linux交互式shell脚本中创建各种各样对话框,对话框在Linux中可以友好的提示操作者,感兴趣的朋友可以参考学习一下. 当你在终端环境下安装新的软件时,你可以经常看到信息 ...
- Linux 下 expect 脚本语言中交互处理常用命令
Linux 下 expect 脚本语言中交互处理常用命令 1. #!/usr/bin/expect 告诉操作系统脚本里的代码使用那一个 shell 来执行.这里的 expect 其实和 Linux 下 ...
- 两款不错的Linux密码生成工具
先介绍最简单的方法,Linux自带的 $ strings /dev/urandom | | ; echo whucNWhr35W6ZP0MxrLQ $ /dev/random | base64 | t ...
- linux自动化交互脚本expect详解set timeout 5是 意思是在expect语句中,5s后超时,不再作出选择。
linux自动化交互脚本expect详解 更新时间:2020年10月21日 10:13:20 作者:lendsomething 这篇文章主要介绍了linux自动化交互脚本expect的相 ...
- 使用C#给Linux写Shell脚本
在这个逼格决定人格,鄙视链盛行的年头,尤其是咱们IT界,请问您今天鄙视与被鄙视的次数分别是多少?如果手中没有一点压箱的本事,那就只有看的份了.今天我们也要提升下自己的格调,学习些脑洞大开的东西,学完之 ...
- 使用C#给Linux写Shell脚本(下篇)
在上篇的<使用C#给Linux写Shell脚本>结尾中,我们留下了一个关于C#如何调用BashShell的问题.在文章发布之后,我留意到有读者留言推荐使用“Pash”(一款类PowerSh ...
- linux下shell脚本执行jar文件
最近在搞一个shell脚本启动jar文件个关闭jar文件的东东.搞得我都蛋疼了.今天晚上终于弄好了 话说,小弟的linux只是刚入门,经过各方查资料终于搞定了.话不多说,下面开始上小弟写的shell脚 ...
随机推荐
- mysql存储过程讲解
1.数据库存储过程:简单滴说,存储过程就是存储在数据库中的一个程序. 2..数据库存储过程作用: 第一:存储过程因为SQL语句已经预编绎过了,因此运行的速度比较快. 第二:存储过程可以接受参数.输出参 ...
- CODEVS 1073 家族
题目描述 Description 若某个家族人员过于庞大,要判断两个是否是亲戚,确实还很不容易,现在给出某个亲戚关系图,求任意给出的两个人是否具有亲戚关系. 规定:x和y是亲戚,y和z是亲戚,那么x和 ...
- C# - 接口,继承
接口 接口是把公共实例(非静态)方法和属性组合起来,以封装特定功能的一个集合.不能像实例化一个类那样实例化接口.接口不能包含实现其成员的任何代码,而只能定义成员本身.实现过程必须在实现接口的类中完成. ...
- iOS+JSPatch在线修改app功能-b
什么是热更新? 举个例子,你的app上架了,但是突然想添加个小功能,那么你有两种方法 第一种方法:在原生代码中修改源代码,然后提交到appStore,这个过程真是很漫长...虽然最近我提交的都是一两天 ...
- NetWorker常用术语
术语 描述 active group 每24小时至少计划备份一次的备份组. Advanced File Type Device (AFTD) 为大容量磁盘设备和并发操作设计的磁盘备份设备配置选项. A ...
- 基于jQuery的上下左右无缝滚动应用(单行或多行)
$(function(){ var _wrap=$('ul.line');//定义滚动区域 var _interval=2000;//定义滚动间隙时间 var _moving; ...
- JS获取IP、MAC和主机名的几种方法
方法一(只针对IE且客户端的IE允许AcitiveX运行,通过平台:XP,SERVER03,2000): 获取客户端IP. <HTML> <HEAD> <TITLE> ...
- top 10 js mvc
http://codebrief.com/2012/01/the-top-10-javascript-mvc-frameworks-reviewed/ http://www.iteye.com/new ...
- Moloch
http://www.oschina.net/p/moloch maltego http://www.oschina.net/p/maltego
- java 使用正则表达式从网页上提取网站标题
如何从网页上抓取有价值的东西?看懂了下面的程序(非常简单),想从网页上抓取什么信息(标题.内容.Email.价格等)就能抓取什么信息. package catchhtml; import java.i ...