CentOS6.6系统安装完成后还需要做一些配置与优化:

一:Linux内核版本号介绍

查看内核版本:

[root@Gin scripts]# uname -r
2.6.32-504.el6.x86_64

2 表示主版本号,有结构性变化才会更改

6 表示次版本号,新增功能时才变化,一般奇数表示测试版,偶数表示开发版

32 表示对次版本的修订次数或补丁包数

504 代表编译的次数,每次编译可对少数程序优化或修改

el6 用来表示版本的特殊信息,有较大的随意性

e1 代表企业版linux;pp代表测试版;fc代表fedora core;rc代表候选版本;

x86_64表示64位

二:安装系统补装工具

[root@Gin scripts]# yum install tree nmap sysstat lrzsz dos2unix -y

如果需要更新补丁则执行(更新所有软件到最新版本):yum update

注:不要轻易做,线上如非必要尽量不做,除非有已知的安全漏洞,会升级内核!简单介绍下yum update 与 yum upgrade的区别:

yum -y update:升级所有包,改变软件设置和系统设置,系统版本内核都升级

yum -y upgrade:升级所有包,不改变软件设置和系统设置,系统版本升级,内核不改变

上面5个工具的简单介绍:

tree:以树状图列出目录的内容
nmap:Nmap即网络映射器对Linux系统/网络管理员来说是一个开源且非常通用的工具。Nmap用于在远程机器上探测网络,执行安全扫描,网络审计和搜寻开放端口!详细使用文章:http://os.51cto.com/art/201401/428152.htm

sysstat:Sysstat是一个非常方便的工具,它带有众多的系统资源监控工具,用于监控系统的性能和使用情况!详细介绍文章:https://linux.cn/article-4025-1.html

lrzsz:在SecureCRT这样的ssh登录软件里, 通过在Linux界面里输入rz/sz命令来上传/下载文件

dos2unix:dos2unix命令用来将DOS格式的文本文件转换成UNIX格式

三:配置网络

通过setup命令简单配置网络

[root@Gin scripts]# setup

调出设置面板:

前面三项默认即可,配置Primary DNS Server为:8.8.8.8;Secondary DNS Server为:202.106.0.20;然后保存退出!

修改配置文件:vi /etc/sysconfig/network-scripts/ifcfg-eth0中的(上面的配置实质是在修改该文件)

ONBOOT=yes		#开机启动

重启网卡:

[root@Gin scripts]# ifup eth0
或者:
[root@Gin scripts]# /etc/init.d/network start

网卡重启后应该就可以连网!笔者虚拟机上使用的是NAT方式!

四:关闭防火墙

查看防火墙的状态:

[root@Gin scripts]# /etc/init.d/iptables status

临时关闭防火墙:

[root@Gin scripts]# /etc/init.d/iptables stop

关闭防火墙后,再次查看防火墙的状态:

[root@Gin scripts]# /etc/init.d/iptables status
iptables: Firewall is not running.

设置开机不启动,此方法在后面介绍!

五:关闭selinux

SELinux (Security-Enhanced Linux)是美国国家安全局(NSA)对于强制访问控制的实现,这个功能让系统管理员又爱又恨,这里考虑还是先把它关闭,至于安全问题,后面通过其他手段来解决。

查看SELinux状态命令:

/usr/sbin/sestatus -v      ##如果SELinux status参数为enabled即为开启状态
SELinux status: enabled
##也可以用这个命令检查
getenforce

临时关闭selinux:

[root@Gin scripts]# setenforce 0
setenforce: SELinux is disabled

永久关闭selinux:

修改/etc/selinux/config 文件,将SELINUX=enforcing改为SELINUX=disabled;或直接命令行修改:

[root@Gin scripts]# sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config

生产场景中是不允许重启机器的,上面已经修改了配置文件,但需要重启机器才能生效!我们可以使用临时关闭与永久关闭的方法,来使系统既临时生效,机器重启后也生效,这样就能达到不要重启系统就能使配置生效

设置开机不启动,后文会介绍!

六:添加一个普通账号

[root@Gin scripts]# useradd gin
[root@Gin scripts]# echo '123456'|passwd --stdin gin
Changing password for user gin.
passwd: all authentication tokens updated successfully.

七:将gin普通账户加入到sudo管理

[root@gin ~]# visudo
root ALL=(ALL) ALL //在这一行的下面添加下面的这行内容
gin ALL=(ALL) ALL

给gin用户加入root环境路径:

