linux简单的安全防护
注:
1、该脚本是以centos7.4.1708做的
2、函数jia/jian是加权限/减权限
3、改过密码以后,下次使用新创建的用户登录时将提示更改密码,第一次要输入原始的密码,原始密码改脚本中定义的为123456
新密码必须为复杂的才能使用,比如AA7788flz_$5%
#!/bin/bash
jia(){
chattr +i /etc/passwd
chattr +i /etc/shadow
chattr +i /etc/group
chattr +i /etc/gshadow
chattr +i /etc/services
}
jian(){
chattr -i /etc/passwd
chattr -i /etc/shadow
chattr -i /etc/group
chattr -i /etc/gshadow
chattr -i /etc/services
}
PFDF_PLUS(){
OPOP700="ping userdel useradd vim tail netstat less head cat uname top"
OPOP500="ps"
for i in $OPOP700
do
k=`which $i`
chmod 755 $k
ls -al $k
done
for ii in $OPOP500
do
kk=`which $ii`
chmod 755 $kk
ls -al $kk
done
}
PFDF_LESS(){
OPOP700="ping userdel useradd vim tail netstat less head cat uname top"
OPOP500="ps"
for y in $OPOP700
do
p=`which $y`
chmod 700 $p
ls -al $p
done
for t in $OPOP500
do
pp=`which $t`
chmod 500 $pp
ls -al $pp
done
}
SEC(){
#注释启动画面内核信息
mv /etc/issue /etc/issuebak >/dev/null 2>&1
mv /etc/issue.net /etc/issue.netbak >/dev/null 2>&1
#禁ping
# sysctl net.ipv4.icmp_echo_ignore_all=1 > /dev/null 2>&1
#对TCP SYN Cookie的保护:(防止SYN Flood攻击)
echo "net.ipv4.tcp_syncookies=1">>/etc/sysctl.conf
sysctl -p
#检查新创建用户时密码的长度
SUM=`cat /etc/login.defs|grep ^"PASS_MIN_LEN" |awk -F ' ' '{print $2}'`
if [ $SUM == 5 ];then
sed -i 's/^PASS_MIN_LEN 5/PASS_MIN_LEN 11/' /etc/login.defs
SUM1=`cat /etc/login.defs|grep ^"PASS_MIN_LEN" |awk -F ' ' '{print $2}'`
if [ $SUM1 == 11 ];then
echo -e "\033[31m新创建用户时的密码默认为5个字符,已改为默认为11个字符(大小写 其他符号 数字组成)\033[0m"
fi
fi
}
PFDF_PLUS > /dev/null 2>&1
read -p "您想删除用户还是添加用户(1:添加,2:删除,3:初始化安全): " xz
if [ $xz == 1 ];then
read -p "请输入你要添加的用户: " NAME
jian
useradd $NAME
if [ $? -eq 0 ];then
echo "123456"| passwd --stdin $NAME
if [ $? -eq 0 ];then
echo -e "原始密码为: \033[31m123456\033[0m"
else
echo "$NAME 用户的初始化密码未成功定义"
fi
fi
elif [ $xz == 2 ];then
read -p "请输入你要删除的用户: " NAME1
jian
userdel -r $NAME1
if [ $? -eq 0 ];then
echo "$NAME1 用户已删除"
else
echo "在删除 $NAME1 时出了点问题"
fi
jia
elif [ $xz == 3 ];then
SEC
else
echo "请输入数字1或者数字2..."
fi
jia
PFDF_LESS>/dev/null 2>&1
linux简单的安全防护的更多相关文章
- [原创]linux简单之美(一)
原文链接:linux简单之美(一) 话说windows也有syscall,这是必须的.但是win的syscall可以直接call吗?可以是可以但是破费周折,搞成SDT之类的复杂概念.下面看看linux ...
- [原创]linux简单之美(二)
原文链接:linux简单之美(二) 我们在前一章中看到了如何仅仅用syscall做一些简单的事,现在我们看能不能直接调用C标准库中的函数快速做一些"复杂"的事: section . ...
- [原创]linux简单之美(三)
原文链接:linux简单之美(三) 在linux简单之美(二)中我们尝试使用了C库的函数完成功能,那么能不能用syscall方式来搞呢?显然可以! section .data ft db sectio ...
- Linux学习之十七-配置Linux简单的脚本文件自启动
配置Linux简单的脚本文件自启动 在Linux中使用shell脚本解决一些问题会比单独执行多条命令要有效率,脚本文件规定命名以.sh结尾,最基本的规则就是其内容是命令,想要脚本文件开机自启动,就需要 ...
- 五大Linux简单命令解决系统性能问题
五大Linux简单命令解决系统性能问题 2010-12-17 10:07 James Turnbull TechTarget中国 字号:T | T 管理Linux主机的性能看起来经常象是在变魔术一样. ...
- Linux简单Shell脚本监控MySQL、Apache Web和磁盘空间
Linux简单Shell脚本监控MySQL.Apache Web和磁盘空间 1. 目的或任务 当MySQL数据库.Apache Web服务器停止运行时,重新启动运行,并发送邮件通知: 当服务器磁盘的空 ...
- 一篇文章带你了解服务器操作系统——Linux简单入门
一篇文章带你了解服务器操作系统--Linux简单入门 Linux作为服务器的常用操作系统,身为工作人员自然是要有所了解的 在本篇中我们会简单介绍Linux的特点,安装,相关指令使用以及内部程序的安装等 ...
- linux网络完全与防护
7.1 网络封包联机进入主机的流程 7.1.1 封包进入主机的流程 1.经过防火墙的分析 iptables 主要功能是封包过滤 主要分析TCP/IP的封包表头来进行过滤的机制 分析的是OSI的第二 ...
- linux简单配置
lsof -i lsof -i:211.判断apache查找httpd路径: ps aux | grep httpd 结果: /usr/local/apache/bin/httpd /usr/loc ...
随机推荐
- Nginx学习笔记(三)--- Nginx实现反向代理和配置负载均衡
1.反向代理 2.Nginx反向代理流程图 3.安装多个tomcat 3.1把tomcat的压缩包传到Linux上 3.2 解压tomcat 3.3 给压缩好的tomcat改个名字用来区分一下 3.4 ...
- <a>标签里面直接嵌套图片,<img>下面出现一小段空白的原因
今天在写页面时,发现在a标签,里面嵌入<img>底部会出现空白的问题! 请看示例代码: <a style="border: 2px dashed blue"> ...
- 【工具相关】Web-Sublime Text2-安装插件HTMLPrettify
一,打开Sublime Text2---->Preferences--->Browse Packages.--->查看Sublime Text2已经有的插件.如图所示. 二,在网上下 ...
- windows 2012 r2企业版没有界面
windows 2012 R2系统进去以后只有CMD命令窗口,没有图形化界面,除了cmd其余的全部是黑的.在网上搜了很多,都是大同小异的解决方法,但根本解决不了.今天再这里分享的这个方法很简单,不用重 ...
- 转载---解决 eclipse 中发布的java-web工程,jar包无法发布到tomcat 的lib下。
1.首先: Server Locations修改后会变灰,如果需要更改设置,则需要移除与Tomcat服务器关联的项目,同时,鼠标右键菜单Clean清除Tomcat服务器的状态^^就可以修改了. 此时E ...
- SoapUI SoapUI接口测试之编码设置
SoapUI接口测试之编码设置 by:授客 QQ:1033553122 问题描述: 实际测试过程中发现,SoapUI提交后的数据,在数据库中查看数据值存储,发现是乱码,如下图: 查找原因,show c ...
- 理解ES6中的Promise
一.Promise的作用 在ajax请求数据的过程中,我们可以异步拿到我们想要的数据,然后在回调中做相应的数据处理. 这样做看上去并没有什么麻烦,但是如果这个时候,我们还需要做另外一个ajax请求,这 ...
- echart参数设置——曲线图
{ title: { text: '请求返回码分布', subtext: '实时数据' }, tooltip: { trigger: 'axis', position: function (point ...
- [Winform-WebBrowser]-在html页面中js调用winForm类方法
在winform项目中嵌入了网页,想通过html页面调用后台方法,如何实现呢?其实很简单,主要有三部: 1.在被调用方法类上加上[ComVisible(true)]标签,意思就是当前类可以com组件的 ...
- jquery判断checkBox的checked
jquery判断checked的三种方法:.attr('checked): //看版本1.6+返回:”checked”或”undefined” ;1.5-返回:true或false.prop('c ...