#!/bin/bash

######the system first start configuretion #####for install 

####copy right by donglei##############

#1、配置sysctl

mv /etc/sysctl.conf  /etc/sysctl.bak

echo "############################the new config for sysctl ###########

net.ipv4.ip_forward = 0

net.ipv4.conf.default.rp_filter = 1

net.ipv4.conf.default.accept_source_route = 0

kernel.sysrq = 0

kernel.core_uses_pid = 1

net.ipv4.tcp_syncookies = 1

kernel.msgmnb = 65536

kernel.msgmax = 65536

kernel.shmmax = 68719476736

kernel.shmall = 4294967296

kern.maxfiles = 65536

kern.maxfilesperproc = 32768

net.core.rmem_default = 262144

net.core.wmem_default = 262144

net.core.rmem_max = 262144

net.core.wmem_max = 262144

net.inet.udp.checksum = 1

net.inet.tcp.syncookies = 1

net.ipv4.tcp_synack_retries = 2

net.ipv4.tcp_syn_retries = 2

net.ipv4.tcp_keepalive_time = 30

net.ipv4.tcp_keepalive_probes = 2

net.ipv4.tcp_keepalive_intvl = 2

net.ipv4.tcp_fin_timeout = 30

net.ipv4.tcp_tw_reuse = 1 

kernel.sem = 250 32000 100 128

fs.file-max = 65536

net.ipv4.ip_local_port_range = 1024 65000" >> /etc/sysctl.conf

chmod 644 /etc/sysctl.conf

#2、配置ipv6

echo "##########ipv6-disabled########### 

alias net-pf-10 off

alias ipv6 off" >> /etc/modprobe.d/dist.conf

echo "##############ipv6-disabled#########

NETWORKING_IPV6=no" >> /etc/sysconfig/network

/sbin/chkconfig ip6tables off

#3、配置系统时钟

echo "##############system_clock###########

01 * * * * root ntpdate 172.17.1.150; hwclock --systohc" >>/etc/crontab

#4、配置bash环境,每次命令行显示当前位置和时间,当前仅仅针对root设置

echo "export  PS1='\033[1;33m\H \033[1;34m[\w] \033[1;35m\D{%D %T}\n\[\033[1;36m\]\u@pts/\l \[\033[00m\]\$ '" >> /root/.bashrc 

#5、配置系统服务启动项

for i in `ls /etc/rc3.d/S*`

do

servi=`echo $i|cut -c 15-`

case $servi in

cpuspeed | crond | irqbalance | microcode_ctl | sendmail)

;;

*)

echo "change $servi to off" >>./log.log

chkconfig $servi off

service $servi stop

;;

esac

done

#6、配置系统默认语言环境

mv /etc/sysconfig/i18n  /etc/sysconfig/i18n.bak

echo "#########set new language by admin#######

LANG="zh_CN.UTF-8"

SUPPORTED="zh_CN.UTF-8:zh_CN:zh:en_US.UTF-8:en_US:en"

SYSFONT="latarcyrheb-sun16" " >/etc/sysconfig/i18n

chmod 644 /etc/sysconfig/i18n

#7、配置selinux

sed -i -e 's/^SELINUX=.*/LANG="SELINUX=disabled/' -e 's/^SELINUXTYPE=.*/SELINUXTYPE=disabled/' /etc/sysconfig/selinux

#8、关闭iptables

service iptables stop 

chkconfig iptables off

#9、配置root用户不能直接登录系统

mv /etc/ssh/sshd_config /etc/ssh/sshd_config.bak

grep -Ev '^$|^#' /etc/ssh/sshd_config.bak >/etc/ssh/sshd_config

chmod 600 /etc/ssh/sshd_config

sed /PermitRootLogin/d /etc/ssh/sshd_config 

sed /ClientAliveCountMax/d /etc/ssh/sshd_config 

echo "######ssh security config#######

PermitRootLogin no

ClientAliveCountMax 10 " >>/etc/ssh/sshd_config

service sshd restart