[root@Gin scripts]$ vim ~/.bash_profile
PATH=$PATH:$HOME/bin:/usr/local/sbin:/sbin:/usr/sbin
[root@Gin scripts]$ source ~/.bash_profile //重新读取.bash_profile文件里的配置
[root@Gin scripts]$ echo $PATH
/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/home/poe/bin:/home/poe/bin:/usr/local/sbin:/sbin:/usr/sbin
这样,用gin账号登录时就不会出现命令找不到的情况

visudo命令的作用与用法,请关注本博客!

八:配置国内yum源

这里介绍两种配置方法:

配置前先备份/etc/yum.repos.d/CentOS-Base.repo文件

[root@Gin scripts]# cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.gin.20170125

1:手动配置!直接编辑/etc/yum.repos.d/CentOS-Base.repo文件

[root@gin ~]# vim /etc/yum.repos.d/CentOS-Base.repo
将该文件中以“mirrorlist=”开头的都注释掉,将baseurl开头的都取消注释,并把主域名修改为“http://mirror.sohu.com”,(也可以改成163,sina等域名),其他的不动
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=contrib
baseurl=http://mirror.sohu.com/centos/$releasever/contrib/$basearch/

2:直接下载国内其它的yum源(本例以淘宝的yum源为例)

打开网址:http://mirrors.aliyun.com/,找到centos后面的help,点击进去后就会看到CentOS各个版本,如图

由于前面已经备份过CentOS-Base.repo文件,这里就可以直接使用上面提供的命令,选择CentOS6下面的命令,复制执行即可

[root@Gin scripts]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo

补充:

wget:下载命令

参数-O --output-document=FILE   下载并以不同的文件名保存

wget命令详细用法见:http://www.cnblogs.com/ginvip/p/6350189.html

yum下载文件的存放位置:默认的存放路径是:/var/cache/yum

也可以在/etc/yum.conf文件中指定:

cachedir=/var/cache/yum/$basearch/$releasever		## 存放目录,可自定义
keepcache=0 ## 0为不保存下载的文件,1为保存
metadata_expire=1800 ## 过期时间

九:清理开机自启动的服务

首先通过下面的脚本命令关闭所有的开机自启动的服务:

[root@gin ~]# for poe in `chkconfig --list|grep 3:on|awk '{print $1}'`;do chkconfig --level 3 $poe off;done

再执行如下命令开启需要开机自启的服务:

[root@gin ~]# for poe in crond network syslog sshd; do chkconfig --level 3 $poe on;done

一条命令直接搞定上面两步:

[root@ClientA ~]# chkconfig --list|grep 3:on|awk '{print $1}'|grep -Ev "sshd|network|rsyslog|crond|sysstat"|sed -r 's#(.*)#chkconfig \1 off#g'|bash

补充:

|bash前面的命令主要就是拼接字符串,拼接成的形式是:chkconfig mysqld off;前面的命令的主要作用就是排除sshd,network,syslog,crond,sysstat这5个服务,其它的服务都拼接成 chkconfig xxxx off的形式。这里拼接出来的都是字符串,要想让字符串当成命令被执行,就需要交给操作系统的解释器来执行,也就是最后面的bash的作用!

sed 后面的 -r 参数的意义就是后面的正则不需要做转义,不加-r参数的话后面的括号,都需要加 \ 来做转义

生产环境一般刚装完系统的自启动服务期望的处理结果就是如下内容(5个):

[root@gin ~]# chkconfig --list|grep 3:on
crond 0:off 1:off 2:on 3:on 4:on 5:on 6:off
network 0:off 1:off 2:on 3:on 4:on 5:on 6:off
sshd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
#远程连接,必须开启,否则将无法连接linux服务器
syslog 0:off 1:off 2:on 3:on 4:on 5:on 6:off
#syslog是操作系统提供的一种机制,系统的守护程序通常会使用rsyslog将各种信息......
sysstat 0:off 1:off 2:off 3:on 4:off 5:off 6:off

十:更改ssh登陆配置

[root@gin ~]# cp /etc/ssh/sshd_config /etc/ssh/sshd_config.ori		//备份ssh配置文件
[root@gin ~]# vim /etc/ssh/sshd_config
//修改内容如下:
Port 52113 //ssh默认的连接端口必须要修改
PermitRootLogin no //root用户黑客都知道,禁止它远程登陆
PermitEmptyPasswords no //禁止空密码登陆
UseDNS no //不使用DNS

当然,测试环境这步也就无所谓了!

十一:服务器时间同步

