linux初始化系统脚本,一键linux系统初始化脚本

一、前言

一般我们在安装新的系统时,系统的一些默认配置对我们来说是不行的,所以我们要自定义初始化系统。

二、需求

1)设置时区并把同步时间加入计划任务

2)禁用selinux

3)清空原防火墙默认策略只保留ssh

4)历史命令显示操作时间级用户

5)创建ALL权限用户并禁止root远程登录

6)禁止定时任务发送邮件

7)设置最大打开文件数

8)减少swap使用

9)系统内核参数优化

10)安装系统性能分析工具及其他常常用工具

注意:安装新系统最好最小化安装。

三、脚本正文

#!/bin/bash

#设置时区并同步时间

ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

if ! crontab -l |grep ntpdate &>/dev/null ; then

(echo "* 1 * * * ntpdate time.windows.com >/dev/null 2>&1";crontab -l) |crontab

fi

#禁用selinux

sed -i '/SELINUX/{s/enforcing/disabled/}' /etc/selinux/config

#安装命令补全包

yum install -y epel-release &>/dev/null 2>&1

yum install -y bash-completion &>/dev/null 2>&1

#清空firewall防火墙原来所有的规则,只保留ssh

cd /etc/firewalld/zones/

echo "" > public.xml

cat >> public.xml << EOF

Public

EOF

firewall-cmd --reload >/dev/null 2>&1

#历史命令显示操作时间

if ! grep HISTTIMEFORMAT /etc/bashrc; then

echo 'export HISTTIMEFORMAT="%F %T whoami "' >> /etc/bashrc

fi

#SSH超时时间

if ! grep "TMOUT=600" /etc/profile &>/dev/null; then

echo "export TMOUT=600" >> /etc/profile

fi

#添加一个同root一样的超级用户,并禁止root远程登录

NEW_USER=admin

useradd $NEW_USER

echo 123456 |passwd --stdin $NEW_USER

#NEW_USER_ID=`cat /etc/passwd | grep $NEW_USER | awk -F ":" '{print $3}'`

#CHANGE=\$s/$NEW_USER_ID/0/

#sed -i "$CHANGE" /etc/passwd

sed -i "92a $NEW_USER ALL=(ALL) NOPASSWD:ALL" /etc/sudoers

sed -i 's/#PermitRootLogin yes/PermitRootLogin no/' /etc/ssh/sshd_config

systemctl restart sshd

#禁止定时任务向发送邮件

sed -i 's/^MAILTO=root/MAILTO=""/' /etc/crontab

#设置最大打开文件数

if ! grep "* soft nofile 65535" /etc/security/limits.conf &>/dev/null; then

cat >> /etc/security/limits.conf << EOF

* soft nofile 65535

* hard nofile 65535

EOF

fi

#系统内核优化

cat >> /etc/sysctl.conf << EOF

net.ipv4.tcp_syncookies = 1

net.ipv4.tcp_max_tw_buckets = 20480

net.ipv4.tcp_max_syn_backlog = 20480

net.core.netdev_max_backlog = 262144

net.ipv4.tcp_fin_timeout = 20

EOF

#减少SWAP使用

echo "0" > /proc/sys/vm/swappiness

#安装系统性能分析工具及其他

yum -y install gcc make autoconf vim sysstat net-tools iostat iftop iotp lrzsz &>/dev/null 2>&1

四、友情小命令

1)bash -x 脚本名 //执行脚本并且可以查看全部执行过程

2)如果脚本是在windows系统上所写,拷贝到linux系统上时,因为两种系统的系统格式不同,所以需要在linux系统上做如下操作:

yum -y install dos2unix

格式转换: dos2unix 脚本名字

3)执行ssh admin@192.168.197.137 登录服务器的时候,一般需要切换root用户,则执行:

“sudo -i” 命令,这样可以不需要输入root密码。

4)重点,本脚本执行完毕,必须重启系统方能全部生效!

五、结束语

我是大表哥,我为自己带盐,以后会不定时更新脚本,请支持正版,盗链可耻,

我的博客是:https://blog.51cto.com/zpf666/

各位朋友有什么不懂以及认为有什么错误之处,请在下方留言,谢谢!

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值