001、Linux系统安装后的调优及相关配置
整体规划遵从最小化原则,具体包括:系统安装最小化、YUM安装软件包最小化、开机自启动服务最小化、操作命令最小化、登录系统用户最小化、普通用户权限最小化、系统文件及目录权限最小化!
1、修改用户密码
# echo "centos" |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/hosts
127.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 <<EOF
> [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/inittab
id: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_config
Port 2233 //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 <<EOF
# -S use the 'soft' resource limit
# -H use the 'hard' resource limit
# -n the maximum number of open file descriptors
ulimit -HSn 65535
# -s the maximum stack size
ulimit -s 65535
EOF
16、定时清理邮件服务临时目录垃圾文件
# vim /scripts/del_temp_mail.sh
脚本内容:
#! /bin/bash
find /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时,会有输入密码提示。
转载于:https://blog.51cto.com/guogyangq/2092316
上一篇: AMD RX 5500 XT显卡首次现身:解锁128SP
下一篇: Linux系统调优参数