[root@poe poe]# /usr/sbin/ntpdate time.nist.gov		#公认的时间服务器
25 Jan 11:01:56 ntpdate[1358]: step time server 216.229.0.179 offset -50.291883 sec

上面的命令只同步一次,生产场景中服务器需要每隔5-10分钟就要同步一下时间:

[root@poe poe]# echo "*/5 * * * * /usr/sbin/ntpdate time.nist.gov >/dev/null 2>&1" >>/var/spool/cron/root
[root@poe poe]# crontab -l
*/5 * * * * /usr/sbin/ntpdate time.nist.gov >/dev/null 2>&1

补充:

/dev/null :空设备,位桶,黑洞

下面的3种写法是等价的:

1>/dev/null 2>/dev/null

****** 1>/dev/null 2>&1

& >/dev/null

生产场景中一般利用一台服务器去同步公认的时间服务器,其他机器都同步前面已经同步到公认时间服务器的服务器!

十二:加大服务器文件描述符

有关文件描述符的详细介绍:http://www.cnblogs.com/ginvip/p/6350222.html

文件描述符概念:

  • 表示形式为整数数字,一般使用(0-65535)范围
  • 进程使用的时候会占用文件描述符(标识打开的文件)

查看默认文件描述符:

[root@Gin scripts]# ulimit -n
1024

临时修改文件描述符:

[root@Gin scripts]# ulimit -SHn 65535
[root@Gin scripts]# ulimit -n
65535

永久修改文件描述符:

[root@poe ~]# echo '*               -       nofile          65535' >>/etc/security/limits.conf
[root@gin ~]# tail -n1 /etc/security/limits.conf
* - nofile 65535

十三:调整内核参数文件 /etc/sysctl.conf

这个目录主要是配置一些系统信息,而且它的内容全部是对应于/proc/sys/这个目录的子目录及文件。

配置 Linux 内核参数修改后不用重启动更新配置: /sbin/sysctl -p

以下配置仅供参考,具体还得视服务器及业务而定:

net.vip4.tcp_fin_timeout = 2
net.vip4.tcp_tw_reuse = 1
net.vip4.tcp_tw_recycle = 1
net.vip4.tcp_syncookies = 1
net.vip4.tcp_keepalive_time = 600
net.vip4.ip_local_port_range = 4000 65000
net.vip4.tcp_max_syn_backlog = 16384
net.vip4.tcp_max_tw_buckets = 36000
net.vip4.route.gc_timeout = 100
net.vip4.tcp_syn_retries = 1
net.vip4.tcp_synack_retries = 1
net.core.somaxconn = 16384
net.core.netdev_max_backlog = 16384
net.ipv4.tcp_max_orphans = 16384
## 以下参数是对iptables防火墙的优化,防火墙不会提示,可以忽略不理
#net.vip4.ip_conntrack_max = 25000000
#net.vip4.netfilter.ip_conntrack_max = 25000000
#net.vip4.netfilter.ip_conntrack_tcp_timeout_established = 180
#net.vip4.netfilter.ip_conntrack_tcp_timeout_time_wait = 120
#net.vip4.netfilter.ip_conntrack_tcp_timeout_close_wait = 60
#net.vip4.netfilter.ip_conntrack_tcp_timeout_fin_wait = 120

打开/etc/sysctl.conf 文件,在尾部,粘贴上面的内容到文件;然后执行/sbin/sysctl -p让参数生效

网络状态说明及优化命令和优化细节请看:http://www.cnblogs.com/ginvip/p/6350252.html

十四:隐藏Linux软件名及内核版本

系统默认的/etc/issue文件内容

[root@poe poe]# cat /etc/issue
CentOS release 6.6 (Final)
Kernel \r on an \m

使用以下命令清空该文件:

[root@Andy test]# >/etc/issue
或:
[root@poe ~]# cat /dev/null > /etc/issue

伪造Linux内核信息:

[root@poe ~]# vi /etc/motd
RedHat Enterprice Linux 6.6 (Final)
welcom to Gin linux.

这样再次登录时就会显示上面文件内容的信息:

Last login: Wed Jan 25 12:35:11 2016 from 192.168.17.1
RedHat Enterprice Linux 6.6 (Final)
welcom to Gin linux.

有关/etc/issue文件,/etc/issue.net文件,/etc/motd文件的区别见:http://www.cnblogs.com/ginvip/p/6350281.html

十五:Linux中文显示设置

可通过快捷的命令方式在/etc/sysconfig/i18n中添加如下内容,使其支持中文显示:

