最近公司新升级了服务器系统到CentOS6.7,精心做了一套系统优化方案

centos优化

  1. 配置网卡

  2. 修改主机名

  3. 关闭selinux,清空防火墙

  4. 新建普通用户并visudo授权

  5. 更改yum源,安装常用软件

  6. 定时任务,定时更新时间

  7. 精简开机启动项

  8. 定时任务在自动清理/var/spool/maildrop/目录垃圾文件,防止inode占满

  9. 更改ssh服务端口,禁止root用户远程连接

  10. 锁定关键文件系统

  11. 调整文件描述符大小

  12. 调整字符集,使其支持中文

  13. 去除系统及内核版本登录前的屏幕显示

  14. 内核参数优化

1、配置网卡(此处为克隆机所以删除了UUIDMAC

vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=none
IPV6INIT=no
USERCTL=no
IPADDR=10.0.0.100
GATEWAY=10.0.0.2
DNS2=223.5.5.5
DNS1=10.0.0.2
NETMASK=255.255.255.0
 
vim /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=none
IPV6INIT=no
USERCTL=no
IPADDR=10.0.0.100
GATEWAY=10.0.0.2
DNS2=223.5.5.5
DNS1=10.0.0.2
NETMASK=255.255.255.0

重启网卡eth1

ifdown eth1&&ifup eth1/etc/init.d/network restart
echo '>/etc/udev/rules.d/70-persistent-net.rules' >>/etc/rc.local
hostname zhang (临时修改)
vim /etc/sysconfig/network

3、检查DNS

阿里服务器

 223.5.5.5vim /etc/resolv.conf

(网卡配置文件中设置的优先启动)

4、关闭selinux

sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config
grep SELINUX=disabled /etc/selinux/config
setenforce 0
getenforce

清空防火墙

iptables -F
iptables -L 1>>~/install.ok 2>>install.bug
/etc/init.d/iptables save

5、新建普通用户并visudo授权

useradd zhang
id zhang
echo '123456'|passwd --stdin zhang
echo 'zhang    ALL=(ALL)       NOPASSWD: ALL' >>/etc/sudoers
visudo -c

6、更改yum

备份本机yum源
法1:自己配置好安装源配置文件,然后上传到linux
法2:使用镜像站点配置好的yum安装源配置文件
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.f1.ori
ls /etc/yum.repos.d/CentOS-Base.repo.f1.ori  1>>~/install.ok 2>>install.bug
yum makecache
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
yum install lrzsz tree sysstat -y
rpm -qa lrzsz tree nmap sysstat  1>>~/install.ok 2>>install.bug
sysstat   是用来检测系统性能及效率的工具 dos2unix将dos格式的文本转换为unix格式
nmap      网络扫描和主机检测
grep      过滤变色(实验用)
echo 'grep="grep --color=auto"' >>/etc/profile
. /etc/profile
grep 'grep="grep --color=auto"' /etc/profile  1>>~/install.ok 2>>install.bug

7、定时任务,定时更新时间

echo '*/5 * * * * /usr/sbin/ntpdate ntp1.aliyun.com >/dev/null 2>&1' >>/var/spool/cron/root
crontab -l 1>>~/install.ok 2>>install.bug

8、精简开机启动项

for n in `chkconfig --list|grep "3:on"|awk '{print $1}'`; do chkconfig $n off; done      
chkconfig --list|egrep 'crond|network|rsyslog|sshd|sysstat'|awk '{print "chkconfig "$1" on"}'|bash
chkconfig --list|grep "3:on" 1>>~/install.ok 2>>install.bug
mkdir /server/scripts -p
ls -l /server/scripts/ 1>>~/install.ok 2>>install.bug
echo '#bin bash \
find /var/spool/postfix/maildrop -type f|xargs rm -f' >/server/scripts/clean_mail.sh
cat /server/scripts/clean_mail.sh 1>>~/install.ok 2>>install.bug
echo '#clean /var/spool/postfix/maildrop \
00 00 * * * /bin/sh /server/scripts/clean_mail.sh' >>/var/spool/cron/root
crontab -l 1>>~/install.ok 2>>install.bug

10、更改ssh服务端口,禁止root用户远程连接

cp /etc/ssh/sshd_config{,f1.ori}
ls /etc/ssh/sshd_config.f1.ori 1>>~/install.ok 2>>install.bug
sed -ir '13 iPort 52113\nPermitRootLogin no\nPermitEmptyPasswords no\nUseDNS no\nGSSAPIAuthentication no' /etc/ssh/sshd_config
sed -n 13,17p /etc/ssh/sshd_config 1>>~/install.ok 2>>install.bug

11、锁定关键文件系统

chattr +i /etc/passwd
chattr +i /etc/inittab
chattr +i /etc/group
chattr +i /etc/shadow
chattr +i /etc/gshadow
lsattr +i /etc/passwd 1>>~/install.ok 2>>install.bug
lsattr +i /etc/inittab 1>>~/install.ok 2>>install.bug
lsattr +i /etc/group 1>>~/install.ok 2>>install.bug
lsattr +i /etc/shadow 1>>~/install.ok 2>>install.bug
lsattr +i /etc/gshadow 1>>~/install.ok 2>>install.bug

使用chattr命令后,为了安全我们需要将其改名

/bin/mv /usr/bin/chattr /usr/bin/  #
任意名称

 

13、调整字符集,使其支持中文

sed-i 's#LANG="en_US.UTF-8"#LANG="zh_CN.GB18030"#'/etc/sysconfig/i18nsource/etc/sysconfig/i18n

14、去除系统及内核版本登录前的屏幕显示

>/etc/issue
>/etc/redhat-release

老男孩28章曾 整理发布。

在这里要感谢 老男孩 老师的教导

 

一键执行优化

echo '#######克隆机清空文件#####' 1>>~/install.ok 2>>install.bug
echo '>/etc/udev/rules.d/70-persistent-net.rules' >>/etc/rc.local 
tail -1 /etc/rc.local 1>>~/install.ok 2>>install.bug
echo '#######修改主机名#####' 1>>~/install.ok 2>>install.bug
hostname zhang
sed -i 's#HOSTNAME=.*#HOSTNAME=zhang#g' /etc/sysconfig/network
cat /etc/sysconfig/network 1>>~/install.ok 2>>install.bug
echo '#######关闭selinux#####' 1>>~/install.ok 2>>install.bug
sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config
grep SELINUX=disabled /etc/selinux/config 1>>~/install.ok 2>>install.bug
setenforce 0
getenforce 1>>~/install.ok 2>>install.bug
echo '#######关闭selinux#####' 1>>~/install.ok 2>>install.bug
iptables -F
iptables -L 1>>~/install.ok 2>>install.bug
/etc/init.d/iptables save
echo '#######新建用户sudo授权#####' 1>>~/install.ok 2>>install.bug
useradd zhang
id zhang 1>>~/install.ok 2>>install.bug
echo '123456'|passwd --stdin zhang
echo 'zhang    ALL=(ALL)       NOPASSWD: ALL' >>/etc/sudoers
visudo -c 1>>~/install.ok 2>>install.bug
echo '#######更改yum源安装常用软件#####' 1>>~/install.ok 2>>install.bug
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
ls /etc/yum.repos.d/CentOS-Base.repo.backup 1>>~/install.ok 2>>install.bug
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
yum install lrzsz tree sysstat -y
rpm -qa lrzsz tree nmap sysstat  1>>~/install.ok 2>>install.bug
echo '#######grep变色#####' 1>>~/install.ok 2>>install.bug
echo 'grep="grep --color=auto"' >>/etc/profile
. /etc/profile
grep 'grep="grep --color=auto"' /etc/profile  1>>~/install.ok 2>>install.bug
echo '#######定时更新时间#####' 1>>~/install.ok 2>>install.bug
echo '*/5 * * * * /usr/sbin/ntpdate ntp1.aliyun.com >/dev/null 2>&1' >>/var/spool/cron/root
crontab -l 1>>~/install.ok 2>>install.bug
echo '#######精简开机启动项#####' 1>>~/install.ok 2>>install.bug
for n in `chkconfig --list|grep "3:on"|awk '{print $1}'`; do chkconfig $n off; done      
chkconfig --list|egrep 'crond|network|rsyslog|sshd|sysstat'|awk '{print "chkconfig "$1" on"}'|bash
chkconfig --list|grep "3:on" 1>>~/install.ok 2>>install.bug
echo '#######清理临时邮件队列#####' 1>>~/install.ok 2>>install.bug
mkdir /server/scripts -p
ls -l /server/scripts/ 1>>~/install.ok 2>>install.bug
echo '#bin bash \
find /var/spool/postfix/maildrop -type f|xargs rm -f' >/server/scripts/clean_mail.sh
cat /server/scripts/clean_mail.sh 1>>~/install.ok 2>>install.bug
echo '#clean /var/spool/postfix/maildrop \
00 00 * * * /bin/sh /server/scripts/clean_mail.sh' >>/var/spool/cron/root
crontab -l 1>>~/install.ok 2>>install.bug
cp /etc/ssh/sshd_config{,.f1.ori}
ls /etc/ssh/sshd_config.f1.ori 1>>~/install.ok 2>>install.bug
echo '#######ssh安全#####' 1>>~/install.ok 2>>install.bug
sed -ir '13 iPort 52113\nPermitRootLogin no\nPermitEmptyPasswords no\nUseDNS no\nGSSAPIAuthentication no' /etc/ssh/sshd_config
sed -n 13,17p /etc/ssh/sshd_config 1>>~/install.ok 2>>install.bug
echo '#######锁定重要文件#####' 1>>~/install.ok 2>>install.bug
chattr +i /etc/passwd
chattr +i /etc/inittab
chattr +i /etc/group
chattr +i /etc/shadow
chattr +i /etc/gshadow
lsattr +i /etc/passwd 1>>~/install.ok 2>>install.bug
lsattr +i /etc/inittab 1>>~/install.ok 2>>install.bug
lsattr +i /etc/group 1>>~/install.ok 2>>install.bug
lsattr +i /etc/shadow 1>>~/install.ok 2>>install.bug
lsattr +i /etc/gshadow 1>>~/install.ok 2>>install.bug
echo '#######清空内核系统名#####' 1>>~/install.ok 2>>install.bug
>/etc/issue
>/etc/redhat-release