Linux系统安装后的调优及相关配置

一、网络配置

1、修改主机名

hostname可以查看当前系统的主机名

# hostnamectl set-hostname contos7mini 

# hostname #查看当前系统的主机名

2、配置网卡 

# vi /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0

ONBOOT=yes #系统启动时激活此设备

BOOTPROTO=static #网卡获得ip地址的方式,为static或dhcp

IPADDR=192.168.1.129 #静态指定IP,指定了网卡对应的ip地址(你自己设置的,可以远程连接,不要和其他局内ip重叠)

NETMASK=255.255.255.0 #子网掩码

3、配置DNS

# vi /etc/resolv.conf

nameserver 8.8.8.8

nameserver 114.114.114.114

# service network restart 重启网络服务和网卡

# ifconfig 可以查看网络设置

# ping 192.168.1.1 检查网关是否通

4、配置hosts

# echo "$IP $HOSTNAME"  >> /etc/hosts


二、其他常用配置

整体规划遵从最小化原则,具体包括:系统安装最小化、YUM安装软件包最小化、开机自启动服务最小化、操作命令最小化、登录系统用户最小化、普通用户权限最小化、系统文件及目录权限最小化!

1、修改用户密码

#echo "password"| passwd --stdin root &&history-c

2、清空iptables

企业中一般配置外网IP的Linux服务器才需要开启防火墙,但针对有外网IP的高并发、高流量业务服务器不建议开启防火墙,这样会有较大的性能损失、导致访问速度很慢,建议使用硬件防火墙!

# iptables -F

# /etc/init.d/iptables save

# /etc/init.d/iptables stop

# chkconfig iptables off

3、SELinux设置

SELinux为Security-Enhanced Linux简称,实际生产环境中根据情况开启,以下为关闭设置。

#sed -i's/SELINUX=enforcing/SELINUX=disabled/'/etc/selinux/config //重启后永久生效

# setenforce 0 //临时设置selinux,避免业务主机重启

# getenforce //查看selinux状态

4、配置静态IP

方法一:图形界面配置方式

# setup

方法二:修改配置文件

# vim /etc/sysconfig/network-scripts/ifcfg-eth0

注意:在虚拟机克隆后,出现网卡MAC地址一致、UUID、网卡名称命名等问题的解决办法。

# rm -rf /etc/udev/rules.d/70-persistent-net.rules

5、配置主机和IP映射关系

# vim /etc/hosts127.0.0.1 

localhost localhost.localdomain localhost4 localhost4.localdomain4  ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6  

192.168.1.63 demo63.cn server01  

192.168.1.64 demo64.cn client01

6、修改主机名

# vim /etc/sysconfig/network

NETWORKING=yes 

HOSTNAME=demo63.cn  

NTPSERVERARGS=iburst

# hostname

demo63.cn

7、配置yum源

方法一:配置本地yum源

# mount /dev/sr0 /mnt/#echo"/dev/sr0 /mnt iso9660 defaults 0 0">> /etc/fstab

# rm -rf /etc/yum.repos.d/*

# cat > /etc/yum.repos.d/rhel6.repo <

> [rhel6-source]

> name=rhel6-source

> baseurl=file:///mnt

> enabled=1

> gpgcheck=0

> EOF

方法二:配置网络yum源

# cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bk

# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo

#sed -i's/$releasever/6.9/g'/etc/yum.repos.d/CentOS-Base.repo

# yum clean all

# yum repolist all

# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*

注意:

a)如下为实际生产中比较有用的软件包,建议安装。

# yum install tree telnet dos2unix sysstat lrzsz nc nmap -y

b)如系统没有安装YUM软件,可采用rpm安装方式。

# rpm -qa |grep yum

#rpm -qa|grep yum|xargs rpm-e--nodeps //不检查依赖,直接删除rpm包

#wget -O /test/yum-3.2.29-81.el6.centos.noarch.rpm http://mirrors.163.com/centos/6.9/os/x86_64/Packages/yum-3.2.29-81.el6.centos.noarch.rpm

#wget -O /test/yum-metadata-parser-1.1.2-16.el6.x86_64.rpm http://mirrors.163.com/centos/6.9/os/x86_64/Packages/yum-metadata-parser-1.1.2-16.el6.x86_64.rpm

#wget -O /test/yum-plugin-fastestmirror-1.1.30-40.el6.noarch.rpm http://mirrors.163.com/centos/6.9/os/x86_64/Packages/yum-plugin-fastestmirror-1.1.30-40.el6.noarch.rpm

# rpm -ivh yum-3.2.29-81.el6.centos.noarch.rpm yum-metadata-parser-1.1.2-16.el6.x86_64.rpm yum-plugin-fastestmirror-1.1.30-40.el6.noarch.rpm

8、修改运行级别

# vim /etc/inittabid:3: initdefault://级别3,即为文本模式,更改配置文件永久生效

# runlevel  //查看运行级别# init0  //关机(init5图形模式、init6重启)

9、精简开机系统自启动

企业生产环境中建议保留的五个服务,包括sshd(远程连接使用的服务)、rsyslog(记录日志时,系统调用的守护进程,CentOS6版本之前服务名为syslog)、network(激活/关闭网络接口时使用的服务)、crond(周期性执行系统或用户配置的任务时使用的服务)、sysstat(该服务用于监测系统性能及效率)。

方法一:调用图形化界面

在选择要启用的服务时,可采用# setup->system service,也可直接命令调用,具体如下:

# ntsysv