LINUX 系统初始化脚本的更多相关文章

  1. Linux系统初始化脚本

    #查看centos的版本号 CentOS_version=`cut -d /etc/centos-release | cut -d` #改变PS3格式 PS3="Please enter t ...

  2. centos7 系统初始化脚本

    现在自己的本地虚拟机系统,直接安装的是centos7.2 mini版,安装完成发现好多东西都没有安装,所以写了一个简单的系统初始化脚本,让自己可以省一些力气,哈哈 人懒主要是. 下面贴出写的脚本,脚本 ...

  3. Linux系统初始化流程

    POST-->BIOS(Boot Sequence)-->MBR(bootloader)-->Kernel(initrd)-->/sbin/init(/etc/inittab) ...

  4. Linux系统初始化过程及运行级别简介

    Linux开机过程: 1 开机自检(BIOS):初始化硬件,查找启动介质 2 MBR引导 3 GRUB引导菜单:GRUB程序安装在Bootloader 4 加载内核(kernel) 5 运行INIT进 ...

  5. shell实现增加删除Linux系统用户脚本(密码为随机)

    README shell环境下运行脚本,根据需求选择相应的功能. List \t\t create the userlist 这一步是必须执行的,脚本会识别本地当前目录下的文件 Useradd \t\ ...

  6. linux系统初始化——文件系统初始化步骤

    linux文件系统初始化步骤 System V init启动过程 概括地讲,Linux/Unix系统一般有两种不同的初始化启动方式. 1) BSD system init 2) System V in ...

  7. Linux系统初始化配置项(centos7)

    主机刚安装完系统,会做一些配置上的优化. 修改时区 通过命令将时区设置为亚洲/上海. timedatectl set-timezone Asia/Shanghai #centos7 cp /usr/s ...

  8. Centos7系统初始化脚本

    前言: 因公司业务增加,陆续新增服务器,时不时的来几台,手动地一台台对服务器初始化操作感觉太麻烦. 于是乎,根据初始化需求整合了一个初始化脚本,实现批量脚本初始化操作. 说明: 本脚本根据自身需求编写 ...

  9. linux系统备份脚本

    前言 之前写过<<linux系统简单备份的脚本>>, 最开始一直用着,后来觉得有必要改进下它,不管是从操作方式上还是脚本的工作方式上.之所以这么看重备份,是因为我经历过磁盘损坏 ...

随机推荐

  1. Java可以远程操作服务器的协议笔记

    1.SCPClient(本地复制到远程.远程复制到本地.目前未看到可以远程操作文件) 2.SMB协议(可以远程操作文件:新增.修改) 3.SFTPv3Client(可以远程操作文件:新增.修改)

  2. 简单暴力的TP5多主题方案

    一个小项目,需要配置多套前端主题.解决的思路是根据域名加载不同的主题配置. 一.在应用目录 application 下创建 common 目录. 二.application/common 目录下创建 ...

  3. hdu5321 beautiful set(莫比乌斯反演)

    设\(cnt[i]\)为权值为i的倍数的数的数量. \(f0[i],f1[i]\)分别为两种方法\(gcd=i\)的贡献是i的多少倍. \(F0[i],F1[i]\)分别为两种方法\(gcd\)为\( ...

  4. 关于.net core 在docker中监听地址设置踩坑记

    1.今天在做docker容器的时候发现如果将.net core 内部监听地址设置为localhost:8888. 2.在docker build -p 6444:8888 运行容器后,外部通过6444 ...

  5. Linux系统之间文件传输 scp 命令

    个人使用记录 scp /home/liwm/Downloads/mysql-5.5.32-linux2.6-x86_64.tar.gz root@192.168.122.3:/home/oldboy/ ...

  6. Linux Kernel 5.1 RC5发布

    我们距离正式的Linux 5.1内核发布还有不到一个月的时间,而今天Linus Torvalds宣布推出预期的Linux Kernel 5.1 RC5版本.Linus Torvalds专门评论了Lin ...

  7. 用Maven+IDEA+Eclipse组合获得最好的OpenJML体验

    OpenJML+SMTSolver的形式化验证想必大家都已经尝试过了.大家或许体验的更多的是IDEA上命令行输出版本的OpenJML插件,但真正得到官方支持的完全版OpenJML是它的Eclipse版 ...

  8. 2015 Multi-University Training Contest 1 Assignment

    Assignment Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total ...

  9. XCL-Chart柱形图的期望线/分界线

    周日在柱形图上加了两个小功能,当中之中的一个是加上了期望线/分界线,功能非常小,但我个人非常喜欢这个功能(好像之前也没看到别的图表库原生支持这个. ) 主要是加上这些小小的横线后,能非常明显的区分出数 ...

  10. mysql-幻读及其例子

    第一步建表并插入5条记录:  接下来我们看下大部分mysql所说的幻读现象: 事务1(开启事务查询发现没有记录6准备插入):  事务2(开启事务,发现没有记录6插入,并提交事务):  事务1:查询发现 ...