Centos 7初始化脚本

今天跟大家分享一个我自己写的Linux初始化脚本,自认为写的不是很好。希望看到这篇文章的你,能暂时停留下你的脚步,给些修改意见,或者有什么需要补充的地方都可以提出来,大家共同进步,谢谢!
此脚本主要功能:1、关闭一些用不到的服务;2、关闭selinux;3、创建分区、格式化、挂载;4、设置一个ip命令别名;5、创建一个普通用户,并禁止root用户登陆;6、修改limit参数;7、配置时间同步;8、修改ssh端口号;9、初始化firewalld防火墙。

#!/bin/bash
#modify some service demeon   # 关闭不需要用到的一些服务
systemctl disable acpid
systemctl disable ip6tables
systemctl disable mcelogd
systemctl disable mdmonitor
systemctl disable netfs
systemctl disable nfslock
systemctl disable openct
systemctl disable postfix 
systemctl disable rpcbind
systemctl disable rpcgssd
systemctl disable rpcidmapd
systemctl disable auditd
systemctl disable haldaemon
systemctl disable lldpad
systemctl disable atd
systemctl disable kdump#Close selinux  # 关闭selinux
sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
sed -i 's/SELINUXTYPE=targeted/#&/' /etc/selinux/config
setenforce 0#Create new partitions   # 创建分区,并格式化及挂载
NEWDISK="/dev/xvdb"
FDK=`fdisk -l $NEWDISK | grep $NEWDISK | wc -l`
if [ $FDK -eq 0 ] ; thenecho "没有$NEWDISK设备,无法创建分区!"
elif [ $FDK -eq 1 ] ; thenfdisk $NEWDISK << EOF
n
p
1w
EOFpartprobesleep 2file ${NEWDISK}1if [ $? -eq 0 ] ; thenmkfs -t ext4 ${NEWDISK}1if [ $? -eq 0 ] && [ ! -d /data ] ; thenmkdir /datamount ${NEWDISK}1 /dataFST=`cat /etc/fstab | grep ${NEWDISK}1 | wc -l`if [ $FST -eq 0 ] ; thenecho "${NEWDISK}1 /data ext4 defaults 0 0" >> /etc/fstabecho "成功创建${NEWDISK}1分区,已成功格式化,并已挂载至/data下,已添加至/etc/fstab开机挂载!"elseecho "成功创建${NEWDISK}1分区,已成功格式化,并已挂载至/data下,请检查/etc/fstab文件是否已添加开机挂载!"fielseecho "格式化${NEWDISK}1失败;或者/data目录已存在,挂载失败!"fielseecho "没有找到${NEWDISK}1分区,未格式化!"fi
elseecho "${NEWDISK}1分区已存在,无须再创建!"
fi#modify bashrc   # 设置一个ip命令别名,用于查看本地IP地址
cat << EOF >>/etc/bashrc
alias ip='/sbin/ifconfig | grep '\''inet '\'' | awk '\''{print $2}'\'' | sed -e '\''/127\.0\.0\.1/d'\'''
EOF#Create an ordinary user   # 创建一个xuad用户,并允许其用sudo命令时不需要输入密码,并禁止root用户登陆
NEWUSER="xuad"
PASS="JKbL*u#E%317Y8c"
id $NEWUSER
if [ $? -eq 0 ] ; thenecho "$NEWUSER账户已存在,无法创建!"
elseuseradd $NEWUSERecho $PASS | passwd --stdin $NEWUSERif [ $? -eq 0 ] ; thenecho "$NEWUSER账户创建成功!"sed -i "/^root/a\$NEWUSER\tALL=(ALL)\tNOPASSWD: ALL" /etc/sudoerssed -i '/^PermitRootLogin/s/^/#/g' /etc/ssh/sshd_configsed -i '/PermitRootLogin/a\PermitRootLogin no' /etc/ssh/sshd_configelseecho "$NEWUSER账户创建失败!"fi
fi#system settings   # 修改limit参数
cat << EOF >>/etc/security/limits.conf
* soft nofile 65535
* hard nofile 65535
EOF#设置开机自动同步时间
cat << EOF >>/etc/rc.d/rc.local
/usr/sbin/ntpdate ntp.xuadup.net && hwclock -w
EOF#modify ntp server   # 每天早上6点自动同步时间
echo "00 */6 * * * /usr/sbin/ntpdate ntp.xuadup.net && hwclock -w">/tmp/ntpcron.txt;crontab /tmp/ntpcron.txt#modify ssh port   # 修改ssh端口号
sed -i '/Port 22/s/^/#/g' /etc/ssh/sshd_config
sed -i '/Port 22/a\Port 5210' /etc/ssh/sshd_config
sed -i '/^GSSAPI/s/^/#/g' /etc/ssh/sshd_config
sed -i '/GSSAPI options/a\GSSAPIAuthentication no' /etc/ssh/sshd_config#service sshd restart   # 重启sshd服务,并执行防火墙策略
if [ $? -eq 0 ] ; thensystemctl restart sshdsh ./firewalld_linuxecho "sshd服务重启成功,远程登陆端口已设置为55210"
elseecho "sshd服务配置有问题,请检查!"
fi

