linux 密码安全脚本

 1 #!/bin/bash
 2 #by:[email protected]163.com
 3 DIESO=/etc/pam.d
 4 PAMSO=$(ls $DIESO/* |awk -F‘/‘ ‘{print $4}‘)
 5 NEPAMUN=‘password    sufficient pam_unix.so md5 shadow nullok try_first_pass use_authtok remember=5‘
 6 for PAMS in $PAMSO;do
 7     if [[ -n $(cat "$DIESO/$PAMS" | grep "shadow" | awk ‘{print $1}‘) ]];then
 8         PAMUN=‘‘
 9         PAMUN=$(cat "$DIESO/$PAMS" | grep "shadow" | awk ‘{print $0}‘)
10         if [[ -n $(echo $PAMUN | grep "remember" | awk ‘{print $1}‘) ]];then
11                 echo "The password remember has been set"
12         else
13         sed -i "s/$PAMUN/$NEPAMUN/" $DIESO/$PAMS
14         fi
15     fi
16 17 done
 1 #!/bin/sh
 2 #by:[email protected]163.com
 3 DIESO=/etc/pam.d
 4 PAMSO=$(ls $DIESO/* |awk -F‘/‘ ‘{print $4}‘)
 5 NEPAMUN=‘password    sufficient pam_unix.so md5 shadow nullok try_first_pass use_authtok remember=5‘
 6 NEWPASSET=‘password    requisite    pam_cracklib.so retry=3 difok=3 minlen=8 ucredit=-1 lcredit=-2 dcredit=-1 ocredit=-1‘
 7 #retry=3 密码重试次数为3次
 8 #difok=3 允许新密码中有3个字符与旧密码相同
 9 #minlen=8 密码最小长度为8 注意:对root用户无效,root下设置其他用户此参数也无效,用户自己修改自己的密码时才有效
10 #ucredit=-1 密码中必须包含一个大写字母
11 #lcredit=-2 密码中必须包含最少两个小写字母
12 #dcredit=-1 密码中必须包含一个数字
13 #ocredit=-1 密码中最少必须包含一个标点符号
14 [ -f /lib/security/pam_cracklib.so ] && echo "start config pam_cracklib.so"
15 for PAMS in $PAMSO;do
16     if [[ -n $(cat "$DIESO/$PAMS" | grep pam_cracklib | awk ‘{print $1}‘) ]];then
17     PASSET=‘‘
18     PASSET=$(cat "$DIESO/$PAMS" | grep "pam_cracklib.so" | awk ‘{print $0}‘)
19     if [[ -n $( echo $PASSET | grep "difok" | awk ‘{print $1}‘) ]];then
20         echo "The password complexity rule has been set "
21     else
22         sed -i "s/${PASSET}/${NEWPASSET}/" $DIESO/$PAMS
23     fi
24     fi
25
26
27 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
时间: 2024-11-03 22:11:39

linux 密码安全脚本的相关文章

linux系统mysql密码修改脚本

编写了一个适用于阿里云linux系统 mysql密码修改脚本,使用阿里云提供的一键安装包配置后,如果account.log文件删除,并且忘记mysql密码时,可以通过脚本来重置mysql密码. 附:一键环境安装包:http://help.aliyun.com/view/11108189_13435438.html?spm=5176.7224445.1997283057.5.RLNWqv 下载地址: gbk版:默认使用这个版本 wget http://jinxiang.oss-cn-hangzho

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

[分享]运维分享一一阿里云linux系统mysql密码修改脚本     大象吃豆子 级别: 小白 发帖 12 云币 27 加关注 写私信 只看楼主 更多操作楼主  发表于: 2014-09-30 编写了一个适用于阿里云linux系统 mysql密码修改脚本,使用阿里云提供的一键安装包配置后,如果account.log文件删除,并且忘记mysql密码时,可以通过脚本来重置mysql密码. 附:一键环境安装包:http://help.aliyun.com/view/11108189_13435438

Linux下3G脚本拨号上网(转)

Linux下3G脚本拨号上网 (2010-7-5 13:08) 既然是拨号上网,就不能不提到ppp(point-to-point protocol)协议.ppp协议提供了一种通过串行点对点联接传输数据报的方式.它由三部份组成:一种在串行封装数据报的方式,扩展联接控制协议LCP,和用来建立和配置不同网络层协议的家族网络控制协议NCP.封装方案由内核驱动代码来提供.pppd(ppp daemon)提供基本的LCP,认证支持,和建立和配置IP的网络控制协议NCP.一个ppp会话分为四个步骤:连接建立.

linux 之shell脚本练习

一. #!/bin/bash#自动添加用户,并使初始密码为用户账户名,且用户登录时强制其更改密码i=1while [ $i -le 15 ]do if [ $i -le 9 ]  then  useradd user0$i  echo "user0$i" | passwd --stdin user0$i &> /dev/null  chage -d 0 user0$i else  useradd user$i  echo "user$i" | pass

转自ruby迷: 使用Net::SSH和Net::SCP编写Linux服务器管理脚本

试了一下perl下安装ssh模块,整了半天linux/window上都装不上,各依赖模块的版本总是匹配不上,后改了一下思路,用ruby吧 Net::SSH和Net::SCP是两个Ruby操作SSH的gem包.Net::SSH相当于cmd,专门用于执行命令:Net::SCP专门用于传输文件.它们俩结合,可以做任何SSH client能做的事情. 安装: gem install net-ssh gem install net-scp 以下所有代码都引用这段代码 require 'net/ssh' r

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

本教程我们通过实现来讲讲Linux交互式shell脚本中创建各种各样对话框,对话框在Linux中可以友好的提示操作者,感兴趣的朋友可以参考学习一下. 当你在终端环境下安装新的软件时,你可以经常看到信息对话框弹出,需要你的输入.对话框的类型有密码箱,检查表,菜单,等等.他们可以引导你以一种直观的方式输入必要的信息,使用这样的用户友好的对话框的好处是显而易见的.如下图所示: 当你写一个交互式shell脚本,你可以使用这样的对话框来接受用户的输入.whiptail可以在shell脚本中创建基于终端的对

8种最好的Linux密码管理器

推荐8种最好的Linux密码管理器,可以安全地存储你的登录信息. ·Fiagaro's Password Manager·Gpass·Gpassword Manager·Gringotts·KeePassX·MyPasswords·PasswordSafe·Revelation 除了记得Fedora 13虚拟机的登录信息,您还记得1999年你放弃的Angelfire上站点的账户和密码吗?当时,我们都在上面. 这是福尔摩斯称为填充的阁楼无用的信息.我们不能够清理东西从我们的阁楼,但我们可以信任的一

linux下shell脚本执行方法及exec和source命令

exec和source都属于bash内部命令(builtins commands),在bash下输入man exec或man source可以查看所有的内部命令信息. bash shell的命令分为两类:外部命令和内部命令.外部命令是通过系统调用或独立的程序实现的,如sed.awk等等.内部命令是由特殊的文件格式(.def)所实现,如cd.history.exec等等. 在说明exe和source的区别之前,先说明一下fork的概念. fork是linux的系统调用,用来创建子进程(child

Linux系统shell脚本编程——生产实战案例

Linux系统shell脚本编程--生产实战案例     在日常的生产环境中,可能会遇到需要批量检查内网目前在线的主机IP地址有哪些,还可能需要检查这些在线的主机哪些端口是开放状态,因此依靠手工来检查是可以实现,但比较费时费力,所以需要结合shell脚本来实现批量检查的功能,那么今天就来做个小小的实验. 1.开发脚本前准备 一般大家都知道,测试主机是否在线,常用的命令无非就是ping.nmap,因此,首先找一个地址来测试下ping命令的效果 [[email protected] scripts]