[root@poe ~]# cat /etc/sysconfig/i18n
LANG="en_US.UTF-8"
SYSFONT="latarcyrheb-sun16"
[root@poe ~]# cp /etc/sysconfig/i18n /etc/sysconfig/i18n.poe.origin
[root@poe ~]# sed -i 's#LANG="en_US.UTF-8"#LANG="zh_CN.UTF-8#g' /etc/sysconfig/i18n
[root@poe ~]# source /etc/sysconfig/i18n

更改完了服务端的字符集,还需要修改CRT客户端的字符集:

十六:设置linux默认的历史记录数

echo 'HISTSIZE=5' >>/etc/profile
echo 'HISTFILESIZE=5' >>/etc/profile
[root@poe poe]# tail -3 /etc/profile
HISTSIZE=5 ## 命令行的历史记录数量变量
HISTFILESIZE=5 ## 历史记录文件的命令数量变量(~/.bash_history)

更新配置文件:

source /etc/profile

补充:

history命令的其他操作:

history -c		## 清空所有历史记录
history -d 443 ##指定删除历史记录中的第443条记录

十七:为CRT终端设置超时时间

[root@poe poe]# export TMOUT=10		#10秒没有操作就退出!临时生效

永久生效:

[root@poe poe]# echo "export TMOUT=100" >>/etc/profile
[root@poe poe]# tail -1 /etc/profile
[root@poe poe]# source /etc/profile

十八:锁定关键系统文件,防止提权被篡改

锁定以下文件(哪些文件需要被锁定,视情况而定)

[root@poe ~]# chattr +i /etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/inittab

锁定后不能删除,不能修改,不能移动

想要更为安全,可以把chattr改名转移,防止被黑客利用,命令如下:

十九:清除多余的系统虚拟账号

操作前要先根据公司系统提供的服务确定哪些账号不需要使用,如果不确定那就不做此步优化,视情况而定

如果确定,那就可以在/etc/passwd文件中将此账户给注释掉

二十:为grub引导菜单加密码

如果安装系统时没有设置grub引导密码,可以使用如下密码添加密码:

1)先用/sbin/grub-md5-crypt产生一个md5密码串,如下:

[root@poe poe]# /sbin/grub-md5-crypt
Password:
Retype password:
$1$ij2G9/$MDnlYqVm7HEDnbroqdTff.

2)修改grub.conf文件

注意:password要加在splashimage和title之间这段,否则可能不生效

hiddenmenu
password --md5 $1$ij2G9/$MDnlYqVm7HEDnbroqdTff.
title CentOS 6 (2.6.32-504.el6.x86_64)

二十一:禁止linux系统被ping

[root@poe poe]# echo "net.ipv4.icmp_echo_ignore_all=1" >>/etc/sysctl.conf
[root@poe poe]# sysctl -p

此优化后期可以使用iptables来替代,一般不需要禁止ping

Linux系统安全最小化原则说明

1)安装Linux系统最小化,即选包最小化,yum安装软件包也要最小化,无用的包不装

2)开机自启动服务最小化,即无用的服务不开启

3)操作命令最小化。如:用rm -r test.txt 而不用 rm -rf test.txt

4)登录Linux用户最小化。平时没有需求不用root登录,用普通用户登录即可

5)普通用户授权权限最小化,即只给必须的管理系统的命令

6)Linux系统文件及目录的权限设置最小化,禁止随意创建,更改,删除

企业场景面试题:

1:Linux系统如何优化?

Linux基础优化其它参考:

http://oldboy.blog.51cto.com/2561410/988726

http://lspgyy.blog.51cto.com/5264172/1308977