firewalld防火墙脚本如下:

#!/bin/bash
systemctl stop firewalld
\cp -p /usr/lib/firewalld/zones/drop.xml /etc/firewalld/zones/
systemctl start firewalld
firewall-cmd --set-default-zone=drop
firewall-cmd --permanent --zone=drop --change-interface=eth0
firewall-cmd --permanent --zone=drop --add-protocol=icmp
firewall-cmd --permanent --zone=drop --add-masquerade
firewall-cmd --permanent --zone=drop --add-rich-rule="rule family="ipv4" source address="192.168.2.208" port protocol="tcp" port="5210" accept"
firewall-cmd --permanent --zone=drop --add-rich-rule="rule family="ipv4" source address="192.168.2.206" port protocol="tcp" port="5210" accept"
firewall-cmd --permanent --zone=drop --add-rich-rule="rule family="ipv4" source address="116.226.230.115" port protocol="tcp" port="8023" accept"
firewall-cmd --reload

转载于:https://blog.51cto.com/andyxu/2143956

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/538239.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Hive-sql与SQL的区别

总体一致&#xff1a; Hive-sql与SQL基本上一样&#xff0c;因为当初的设计目的&#xff0c;就是让会SQL不会编程MapReduce的也能使用Hadoop进行处理数据。 因此&#xff0c;大胆使用SQL的&#xff0c;如果遇到不对的&#xff0c;再查。 区别&#xff1a; Hive没有delete和u…

python闰年多一天_记一个 python datetime 闰年问题

python中datetime是比较常用的&#xff0c;平时用起来也没什么问题&#xff0c;但是今天2020年2月29日服务器却开始报错了&#xff0c;这里有个平时难以注意的坑服务器上跑的是新浪网的爬虫&#xff0c;抓取的页面信息中带有日期 XX月XX日&#xff0c;需要strfptime转化一下&am…

linux find 按类型查找,Linux find查找find命令详解

玩蛇网推荐图文教程&#xff1a;python 列表Linux命令有很多&#xff0c;今天要介绍的是常用的基础命令中的find命令。find是Linux系统管理员所喜爱用的必备工具命令之一&#xff0c;它的作用是可以很轻松地找到你想要的文件&#xff0c;一个命令就可以在众多文件中找到你的目标…

window安装gcc编译器

在使用 GraphLab Create 时&#xff0c;导入包失败&#xff0c;提示libs没有的导入&#xff0c;而这些libs的编译是需要gcc。 1、访问&#xff1a;http://www.mingw.org/ 下载。 2、双击安装 3、安装好后会弹出下面的组件安装界面 3、找到mingw32-gcc-g&#xff08;注意cl…

视频AI,助力体育赛事转播走进智能时代

摘要&#xff1a;2018俄罗斯世界杯经过近20天的激战&#xff0c;已经进入到最关键的阶段。本次赛事除了精彩纷呈的比赛之外&#xff0c;还加入很多高科技的元素&#xff0c;例如门线、VAR技术等等。让本届世界杯成为科技含量最高的一届世界杯。2018俄罗斯世界杯经过近20天的激战…

python求同构数_用c语言求1到1000的同构数_后端开发

python与平台有关吗_后端开发Python与平台无关&#xff0c;因为Python是跨平台的语言&#xff0c;Python作为脚本语言&#xff0c;是解释执行的&#xff0c;所以能跨平台&#xff0c;前提是必须要有一个对应的解释器。具体请看实例&#xff1a;python中count函数的用法详解_后端…

element表格实现树形全选_很实用!word中全选的快捷键介绍及使用方法

全选快捷键可以提高我们在操作word时工作效率&#xff0c;在操作Word2003中怎么对文档中的文字进行全选呢?下面为大家提供几种全选的方法&#xff0c;绝对好用。Word怎样全选?方法一、使用Word全选快捷键“CtrlA”进行全选(也适用于电子表格);方法二、展开菜单栏中的“编辑”…

am3352 linux 内核 编译,am335x uboot, kernel 编译

一、设置环境变量// 写在家目录下面的 .bashrc 里面export KERNEL_PATH~/aplex/kernel3.2.0 // kernel 路径export UBOOT_PATH~/aplex/uboot2011.09 // u-boot 路劲export ROOTFS_PATH~/aplex/filesystemexport TOOLFS_PATH~/aplex/toolsexport ARCHarm // 设置平台类型export …

Docker的应用场景