方法二:执行命令

#chkconfig --list |grep 3:on |grep -vE"crond|network|rsyslog|sshd|sysstat"|awk'{print “chkconfig ”$1 " off"}'|bash

或者

#chkconfig --list |grep 3:on |grep -vE "crond|network|rsyslog|sshd|sysstat"|awk '{print $1}'|sed -r 's#(.*)#chkconfig \1 off#g'|bash //注意蓝色处格式中无空格

方法三:执行脚本

# LANG=en //调整为英文字符集,方便过滤中文字符串# chkconfig --list |grep 3:on //查看级别3上开启的服务# vim service-off.sh //执行脚本关闭不必要服务

a) Shell脚本一:

#!/bin/bash

LANG=en

for name in `chkconfig --list |grep 3:on |awk'{print $1}'`;do

        chkconfig --level 3$name off;done

for name in crond network rsyslog sshd sysstat;do

        chkconfig --level 3 $name on;done

chkconfig --list |grep 3:on

b) Shell脚本二:(默认情况下级别3文本模式都是开启的状态)

#!/bin/bash

LANG=en

for name in `chkconfig --list |grep 3:on |awk'{print $1}'|grep -vE "crond|network|rsyslog|sshd|sysstat"`;do

        chkconfig --level 3 $name off;done

chkconfig --list |grep 3:on

执行脚本:

# chmod +x service-off.sh# . /service-off.sh

10、远程登录配置

实际生产环境中,建议隐藏或更改默认ssh远程连接端口!

#cp-a/etc/ssh/sshd_config{,.`date +"%F%H%M%S"`}

方法一:修改配置文件

# vim /etc/ssh/sshd_configPort2233//sshd服务端口号PermitRootLogin no//是否允许root登录PermitEmptyPasswords no//是否允许密码为空的用户登录UseDNS no//sshd是否对远程主机名进行反向解析GSSAPIAuthentication no//解决Linux之间使用ssh远程连接慢的问题

方法二:通过sed快速修改增加内容

#sed -ir'13 iPort 2233\nPermitRootLogin no\nPermitEmptyPasswords no\nUseDNS no\nGSSAPIAuthentication no'/etc/ssh/sshd_config#sed -n'13,17p'/etc/ssh/sshd_config# /etc/init.d/sshd reload  //平滑重启,不影响正在SSH连接的其他用户# /etc/init.d/sshd restart  //注意与reload区分

11、sudo提权配置

#cp-a/etc/sudoers{,.`date +"%F%H%M%S"`}#echo"admin1 ALL=(ALL) NOPASSWD:ALL">>/etc/sudoers# tail -5 /etc/sudoers

使用如下命令可以直接修改配置文件:

# visudo  # visudo -c  //对修改的配置文件做语法检查

12、中文显示设置

实际生产环境中,建议使用英文显示设置。

#cp-a/etc/sysconfig/i18n{,.`date +"%F%H%M%S"`}#echo'LANG="zh_CN.UTF-8"'>/etc/sysconfig/i18n#source/etc/sysconfig/i18n //使修改的配置文件生效#echo$LANG

13、设置时间同步任务

#echo'# Time sync by Jerome at 2017-6-8 '>> /var/spool/cron/root#echo'*/5 * * * * /usr/sbin/ntpdate time.nist.gov > /dev/null 2>&1'>> /var/spool/cron/root#crontab-l//查看定时任务#crontab-e//进行定时任务编辑

14、部分环境变量的设置

对配置文件/etc/profile进行修改为全局修改。

#echo'export TMOUT=300'>> /etc/profile  //设置账号超时时间#echo'export HISTSIZE=5'>> /etc/profile //设置命令行历史记录数#echo'export HISTFILESIZE=5'>> /etc/profile //设置历史文件记录数量#source/etc/profile# tail -3 /etc/profile

15、调整文件描述符数量

文件描述符是由无符号整数表示的句柄,进程使用它来标识打开的文件。

#ulimit-n

方法一:

#cp-a/etc/security/limits.conf{,.`date +"%F%H%M%S"`}#echo'* - nofile 65535'>> /etc/security/limits.conf# tail -1 /etc/security/limits.conf

方法二:

#cp-a/etc/rc.local{,.`date +"%F%H%M%S"`}# cat >> /etc/rc.local <

16、定时清理邮件服务临时目录垃圾文件

# vim /scripts/del_temp_mail.sh

脚本内容:

#! /bin/bashfind /var/spool/postfix/maildrop/ -type f|xargs rm-f

执行脚本:

# chmod +x /scripts/del_temp_mail.sh# . /scripts/del_temp_mail.sh

设置定时任务:

#echo'00 00 * * * /bin/sh /scripts/del_temp_mail.sh > /dev/null 2>&1'>>/var/spool/cron/root#crontab-l# df -i  //查看磁盘inode总量、剩余量、使用量

17、隐藏Linux版本信息

# >/etc/issue# >/etc/issue.net# cat /etc/issue# cat /etc/issue.net

18、锁定系统关键文件

# chattr +i /etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/inittab# chattr -i /etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/inittab# lsattr /etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/inittab

19、为grub菜单加密

# /sbin/grub-md5-crypt#cp-a/etc/grub.conf{,.`date +"%F%H%M%S"`}# vim /etc/grub.conf

注意:password 最好加在splashimage和title之间,否则可能无法生效,设置完成后,在下次需要管理grub时,会有输入密码提示。

你可能感兴趣的:(Linux系统安装后的调优及相关配置)