Centos7系统优化

1. 更新系统软件,预防漏洞

    yum install epel-release  -y   # 安装外部 epel 软件源

     yum  update -y  # 升级软件包

2. 关闭selinux

    sed -i "s#SELINUX=enforcing#SELINUX=disabled#g" /etc/selinux/config   # 禁用selinux

3. 系统登录安全与SSH配置

    授权用户登录与 sudo 设定

    sudo命令用来以其他身份来执行命令,预设的身份为root。在/etc/sudoers中设置了可执行sudo指令的用户。若其未经授权的用户企图使用sudo,则会发出警告的邮件给管理员。用户使用sudo时,必须先输入密码,之后有5分钟的有效期限,超过期限则必须重新输入密码。

    visudo   # 命令行下使用此命令打开sudo配置文件

    vim /etc/sudoers   # 直接编辑sudo配置文件. 配置文件属性必须为 440

    语法格式:

    <user list> <host list> = <operator list> <tag list> <command list>

    用户名   主机列表   用户和用户组列表   使用密码与否   可以执行的命令

    禁止root用户ssh登录,配置一个普通用户代替行使管理员权限

    wpic  ALL=(ALL)   NOPASSWD: ALL   # 执行sudo命令时,不需要输入用户自己的密码

    wpic  ALL=(ALL)    ALL   #执行sudo命令时,需要输入自己的密码

    ssh 安全登录经验

    备份:cp /etc/ssh/sshd_config sshd_config_bak  # 个人习惯,防止意外发生

     Port 3465   #  修改ssh默认端口号

     UseDNS no  # 不使用 DNS 反查,可提高 ssh 连接速度

     GSSAPIAuthentication no  # 关闭 GSSAPI 验证,可提高 ssh连接速度

     PermitRootLogin no  # 禁止 root 账号登陆

4. 配置时间同步服务器,保持服务器时间同步

    时间同步是集群服务最重要的环节,为避免因时间同步导致的系统故障,需要配置时间同步服务

     这里使用chrony 软件配置时间同步

     安装: yum install chrony -y   # Centos 默认已经安装此软件

     服务端配置:  /etc/chrony.conf      # 编辑此文件,配置作为局域网内的时间服务器

     allow 192.168.8.0/24  #   添加允许指定网段的主机可以访问此时间服务器

     客户端配置: /etc/chrony.conf

     server  服务器ip  iburst   #  注释原有的 server 行,并添加新的一行。

     重启 客户端服务器 chronyd 服务

     验证: chronyc sources  # 服务端客户端均可执行此命令检查时间同步状态

5. 最大文件描述符限制更改

    系统级的管理:

    /proc/sys/fs/file-max   sysctl -w fs.file-max=655350 # 更改此文件临时有效,系统重启失效

    echo  fs.file-max=655350  >> /etc/sysctl.conf &&  sysctl -p  # 永久生效

     用户级的管理:

     编辑 /etc/security/limit.conf 配置文件,在文件末尾添加一下配置

     * soft nofile 65535
     * hard nofile 65535

6. 配置记录用户操作命令细节,并发送到日志文件

    设置 HISTTIMEFORMAT 变量,可以改变历史命令的格式

    vim /etc/profile

     export HISTTIMEFORMAT="%F %T `whoami` "

     source /etc/profile

    配置 PROMPT_COMMAND变量, 将历史命令记录到 /var/log/messages

    配置 PROMPT_COMMAND 变量

     export PROMPT_COMMAND='{ msg=$(history 1 | { read x y; echo $y; });logger "$(who am i): [`pwd`]" $msg;}'

    如果要重定向到自己指定的日志文件,配置HISTORY_FILE变量

     export HISTORY_FILE=/var/log/`date '+%Y-%m'`.log

     export PROMPT_COMMAND='{ msg=$(history 1 | { read x y; echo $y; });echo "$(who am i): [`pwd`]" $msg >> $HISTORY_FILE ;}'

7. 系统时区的检查与配置

    timedatectl  # 检查当前系统的时区

     timedatectl list-timezones  # 列出当前系统支持的时区

     timedatectl set-timezone Asia/Shanghai  # 设置系统时区为上海

     timedatectl set-local-rtc 1 # 将硬件时间调整为与本地时间一致。如果设置 0 表示设置为 UTC 时间

     如果系统版本不是Centos7,可以从底层进行更改

     cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

8. 系统字符集的检查与配置

    配置文件: /etc/locale.conf

     英文字符集:LANG="en_US.UTF-8"

     中文字符集:LANG="zh_CN.UTF-8"

     查看更改后的系统语言变量:locale

     查看语言包:locale -a   例子:locale -a | grep zh  # 查看中文字符集

     安装中文包:yum install kde-l10n-Chinese yum reinstall glibc-common

posted @ 2017-12-26 22:18  步绍训  阅读(284)  评论(0)    收藏  举报