Linux运维二:CentOS6.6系统安装后的基本配置与优化的更多相关文章

  1. 如何掌握并提高linux运维技能

    初中级Linux运维人员们系统学习并迅速掌握Linux的运维实战技能.学习路线大纲如下: 入门基础篇 系统运维篇 Web运维篇 数据库运维篇 集群实战篇 运维监控篇 第一篇:Linux入门(安装.配置 ...

  2. 6 个 Linux 运维典型问题

    作为一名合格的 Linux 运维工程师,一定要有一套清晰.明确的解决故障思路,当问题出现时,才能迅速定位.解决问题,这里给出一个处理问题的一般思路: 重视报错提示信息:每个错误的出现,都是给出错误提示 ...

  3. 6 个 Linux 运维典型问题,大牛的分析解决思路在这里 【转】

    作为一名合格的 Linux 运维工程师,一定要有一套清晰.明确的解决故障思路,当问题出现时,才能迅速定位.解决问题,这里给出一个处理问题的一般思路: 重视报错提示信息:每个错误的出现,都是给出错误提示 ...

  4. 如何迅速掌握并提高linux运维技能(收藏文)

    如何迅速掌握并提高linux运维技能   文章来源于南非蚂蚁   之前曾经写过一篇如何学习Linux的文章,得到了很多反馈,大家都在分享自己的学习经验和体会,并且也提出了不少意见和建议.学习这个事情其 ...

  5. 6 个 Linux 运维典型问题,大牛的分析解决思路在这里

    作为一名合格的 Linux 运维工程师,一定要有一套清晰.明确的解决故障思路,当问题出现时,才能迅速定位.解决问题,这里给出一个处理问题的一般思路: 重视报错提示信息:每个错误的出现,都是给出错误提示 ...

  6. linux运维中的命令梳理(二)

    回想起来,从事linux运维工作已近5年之久了,日常工作中会用到很多常规命令,之前简单罗列了一些命令:http://www.cnblogs.com/kevingrace/p/5985486.html今 ...

  7. Linux运维:CentOS6和7的区别

    Liunx笔记:CentOS6和CentOS7的区别 路飞学城运维人员 在线流程图软件 Ago linux运维群: 93324526 笔者QQ:578843228 常用安装包下载 yum instal ...

  8. 教老婆学Linux运维(二)Linux常用命令指南【上】

    目录 教老婆学Linux(二)Linux常用命令指南[上] 一.概述 二.常用命令 教老婆学Linux(二)Linux常用命令指南[上] 作者:姚毛毛的博客 tips:文章太长,分两篇发出,本篇发前三 ...

  9. Linux运维入门到高级全套常用要点

    Linux运维入门到高级全套常用要点 目 录 1. Linux 入门篇................................................................. ...

随机推荐

  1. PSP总结

    一.回顾1 (1)回想一下你曾经对计算机专业的畅想 当初你是如何做出选择计算机专业的决定的?经过一个学期,你的看法改变了么,为什么? 以前的回答:当初之所以选择计算机专业,是因为我比较喜欢数学,觉得计 ...

  2. 【探路者】final贡献分配

     [探路者]组成员及各位博客地址. 1蔺依铭:http://www.cnblogs.com/linym762/ 2张恩聚:http://www.cnblogs.com/zej87/ 3米赫:http: ...

  3. Notes of Daily Scrum Meeting(11.13)

    Notes of Daily Scrum Meeting(11.13) 今天邹欣老师给我们讲课大家还是很有收获的,大家课堂的参与度确实有了很大的提升,而且邹欣老师关于项目Scrum Meeting报告 ...

  4. 团队博客作业Week1 --- 团队成员简介

    团队博客作业Week1 团队作业1 我们团队是一个以功能团队模式组建而成的团队,我们总共有5位队员,分别是:李剑锋.陈谋.卢惠明.潘成鼎.仉伯龙. 中间的那位就是李剑锋,我们的PM(项目经理).性格热 ...

  5. Daily Scrumming* 2015.10.26(Day 7)

    一.总体情况总结 今天我们开会具体讨论了一下接下来的任务.还详细讨论了一下分数的分配,具体分数分配我们会在下一篇博客中详细说明. 我们下一周大致的工作安排如下: 1.UI:完成社团后台界面的设计,以及 ...

  6. Ubuntu下tensorboard的使用

    1. 找到运行程序的事件输出路径   找到路径并进入,例如我的是在路径/home/ly/codes下: 2. 打开tensorboard服务器   在终端输入(--logdir=自己所存的路径): t ...

  7. Excel作为数据源TesTNG做数据驱动完整代码

    说明:EXCEL 支持xls 和xlsx 俩种格式 : 已经过测试 ! package main.java; import org.apache.poi.ss.usermodel.*; import ...

  8. net user 修改密码的坑

    不多说 直接上图 自己偷懒修改 admin的密码.. 结果没注意 这个地方 能够输入全角字符. 造成密码 实质上是全角的 标点符号 ... 以后一定注意一些. 里面的坑..说多了 都是浪费时间 另外 ...

  9. [转帖]awk 入门

    awk其实不仅仅是工具软件,还是一种编程语言.不过,本文只介绍它的命令行用法,对于大多数场合,应该足够用了. http://www.ruanyifeng.com/blog/2018/11/awk.ht ...

  10. Oracle Instant Client

    下载地址: https://www.oracle.com/technetwork/database/database-technologies/instant-client/downloads/ind ...