原文链接&#xff1a;http://blog.csdn.net/dev_csdn/article/details/78424803 ------------------------------------------------------------------- Docker是开发人员和系统管理员构建&#xff0c;发布和运行分布式应用程序的开放平台&#xff0c;可以在笔记本电脑、数据…

cad多段线画圆弧方向_【学员分享】CAD多段线用法

原标题&#xff1a;【学员分享】CAD多段线用法1、执行方法&#xff1a;(1)菜单栏&#xff1a;绘图→多段线(2)绘图功能区&#xff1a;绘图→多段线按钮(3)快捷键&#xff1a;PL2、使用方法(1)多段线与直线的区别&#xff1a;直线每一段都是分开的&#xff0c;图画完后不是一个整…

linux 视频编辑 ffmpeg,ffmpeg转码视频真的好用!(ffmpeg的简单使用方法)

说明转码和编辑视频今天用Android Studio(后面简称AS)里的模拟器给系统录屏&#xff0c;用来展示OpenGL可视化的东西&#xff0c;打算上传B站&#xff0c;后来发现AS只能保存webm格式和GIF格式的视频&#xff0c;并且文件体积巨大&#xff0c;视频图像也是顺时针旋转的。没办法…

requests库入门09-OAUTH认证

实际登陆中&#xff0c;认证用到的token会变的&#xff0c;不过可以在GIthub设置一个私人token。 如图&#xff0c;登录GIthub&#xff0c;然后用户下面选择Settings/Developer settings/Personal access tokens,点击Generate new token&#xff0c;然后随便输个描述&#xff0…

mysql期末考试试卷_mysql试题

net start mysqlfound_rows函数 返回select的总行数哪种操作能够实现实体完整性 设置外键数据模型三要素&#xff1a;数据结构、数据操作、完整性约束&#xff0c;哪项不属于数据模型 网状模型(层次、网状、关系、面向对象模型)触发器主要用于监视某个表的insert、update以及de…

深入了解HashMap

什么是hash&#xff1f;哈希算法将任意长度的二进制值映射为较短的固定长度的二进制值&#xff0c;这个小的二进制值称为哈希值。哈希值是一段数据唯一且极其紧凑的数值表示形式。如果散列一段明文而且哪怕只更改该段落的一个字母&#xff0c;随后的哈希都将产生不同的值。要找…

snort入侵检测系统下载Linux,入侵检测系统Snort 2.9.0.2 发布

Snort 是一个免费的、跨平台的软件包&#xff0c;用作监视小型 TCP/IP 网的嗅探器、日志记录、侵入探测器。Snort 是全世界上使用最广泛的入侵预防与侦测软件。Snort 有三种工作模式&#xff1a;嗅探器、数据包记录器、网络入侵检测系统。嗅探器模式仅仅是从网络上读取数据包并…

IRC BOT原来是利用IRC下发CC命令——在xx云环境遇到了,恶意软件开的是6666端口...

Backdoor/IRC.RpcBot 本词条缺少名片图&#xff0c;补充相关内容使词条更完整&#xff0c;还能快速升级&#xff0c;赶紧来编辑吧&#xff01;Backdoor/IRC.RpcBot是一些批处理文件、脚本文件和执行文件的集合&#xff0c;也是一种黑客工具&#xff0c;这些文件的名称是可以变化…

科大奥锐实验报告霍尔效应_大学物理实验报告系列之霍尔效应

【实验名称】霍尔效应【实验目的】1&#xff0e;了解霍尔效应实验原理以及有关霍尔器件对材料要求的知识。2&#xff0e;学习用“对称测量法”消除付效应的影响&#xff0c;测量试样的VH—IS&#xff1b;和VH—IM曲线。3&#xff0e;确定试样的导电类型、载流子浓度以及迁移率。…

Android studio http 代理设置

Android studio http 代理设置 大连东软信息学院镜像服务器地址: - http://mirrors.neusoft.edu.cn 端口&#xff1a;80

三位数倒序数C语言,C语言求助!一个三位数的逆序数,总是编不对

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼#include #include #include int main(){int n,a,b,c,sum,ge,shi,bai;printf("请输入一个三位整数&#xff1a;\n");scanf("%d",&n);nfabs(n);an/100;b(n-a*100)/10;cn%10;if(a>b&&b>c){gec…

DB2 存储过程中执行动态SQL的两种写法

样本代码&#xff1a; DROP PROCEDURE QUOTATION.COPY_SAMPLE; CREATE PROCEDURE QUOTATION.COPY_SAMPLE (IN tableNameFrom VARCHAR(30), IN tableNameTo VARCHAR(30), INOUT copyResult INTEGER)BEGINDECLARE SQLCODE INTEGER DEFAULT 0;SET copyResult 0;-- Proecss 1BEGIN…