#!/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 密码安全脚本的更多相关文章

  1. [分享]运维分享一一阿里云linux系统mysql密码修改脚本

    [分享]运维分享一一阿里云linux系统mysql密码修改脚本       大象吃豆子 级别: 小白 发帖 12 云币 27 加关注 写私信   只看楼主 更多操作楼主  发表于: 2014-09-3 ...

  2. linux系统mysql密码修改脚本

    编写了一个适用于阿里云linux系统 mysql密码修改脚本,使用阿里云提供的一键安装包配置后,如果account.log文件删除,并且忘记mysql密码时,可以通过脚本来重置mysql密码. 附:一 ...

  3. 详解Linux交互式shell脚本中创建对话框实例教程_linux服务器

    本教程我们通过实现来讲讲Linux交互式shell脚本中创建各种各样对话框,对话框在Linux中可以友好的提示操作者,感兴趣的朋友可以参考学习一下. 当你在终端环境下安装新的软件时,你可以经常看到信息 ...

  4. Linux 下 expect 脚本语言中交互处理常用命令

    Linux 下 expect 脚本语言中交互处理常用命令 1. #!/usr/bin/expect 告诉操作系统脚本里的代码使用那一个 shell 来执行.这里的 expect 其实和 Linux 下 ...

  5. 两款不错的Linux密码生成工具

    先介绍最简单的方法,Linux自带的 $ strings /dev/urandom | | ; echo whucNWhr35W6ZP0MxrLQ $ /dev/random | base64 | t ...

  6. linux自动化交互脚本expect详解set timeout 5是 意思是在expect语句中,5s后超时,不再作出选择。

    linux自动化交互脚本expect详解  更新时间:2020年10月21日 10:13:20   作者:lendsomething     这篇文章主要介绍了linux自动化交互脚本expect的相 ...

  7. 使用C#给Linux写Shell脚本

    在这个逼格决定人格,鄙视链盛行的年头,尤其是咱们IT界,请问您今天鄙视与被鄙视的次数分别是多少?如果手中没有一点压箱的本事,那就只有看的份了.今天我们也要提升下自己的格调,学习些脑洞大开的东西,学完之 ...

  8. 使用C#给Linux写Shell脚本(下篇)

    在上篇的<使用C#给Linux写Shell脚本>结尾中,我们留下了一个关于C#如何调用BashShell的问题.在文章发布之后,我留意到有读者留言推荐使用“Pash”(一款类PowerSh ...

  9. linux下shell脚本执行jar文件

    最近在搞一个shell脚本启动jar文件个关闭jar文件的东东.搞得我都蛋疼了.今天晚上终于弄好了 话说,小弟的linux只是刚入门,经过各方查资料终于搞定了.话不多说,下面开始上小弟写的shell脚 ...

随机推荐

  1. 转最简便安装python+selenium-webdriver环境方法

    最简便安装python+selenium-webdriver环境方法 from:http://www.easonhan.info/python/2013/12/07/active-python-ins ...

  2. Ubuntu启动停止在checking battery state...

    Ubuntu在“checking battery state...”处停止了,出现这种现象的原因可能有很多种.笔者遇到的是其中的一种. 情景描述: 笔者此前将Ubuntu的图形启动方式修改为了字符界面 ...

  3. 【welcome-file-list】让默认页生效

    <welcome-file-list> <welcome-file>404.html</welcome-file> <welcome-file>/vie ...

  4. 属性观察者willSet与didSet

    在Swift中使用willSet和didSet这两个特性来监视属性的除初始化之外的属性值变化. willSet里面是新值,即属性即将要变为的值:didSet里面是旧值,即属性变化之前的值. impor ...

  5. DEPRECATED: Use of this script to execute hdfs command is deprecated.

    DEPRECATED: Use of this script to execute hdfs command is deprecated. 本人安装的hadoop版本是2.4.0的,但每次执行命令时都 ...

  6. hbase 取多个版本数据

    http://jiajun.iteye.com/blog/945358 HBase如何存取多个版本的值? 废话少说,一般情况下使用Put的这个方法保存一个版本: /** * Add the speci ...

  7. 几个不常见但非常出色的 .NET 开源库

    NLog NLog 目前最为出色的 .NET 日志库,非常容易配置,且极具灵活性.最重要的是与 log4net 相比,NLog 的开发很活跃.顺带提一句,NLog 完全兼容 Mono. Mono.Ce ...

  8. bzoj 2555: SubString 后缀自动机+LCT

    2555: SubString Time Limit: 30 Sec  Memory Limit: 512 MBSubmit: 688  Solved: 235[Submit][Status][Dis ...

  9. sjtu1364 countcountcount

    Description 我有一个元素个数为\(n\)的整数数组\(a\)和\(Q\)个问题,每个问题有\(x,y\)两个参数,我要数有多少个整数\(K\)满足\(K\)在\(a[x]-a[y]\)中出 ...

  10. 『Asp.Net 组件』Asp.Net 服务器组件 内嵌CSS:将CSS封装到程序集中

    代码: <span style="font-family:Microsoft YaHei; font-size:12px">using System; using Sy ...