• Centos6/7系统基础配置-从零到无


    --时间:2019年2月21日

    --作者:飞翔的小胖猪

    前言

    文档基于Centos Linux操作系统作为生产服务器运行环境时所必须满足的条件,包括系统核心、运行库、使用工具、以及作为服务器系统所具有的可扩展性、可用性、适用性、可管理性、安全性以及性能要求等。

    文档红字部分均为自定义内容,请维护者根据实际情况填写。Centos 6系统默认使用network程序进行网络配置,在配置时请关闭NetworkManager程序。Centos 7系统网络配置默认使用NetworkManager配置网络,如果需要使用network配置网络,在配置时请关闭NetworkManager程序,然后使用修改配置文件的方式配置网络。蓝色字体部分为文件不需要改动 部分

    文档所有的命令均经过测试可用,在配置时只需要复制相关内容然后根据自己实际情况修改对应红色字体参数即可使用。

    系统配置

    文档针对于现网实际情况,分别对Centos 6和Centos 7系统配置规范进行了说明。

    Centos 6.X系列和Centos 7.X系列操作系统均使用最小化安装操作系统,以保证系统的纯净。业务如需使用到其他软件,请业务方维护人员自行通过yum源进行安装配置。

    Centos 8.x系列请参考Centos 7.x系列配置谢谢。

    文档作用

    文档主要作用是提醒我自己安装系统过后需要确认的一些配置,不喜勿喷,哈哈。

    一、Centos 6.X 系列配置

    Centos 6.x系列操作系统、使用network对外提供网络服务,所有网络配置均通过文件的形式进行更改。

    1.1  主机名

    主机名:YWXT-YW-ZJLX-ZJXH(业务系统-业务名-主机类型-主机序号)

    例子:

    AI智能分析-人脸分析-数据库-001   主机名设置为   AIZNFX-RLFX-SJK-001 

    配置说明:

    系统主机名要准确的表示出业务系统、小业务名、主机类型作用等信息。每个字段均使用中文首字符简写。

    配置命令:

    [root@oracle_pref ~]# vim /etc/hosts
    
    192.168.111.100  AIZNFX-RLFX-SJK-001
    
    
    [root@oracle_pref ~]# vim /etc/sysconfig/network
    
    NETWORKING=yes
    
    HOSTNAME= AIZNFX-RLFX-SJK-001

     centos6.x版本需要在/etc/hosts和/etc/sysconfig/network两处文件修改配置。

    1.2  DNS

    根据实际情况选择dns服务器,处于互联网的主机在设置dns时可选用运营商提供dns解析服务器。对于内网环境下请根据自己环境实际条件设置响应的dns。

    互联网常见DNS:

    IP地址

    提供方

    114.114.114.114

    114

    180.76.76.76

    百度

    223.5.5.5

    阿里

    119.29.29.29

    DNSPod DNS

    1.2.4.8

    CNNIC SDNS

    101.226.4.6

    DNS派

    208.67.222.222

    OpenDNS

    8.8.8.8

    Google DNS

    配置说明:

    请系统维护人员根据机器实际所在区域选择设置DNS。内网选择自建的dns或者不设置dns,连接互联网的情况下可指定本地网关或运营商提供的dns地址作为域名解析。

    配置命令:

    [root@oracle_pref ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
    
    DEVICE=eth0
    
    IPADDR=192.168.111.100
    
    NETMASK=255.255.255.0
    
    ONBOOT=yes
    
    NAME=eth0
    
    GATEWAY=192.168.111.1
    
    DNS1=192.168.111.1
    
    BOOTPROTO=static

    针对于Centos 6.X系列的操作系统,使用修改文件的方式完成DNS及网络的配置。配置修改完成后需要使用命令重启service  network restart网络服务生效。

    1.3  NTP

    根据实际情况为服务器设置ntp时间同步服务器,互联网中随意选择一个,内网环境中根据设置为建的ntp服务器地址。

    配置说明:

    请系统维护人员根据机器实际所在区域选择设置对应的NTP服务器地址,可使用域名也可以使用ip地址。

    配置命令:

    [root@oracle_pref ~]# vim /etc/ntp.conf
    
    # Use public servers from the pool.ntp.org project.
    
    # Please consider joining the pool (http://www.pool.ntp.org/join.html).
    
    #server 0.centos.pool.ntp.org iburst
    
    #server 1.centos.pool.ntp.org iburst
    
    #server 2.centos.pool.ntp.org iburst
    
    #server 3.centos.pool.ntp.org iburst
    
    server 192.168.111.10 iburst
    ………………
    
    [root@oracle_pref ~]# chkconfig ntpd on               //开机启动ntp服务

    Centos 6.x使用ntpd服务提供主机的时间服务,修改过配置文件后需要使用命令service  ntpd restart重启服务生效。

    1.4  YUM

    根据实际情况设置yum原,在互联网的连接情况下选择合适的yum源,内网环境中可以配置自建的yum源服务器,也可以设置本地yum源。

    配置说明:

    请系统维护人员根据机器实际所在区域选择设置对应的yum源服务器地址。

    配置命令:

    [root@oracle_pref ~]# vim /etc/yum.repos.d/local.repo
    
    [local_repo]
    
    name=local_repo
    
    enabled=1
    
    gpgcheck=0
    
    baseurl=file:///mnt

    文件配置完成后,使用命令yum clean all  && yum repolist执行更新yum配置。

    1.5  时区

    由于ntp服务只能同步时间而无法同步时区,主机需要手动设置时区。国内的服务器统一使用东八区时区。

    配置说明:

    设置服务器的时区为东八区所在城市。配置完成后需要把设置保存到硬件时间内。Centos 6.x系列操作系统使用Chongqing为时区所在地。

    配置命令:

    [root@oracle_pref ~]# vim  /etc/sysconfig/clock

      ZONE="Asia/ Chongqing"

    [root@oracle_pref ~]# cp /usr/share/zoneinfo/Asia/Chongqing  /etc/localtime -R
    [root@oracle_pref ~]# hwclock -w
    [root@oracle_pref ~]# date –R
    [root@oracle_pref ~]# cat /etc/sysconfig/clock

    时区修改后可通过date -R和cat /etc/sysconfig/clock命令查看确认当前时区是否正确。

    1.6  系统字符集

    生产环境中默认主机系统使用语言为LANG="en_US.UTF-8",如果有特殊需求的应用需要其他字符集,需要业务方自行进行修改。

    配置说明:

    使用cat /etc/sysconfig/i18n命令查看系统字符集。默认字符集为"en_US.UTF-8",所有模板默认使用该字符集,后期业务方可以自行根据需求修改字符集。主机交付后维护人员不对其进行修改。

    配置命令:

    [root@oracle_pref ~]# locale -a            //查看系统可支持的字符集
    
    [root@oracle_pref ~]# vim /etc/sysconfig/i18n
    
    LANG="en_US.UTF-8"
    
    SYSFONT="latarcyrheb-sun16"
    
    [root@oracle_pref ~]# export LANG= en_US.UTF-8
    
    [root@oracle_pref ~]# echo $LANG
    
    [root@oracle_pref ~]# cat /etc/sysconfig/i18n

    首先使用locale -a命令查看系统可支持的字符集,选择所需要的字符集在/etc/sysconfig/i18n文件中修改。最后使用命令查看确认字符集设置情况。

    1.7  用户

    在生产环境中,业务和维护相对分离。在每台服务器中需要按需创建对应功能的账户,提供相应业务方维护使用,同时业务账号和运维账号均开通sudo权限。账号UID和GID从1000开始,每个业务账号UID和GID在任何一台主机均为固定的相同的值,方便后期的管理和权限的设置。

    账户名

    权限

    密码组合

    作用

    sudo

    备注

    root

    超级管理员

    8位字母+数字组合

    系统配置

     

     

    customer

    普通用户

    8位字母+数字组合

    业务搭建

    业务方使用账户

    yw_admin

    普通用户

    8位字母+数字组合

    运维管理员

    基础平台维护组成员使用账户

    配置说明:

    新建两个账户,同时设置UID和GID,加入sudo权限实现输入自身密码切换到root用户,不以root用户直接登录系统。账号创建后使用echo '密码'|passwd --stdin 用户 命令修改密码。

    应用组维护账号: yw_admin    UID:1000  GID:1000

    配置命令:

    新建账户
    
    [root@oracle_pref ~]# useadd -u 1000 yw_yyg
    
    [root@oracle_pref ~]# useadd -u 1100 customer
    
    [root@oracle_pref ~]# echo '12345678' |passwd --stdin root
    
    [root@oracle_pref ~]# echo '12345678' |passwd --stdin yw_admin
    
    [root@oracle_pref ~]# echo '12345678' |passwd --stdin customer
    配置sudo
    
    [root@oracle_pref ~]# # visudo
    
    yw_admin  ALL=PASSWD:/usr/bin/sudo,/bin/su
    
    customer  ALL=PASSWD:/usr/bin/sudo,/bin/su
    
    [oracle@oracle_pref ~]$ $sudo su -           //切换至root用户

    visudo操作与vim一致,配置完成后使用sudo su -切换到root用户会提示输入自身用户的密码。密码输入成功后该终端终端保存sudo密码缓存5分钟,可使用sudo -k清除。

    1.8  历史命令设置

    Centos 6.x系列系统默认保存1000条历史记录,修改保留条数为10000,同时加上时间戳。

    配置说明:

    在/etc/bashrc最后新增export HISTTIMEFORMAT='%F %T'" "内容,在/etc/profile中找到HISTSIZE项,并修改为10000。最后使用source命令执行文件,生效配置。

    配置命令:

    [root@oracle_pref ~]#  vim /etc/bashrc
    
    export HISTTIMEFORMAT='%F %T'" "
    
    [root@oracle_pref ~]#  vim /etc/profile
    
    HISTSIZE=10000
    
    [root@oracle_pref ~]# source /etc/bashrc
    
    [root@oracle_pref ~]# source /etc/profile

    历史命令参数修改后可使用history确认查看历史命令格式是否正确,使用echo $HISTSIZE查看历史命令最大保留数是否正确。

    1.9  ulimit系统资源限制

    设置单个用户最大的系统资源,保证系统不会因为单个用户的操作而造成同系统中其他用户无法正常作业。同时也保证了用户因为默认资源使用太小导致的业务无法正常使用故障。

    配置说明:

    在/etc/security/limits.conf文件中指定每个用户最大使用的关键性资源值,在/etc/security/limits.d/90-nproc.conf中指定单个用户允许打开最大进程数。

    nproc:用户打开进程的最大数量

    core:内核文件大小

    nofile:用户打开文件的最大数目

    配置命令:

    [root@oracle_pref ~]#  vim /etc/security/limits.conf
    
    *       soft    nproc   65533
    
    *       hard    nproc   65534
    
    *       soft    core    unlimited
    
    *       hard    core    unlimited
    
    *       soft    nofile  65533
    
    *       hard    nofile  65534
    
    [root@oracle_pref ~]#  vim /etc/security/limits.d/90-nproc.conf
    
    *          soft    nproc     65534
    
    root       soft    nproc     unlimited
    
    [root@oracle_pref ~]# sysctl -p

    1.10  TCP/IP网络优化

    修改系统中的TIMEOUT时间,避免系统出现大量的TIME_WAIT状态连接。

    配置说明:

    在/etc/sysctl.conf文件最后添加对内容,然后使用sysctl -p 命令生效配置,具体配置详解如下:

    net.ipv4.tcp_syncookies = 1 

    .标识开启SYN Cookies。当出现SYNC等待队列溢出时,启用cookies来处理,可防范少量SYNC攻击,默认为1,标识关闭。

    net.ipv4.tcp_tw_reuse = 1

    .表示开启重用。允许将TIME-WAIT sockets 重新用于新的TCP连接,默认为0,表示关闭。

    net.ipv4.tcp_tw_recycle = 1

    .表示开启TCP连接中TIME-WAIT sockets 的快递回收,默认为0,表示关闭。

    net.ipv4.tcp_fin_timeout =  30

    .修改系统默认的TIMEOUT时间,默认为60秒

    配置命令:

    [root@oracle_pref ~]#  vim /etc/sysctl.conf
    
    net.ipv4.tcp_syncookies = 1 
    
    net.ipv4.tcp_tw_reuse = 1
    
    net.ipv4.tcp_tw_recycle = 1
    
    net.ipv4.tcp_fin_timeout =  30
    
    [root@oracle_pref ~]# sysctl -p

    使用sysctl -p 生效了配置过后,可使用sysctl -a 查看修改是否成功。

    1.11  最大文件句柄限制

    file-max决定了当前内核可以打开的最大的文件句柄数,系统所有进程一共可以打开的文件数量。file-max设置过小,系统会提示"不能打开太多的文件"或者"无法打开更多进行"。

    配置说明:

    file-max值确定了系统可以打开的文件数,最佳值为内存(KB)大小的10%。然后在/etc/sysctl.conf中设置,最后使用sysctl -p 命令生效。cat /proc/sys/fs/file-max命令可查看配置是否生效。

    配置命令:

    [root@oracle_pref ~]# cat /proc/sys/fs/file-max
    
    [root@oracle_pref ~]# grep -r MemTotal /proc/meminfo | awk '{printf("%d",$2/10)}'                          //获取最佳文件句柄值
    
    [root@oracle_pref ~]# echo "fs.file-max = 1626660" >> /etc/sysctl.conf
    
    [root@oracle_pref ~]# sysctl -p

    1.12   ssh远程服务

    在Linux操作系统中使用sshd协议登录操作系统。为了安全起见系统设置root用户不能远程登陆,系统只能够通过普通用户远程登陆,然后通过sudo权限切换到root账户下进行操作。

    配置说明:

    在# vim /etc/ssh/sshd_config中把#PermitRootLogin yes修改为PermitRootLogin no最后重启远程服务。

    配置命令:

    [root@oracle_pref ~]#  vim /etc/ssh/sshd_config
    
    PermitRootLogin yes
    
    UseDNS no
    
    # GSSAPI options
    
    #GSSAPIAuthentication no
    
    GSSAPIAuthentication no
    
    #GSSAPICleanupCredentials yes
    
    GSSAPICleanupCredentials no
    
    #GSSAPIStrictAcceptorCheck yes
    
    #GSSAPIKeyExchange no
    
    PubkeyAuthentication yes    #启用公告秘钥配对认证方式
    
    RSAAuthentication yes           #允许RSA秘钥
    
    [root@oracle_pref ~]# service sshd restart 

    配置不允许root通过sshd直接登录,用户使用root权限需要通过普通用户切换。

    1.13   常用软件安装

    主机操作中,在不影响业务部署应用的情况下,为了方便对主机系统的管理,所有Centos 6.x系列主机均预装如下工具。

    软件名

    作用

    net-tools

    网络管理工具

    lrzsz

    scp上传下载文件

    gcc*

    软件编译用

    zip

    解压zip压缩文件

    gzip

    解压gz压缩文件

    bzip2

    解压bz2压缩文件

    ftp

    访问ftp服务器

    vim

    文本编辑器

    dmidecode

    获取服务器硬件信息

    wget

    linux访问web,下载web数据

    sshpass

    免密工具

    配置说明:

    在配置了yum源过后直接使用yum工具安装以上软件。

    配置命令:

    [root@oracle_pref ~]#  yum install net-tools -y
    
    [root@oracle_pref ~]#  yum install lrzsz -y
    
    [root@oracle_pref ~]#  yum install gcc* -y
    
    [root@oracle_pref ~]#  yum install zip -y
    
    [root@oracle_pref ~]#  yum install gzip -y
    
    [root@oracle_pref ~]#  yum install bzip2 -y
    
    [root@oracle_pref ~]# yum install ftp -y
    
    [root@oracle_pref ~]#  yum install vim -y
    
    [root@oracle_pref ~]#  yum install dmidecode -y
    

    1.14   主机安全配置

    RHEL 6.x系列操作系统默认selinux和iptables为开启状态,业务方可根据需求进行配置修改或直接关闭。基础运维人员不对主机安全配置做任何特殊操作。对于自己使用的机器建议关闭掉selinux,iptables可根据实际情况确定是否开启及具体设置。

    1.15  kdump配置

    对于业务不是太重要的业务,建议关闭掉kdump功能。

    1.1.16 配置登录策略

    设置用户登录系统时密码错误输入次数限制,当用户连续输入3次及以上的错误密码时,锁定账户180秒。

    配置说明:

    linux设置登录策略需要在两个文件中修改。

    终端(KVM或直连显示器):/etc/pam.d/system-auth

    远程(ssh): /etc/pam.d/sshd

    分别在这两个文件正式配置文件第一行,即#%PAM-1.0的下面。添加策略语句。

    配置命令:

    [root@oracle_pref ~]#  vim /etc/pam.d/system-auth
    
    #%PAM-1.0
    
    # This file is auto-generated.
    
    # User changes will be destroyed the next time authconfig is run.
    
    auth        required      pam_tally2.so onerr=fail deny=3 unlock=180 even_deny_root root_unlock_time=300
    
    [root@oracle_pref ~]#  cat /etc/pam.d/sshd
    
    #%PAM-1.0
    auth       required     pam_tally2.so deny=3 unlock_time=300 even_deny_root root_unlock_time=30 onerr=fail

    二、Centos 7.x 系列配置

    Centos 7.x系列操作系统、使用NetworkManager对外提供网络服务,所有网络配置均通过命令实现永久性更改,无需再次使用文件的形式进行更改。

    2.1  主机名

    主机名:YWXT-YW-ZJLX-ZJXH(业务系统-业务名-主机类型-主机序号)

    例子:

    AI智能分析-人脸分析-数据库-001   主机名设置为   AIZNFX-RLFX-SJK-001

    配置说明:

    系统主机名要准确的表示出业务系统、小业务名、主机类型作用等信息。每个字段均使用中文首字符简写。

    配置命令:

    [root@oracle_pref ~]# hostnamectl set-hostname  AIZNFX-RLFX-SJK-001

    Centos 7.x系列系统使用hostnamectl set-hostname命令该主机名后为永久生效,不需要再次到文件中修改配置。

    2.2  DNS

    根据实际情况选择dns服务器,处于互联网的主机在设置dns时可选用运营商提供dns解析服务器。对于内网环境下请根据自己环境实际条件设置响应的dns。

    互联网常见dns地址:

    IP地址

    提供方

    114.114.114.114

    114

    180.76.76.76

    百度

    223.5.5.5

    阿里

    119.29.29.29

    DNSPod DNS

    1.2.4.8

    CNNIC SDNS

    101.226.4.6

    DNS派

    208.67.222.222

    OpenDNS

    8.8.8.8

    Google DNS

    配置说明:

    请系统维护人员根据机器实际所在区域选择设置DNS。内网选择自建的dns或者不设置dns,连接互联网的情况下可指定本地网关或运营商提供的dns地址作为域名解析。

    配置命令:

    [root@oracle_pref ~]#  nmcli conn modify  eth0 ipv4.dns "192.168.111.1";
    
    [root@oracle_pref ~]#  nmcli conn down eth0;nmcli conn up eth0;

    针对于Centos 7.X系列的操作系统,使用命令方式完成DNS及网络的配置。配置修改完成重新读取端口配置。

    2.3  NTP

    根据实际情况为服务器设置ntp时间同步服务器,互联网中随意选择一个,内网环境中根据设置为建的ntp服务器地址。

    配置说明:

    请系统维护人员根据机器实际所在区域选择设置对应的NTP服务器地址,可使用域名也可以使用ip地址。

    配置命令:

    [root@oracle_pref ~]#  vim /etc/chrony.conf
    
    # Use public servers from the pool.ntp.org project.
    
    # Please consider joining the pool (http://www.pool.ntp.org/join.html).
    
    #server 0.centos.pool.ntp.org iburst
    
    #server 1.centos.pool.ntp.org iburst
    
    #server 2.centos.pool.ntp.org iburst
    
    #server 3.centos.pool.ntp.org iburst
    
    server 192.168.111.10 iburst
    ………………
    
    [root@oracle_pref ~]#  systemctl  restart chronyd.service                       //重启ntp服务
    [root@oracle_pref ~]#  systemctl  enable  chronyd.service           //开机启动ntp服务

    Centos 7.x使用ntpd服务提供主机的时间服务,修改过配置文件后需要使用命令systemctl  restart chronyd.service重启服务生效。

    2.4  YUM

    根据实际情况设置yum原,在互联网的连接情况下选择合适的yum源,内网环境中可以配置自建的yum源服务器,也可以设置本地yum源。

    配置说明:

    请系统维护人员根据机器实际所在区域选择设置对应的yum源服务器地址。

    配置命令:

    [root@oracle_pref ~]#  vim /etc/yum.repos.d/local.repo
    
    [local_repo]
    
    name=local_repo
    
    enabled=1
    
    gpgcheck=0
    
    baseurl=file:///mnt

    文件配置完成后,使用命令yum clean all  && yum repolist执行更新yum配置。

    2.5  时区

    时间同步服务器无法同步时区,针对主机需要手动设置时区。国内的服务器统一使用东八区时区。Centos 7.x系列主机时区设置为上海Asia/Shanghai。

    配置说明:

    设置服务器的时区为东八区所在城市。配置完成后需要把设置保存到硬件时间内。

    配置命令:

    [root@oracle_pref ~]#  timedatectl  set-timezone Asia/Shanghai
    
    [root@oracle_pref ~]#  hwclock -w
    
    [root@oracle_pref ~]#  timedatectl

    时区修改后可通过timedatectl命令查看确认当前时区是否正确,该命令为永久生效无需再在文件中进行修改。

    2.6  系统字符集

    生产环境中默认主机系统使用语言为LANG="en_US.UTF-8",如果有特殊需求的应用需要其他字符集,需要业务方自行进行修改。

    配置说明:

    主机默认字符集为"en_US.UTF-8",所有模板默认使用该字符集,后期业务方可以自行根据需求修改字符集。主机交付后维护人员不对其进行修改。

    配置命令:

    [root@oracle_pref ~]# echo $LANG              //查看当前字符集
    
    [root@oracle_pref ~]# locale -a            //查看系统可支持的字符集
    
    [root@oracle_pref ~]# vim /etc/locale.conf
    
     LANG="en_US.UTF-8"
    
    [root@oracle_pref ~]# export LANG= en_US.UTF-8
    
    [root@oracle_pref ~]# echo $LANG

    使用echo $LANG命令查看确认当前字符集是否满足需求,如不满足业务人员请自行修改。

    2.7  用户

    在生产环境中,业务和维护相对分离。在每台服务器中需要按需创建对应功能的账户,提供相应业务方维护使用,同时业务账号和运维账号均开通sudo权限。账号UID和GID从1000开始,每个业务账号UID和GID在任何一台主机均为固定的相同的值,方便后期的管理和权限的设置。

    账户名

    权限

    密码组合

    作用

    sudo

    备注

    root

    超级管理员

    8位字母+数字组合

    系统配置

     

     

    customer

    普通用户

    8位字母+数字组合

    业务搭建

    业务方使用账户

    yw_admin

    普通用户

    8位字母+数字组合

    运维管理员

    基础平台维护组成员使用账户

    配置说明:

    新建两个账户,同时设置UID和GID,加入sudo权限实现输入自身密码切换到root用户,不以root用户直接登录系统。账号创建后使用echo '密码'|passwd --stdin 用户 命令修改密码。

    应用组维护账号: yw_admin    UID:1000  GID:1000

    配置命令:

    新建账户
    
    [root@oracle_pref ~]# useadd -u 1000 yw_yyg
    
    [root@oracle_pref ~]# useadd -u 1100 customer
    
    [root@oracle_pref ~]# echo '12345678' |passwd --stdin root
    
    [root@oracle_pref ~]# echo '12345678' |passwd --stdin yw_admin
    
    [root@oracle_pref ~]# echo '12345678' |passwd --stdin customer
    配置sudo
    
    [root@oracle_pref ~]#  visudo
    
    yw_admin  ALL=PASSWD:/usr/bin/sudo,/bin/su
    
    customer  ALL=PASSWD:/usr/bin/sudo,/bin/su
    
    [oracle@oracle_pref ~]$ sudo su -           //切换至root用户

    visudo操作与vim一致,配置完成后使用sudo su -切换到root用户会提示输入自身用户的密码。密码输入成功后该终端终端保存sudo密码缓存5分钟,可使用sudo -k清除。

    2.8  历史命令设置

    Centos 7.x系列系统默认保存1000条历史记录,修改保留条数为10000,同时在加上时间戳。

    配置说明:

    在/etc/bashrc最后新增export HISTTIMEFORMAT='%F %T'" "内容,在/etc/profile中找到HISTSIZE项,并修改为10000。最后使用source命令执行文件,生效配置。

    配置命令:

    [root@oracle_pref ~]# vim /etc/bashrc
    export HISTTIMEFORMAT
    ='%F %T'" "
    [root@oracle_pref ~]# vim /etc/profile
    HISTSIZE
    =10000
    [root@oracle_pref ~]# source /etc/bashrc
    [root@oracle_pref
    ~]# source /etc/profile

    历史命令参数修改后可使用history确认查看历史命令格式是否正确,使用echo $HISTSIZE查看历史命令最大保留数是否正确。

    2.9  ulimit系统资源限制

    设置单个用户最大的系统资源,保证系统不会因为单个用户的操作而造成同系统中其他用户无法正常作业。同时也保证了用户因为默认资源使用太小导致的业务无法正常使用故障。

    配置说明:

    在/etc/security/limits.conf文件中指定每个用户最大使用的关键性资源值,在/etc/security/limits.d/90-nproc.conf中指定单个用户允许打开最大进程数。

    nproc:用户打开进程的最大数量

    core:内核文件大小

    nofile:用户打开文件的最大数目

    配置命令:

    [root@oracle_pref ~]#  vim /etc/security/limits.conf
    
    *       soft    nproc   65533
    
    *       hard    nproc   65534
    
    *       soft    core    unlimited
    
    *       hard    core    unlimited
    
    *       soft    nofile  65533
    
    *       hard    nofile  65534
    
    [root@oracle_pref ~]# vim /etc/security/limits.d/20-nproc.conf
    
    *          soft    nproc     65534
    
    root       soft    nproc     unlimited
    
    [root@oracle_pref ~]# sysctl -p

    2.10  TCP/IP网络优化

    修改系统中的TIMEOUT时间,避免系统出现大量的TIME_WAIT状态连接。

    配置说明:

    在/etc/sysctl.conf文件最后添加对内容,然后使用sysctl -p 命令生效配置,具体配置详解如下:

    net.ipv4.tcp_syncookies = 1 

    .标识开启SYN Cookies。当出现SYNC等待队列溢出时,启用cookies来处理,可防范少量SYNC攻击,默认为1,标识关闭。

    net.ipv4.tcp_tw_reuse = 1

    .表示开启重用。允许将TIME-WAIT sockets 重新用于新的TCP连接,默认为0,表示关闭。

    net.ipv4.tcp_tw_recycle = 1

    .表示开启TCP连接中TIME-WAIT sockets 的快递回收,默认为0,表示关闭。

    net.ipv4.tcp_fin_timeout =  30

    .修改系统默认的TIMEOUT时间,默认为60秒

    配置命令:

    [root@oracle_pref ~]# vim /etc/sysctl.conf
    
    net.ipv4.tcp_syncookies = 1 
    
    net.ipv4.tcp_tw_reuse = 1
    
    net.ipv4.tcp_tw_recycle = 1
    
    net.ipv4.tcp_fin_timeout =  30
    
    [root@oracle_pref ~]# sysctl -p

    使用sysctl -p 生效了配置过后,可使用sysctl -a 查看修改是否成功。

    2.11  最大文件句柄限制

    file-max决定了当前内核可以打开的最大的文件句柄数,系统所有进程一共可以打开的文件数量。file-max设置过小,系统会提示"不能打开太多的文件"或者"无法打开更多进行"。

    配置说明:

    file-max值确定了系统可以打开的文件数,最佳值为内存(KB)大小的10%。然后在/etc/sysctl.conf中设置,最后使用sysctl -p 命令生效。cat /proc/sys/fs/file-max命令可查看配置是否生效。

    配置命令:

    [root@oracle_pref ~]# cat /proc/sys/fs/file-max
    
    [root@oracle_pref ~]# grep -r MemTotal /proc/meminfo | awk '{printf("%d",$2/10)}'                          //获取最佳文件句柄值
    
    [root@oracle_pref ~]# echo "fs.file-max = 1626660" >> /etc/sysctl.conf
    
    [root@oracle_pref ~]# sysctl -p

    2.12  ssh远程服务

    在Linux操作系统中使用sshd协议登录操作系统。为了安全起见系统设置root用户不能远程登陆,系统只能够通过普通用户远程登陆,然后通过sudo权限切换到root账户下进行操作。

    配置说明:

    在# vim /etc/ssh/sshd_config中把#PermitRootLogin yes修改为PermitRootLogin no最后重启远程服务。

    配置命令:

    [root@oracle_pref ~]# vim /etc/ssh/sshd_config
    
    PermitRootLogin yes
    
    UseDNS no
    
    # GSSAPI options
    
    #GSSAPIAuthentication no
    
    GSSAPIAuthentication no
    
    #GSSAPICleanupCredentials yes
    
    GSSAPICleanupCredentials no
    
    #GSSAPIStrictAcceptorCheck yes
    
    #GSSAPIKeyExchange no
    
    PubkeyAuthentication yes    #启用公告秘钥配对认证方式
    
    [root@oracle_pref ~]# service sshd restart 

    配置不允许root通过sshd直接登录,用户使用root权限需要通过普通用户切换。

    2.13  常用软件安装

    主机操作中,在不影响业务部署应用的情况下,为了方便对主机系统的管理,所有Centos 7.x系列主机均预装如下工具。

    软件名

    作用

    net-tools

    网络管理工具

    lrzsz

    scp上传下载文件

    gcc*

    软件编译用

    zip

    解压zip压缩文件

    gzip

    解压gz压缩文件

    bzip2

    解压bz2压缩文件

    ftp

    访问ftp服务器

    bash-completion

    操作系统命令补齐工具

    vim

    文本编辑器

    dmidecode

    获取服务器硬件信息

    wget

    linux访问web,下载web数据

    sshpass

    免密工具

    配置说明:

    在配置了yum源过后直接使用yum工具安装以上软件。

    配置命令:

    [root@oracle_pref ~]# yum install net-tools -y
    
    [root@oracle_pref ~]# yum install lrzsz -y
    
    [root@oracle_pref ~]# yum install gcc* -y
    
    [root@oracle_pref ~]# yum install zip -y
    
    [root@oracle_pref ~]# yum install gzip -y
    
    [root@oracle_pref ~]# yum install bzip2 -y
    
    [root@oracle_pref ~]# yum install ftp -y
    
    [root@oracle_pref ~]# yum install bash-completion -y
    
    [root@oracle_pref ~]# yum install vim –y
    
    [root@oracle_pref ~]# yum install dmidecode -y
    [root@oracle_pref ~]# source /etc/profile.d/bash_completion.sh      #执行脚本使系统命令自动补齐生效

    所有软件安装安装完成后建议重启操作系统。

    2.14  主机安全配置

    RHEL 7.x系列操作系统默认selinux和firewalld为开启状态,业务方可根据需求进行配置修改或直接关闭。基础运维人员不对主机安全配置做任何特殊操作。对于自己使用的机器建议关闭掉selinux,iptables可根据实际情况确定是否开启及具体设置。

    2.15  kdump配置

    RHEL 7.x系列操作系统默认不开启kdump功能,业务方可根据需求自行配置决定是否开启该功能,在业务比较重要的服务器主机上建议开启kdump尤其是针对于物理机,可以起到很好的故障判断的作用。

    2.16 配置登录策略

    设置用户登录系统时密码错误输入次数限制,当用户连续输入3次及以上的错误密码时,锁定账户180秒。

    配置说明:

    linux设置登录策略需要在两个文件中修改。

    终端(KVM或直连显示器):/etc/pam.d/system-auth

    远程(ssh): /etc/pam.d/sshd

    分别在这两个文件正式配置文件第一行,即#%PAM-1.0的下面。添加策略语句。

    配置命令:

    [root@oracle_pref ~]# vim /etc/pam.d/system-auth
    
    #%PAM-1.0
    
    # This file is auto-generated.
    
    # User changes will be destroyed the next time authconfig is run.
    
    auth        required      pam_tally2.so onerr=fail deny=3 unlock=180 even_deny_root root_unlock_time=300
    
     
    [root@oracle_pref ~]# cat /etc/pam.d/sshd
    
    #%PAM-1.0
    
    auth       required     pam_tally2.so deny=3 unlock_time=300 even_deny_root root_unlock_time=30 onerr=fail

    三、配置清单

    配置清单为现网环境下基础信息清单资料。按照生产系统的实际情况填入数据。方便业务方或系统维护人员快速的掌握生产网中的基础资源。

    3.1  基础资源

    基础资源包括dns、ntp、yum源、堡垒机等信息。信息以表格形式展示出来,提供运维人员查看使用。

    资源名

    资源地址

    资源域名

    DNS服务器

     

     

    NTP服务器

     

     

    YUM源服务器

     

     

    ftp服务器

     

     

    3.2  UID/GID信息

    UID/GID信息记录表记录每个业务方对应的操作系统账号名及UID和GID号。每个业务组在整个生产环境下有且只有一个用户和唯一的UID。

    在一套生产环境中应该为每个系统都设置一些固定的账号,如系统管理员账号、监控系统账号等,使用列表的方式标注出来吗,以方便维护人员对系统进行维护。

    用户表:

    UID

    用户名

    业务公司

    sudo

    作用

    使用人

    1000

    yw_admin

    XXX公司

    维护系统

    全基础运维组成员

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    组表:

    GID

    组名

    业务公司

    作用

    使用人

    1000

    yw_admin

    XXX公司

    维护系统

    全基础运维组成员

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

  • 相关阅读:
    树的直径 学习笔记
    SDOJ 3742 黑白图
    【SDOJ 3741】 【poj2528】 Mayor's posters
    SDOJ 3740 Graph
    SDOJ 3696 Tree
    SDOJ 1195 Zhenhuan
    又一次受刺激后的发奋
    html_表单form中的input类型大集合
    js_表格的增删改
    JS_拖拽窗口的实现
  • 原文地址:https://www.cnblogs.com/Pigs-Will-Fly/p/13855300.html
Copyright © 2020-2023  润新知