• linux系统优化(CentOS7)


    1.概览

    CentOS系统安装之后并不能立即投入生产环境使用,往往需要先经过我们运维人员的优化才行。在此写几点关于Linux系统安装后的基础优化操作。

    注意:本次优化都是基于CentOS(7.7)

    2.优化目录

    配置yum源并安装基础软件
    修改主机地址,主机名dns等信息
    修改默认的端口,禁止root用户登录 编辑sudo,以普通用户管理
    关闭selinux
    配置时间同步 锁定系统关键文件,防止提权篡改 为Grub菜单增加密码 调整文件描述符数量,进程及文件打开都会消耗文件描述符 精简并保留必要的开机自启动服务 linux内核优化
    /etc/sysctl.conf

    a.安装常用软件

    wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
    wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
    #PS:yum repolist 列出yum源信息;把yum源换为阿里的源,当然也可以换成清华或者是别的源

    例如:wget vim lrzsz bash-completion telnet nmap等等

    yum -y install wget vim lrzsz bash-completion telnet nmap

    b.修改主机地址,主机名dns等信息

    [root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
    DEVICE=eth0                     #网卡名字
    BOOTPROTO=static               #静态IP地址获取状态 如:DHCP表示自动获取IP地址
    IPADDR=172.16.1.113           #IP地址
    NETMASK=255.255.255.0         #子网掩码
    ONBOOT=yes                      #引导时是否激活
    GATEWAY=172.16.1.1
    
    [root@localhost ~]# vim /etc/hostname  
    test              #这个是主机名
    我们也可以用  hostnamectl set-hostname test  来永久修改主机名,重新登录生效
    
    修改DNS [root@localhost
    ~]# vi /etc/resolv.conf   #修改DNS信息 nameserver 114.114.114.114 nameserver 8.8.8.8 [root@localhost ~]# cat /etc/resolv.conf    #查看修改后的DNS信息 nameserver 114.114.114.114 nameserver 8.8.8.8 [root@localhost ~]# systemctl restart network #重启网卡,生效 重启网卡,也可以用下面的命令 [root@localhost ~]# /etc/init.d/network restart

    c.修改默认的端口

    默认ssh配置文件是/etc/ssh/sshd_config 
    大约在17行左右,有一个参数port  22,默认是注释的,我们打开注释,把22修改为别的端口即可
    注意:端口不要冲突,先备份。
    [root@test ~]# cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
    [root@test ~]# vim /etc/ssh/sshd_config
    Port 22022          #ssh连接默认的端口
    PermitRootLogin no       #root用户黑客都知道,禁止它远程登录
    PermitEmptyPasswords no    #禁止空密码登录
    UseDNS no                #不使用DNS
    [root@test ~]# /etc/init.d/sshd reload    #从新加载配置
    [root@test ~]# netstat -lnt     #查看端口信息
    [root@test ~]# lsof -i tcp:22022

    d.编辑sudo,以普通用户管理

    [root@test ~]# useradd test
    [root@test ~]# echo "123456"|passwd --stdin test
    [root@test ~]# visudo
    在root    ALL=(ALL)    ALL此行下,添加如下内容
    test    ALL=(ALL)    ALL

    e.关闭selinux

    #临时关闭和查看
    [root@test ~]# setenforce 0
    [root@test ~]# getenforce 
    Disabled
    #永久关闭
    把selinux的值修改为disabled即可
    [root@test ~]# cat /etc/selinux/config 
    SELINUX=disabled

    f.配置时间同步

    #设置每5分钟同步一次
    [root@test ~]# echo '#time sync by dxy' >>/var/spool/cron/root [root@test ~]# echo '*/5 * * * * /usr/sbin/ntpdate pool.ntp.org >/dev/null 2>&1' >>/var/spool/cron/root [root@test ~]# crontab -l #time sync by dxy */5 * * * * /usr/sbin/ntpdate pool.ntp.org >/dev/null 2>&1

    g.锁定系统关键文件,防止提权篡改

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

    h.为Grub菜单增加密码

    在RHEL 7.2和Centos 7(及更高版本)上,GRUB 2使用grub2-setpassword命令提供密码保护。
    [root@test ~]# grub2-setpassword
    Enter password:
    Confirm password:
    这个过程创建了一个/boot/grub2/user.cfg配置文件,其中包含已经加密的密码。这个密码的用户是root,在/boot/grub2/grub.cfg文件中已经定义了。通过此更改,在引导期间修改引导条目需要指定root用户名和密码。

    j.调整文件描述符数量,进程及文件打开都会消耗文件描述符

    #修改编辑/etc/security/limits.conf 这个文件
    echo '*               -       nofile          65535 ' >>/etc/security/limits.conf 
    tail -1 /etc/security/limits.conf 
    #查看ulimit
    ulimit  -n

    k.精简并保留必要的开机自启动服务

    服务                          状态          是否保留          描述
    abrt-ccpp.service                             enabled          x
    abrt-oops.service                             enabled          x
    abrt-vmcore.service                           enabled          x 
    abrt-xorg.service                             enabled          x
    abrtd.service                                 enabled          x            调试相关的服务
    auditd.service                                enabled          x            一次性任务服务
    autovt@.service                               enabled          √            登录相关
    crond.service                                 enabled          √            定时任务相关
    getty@.service                                enabled          √            tty窗口
    irqbalance.service                            enabled          √            多核cpu调度
    kdump.service                                 enabled          x            内核出现问题dump信息保存
    microcode.service                             enabled          x            inter的cpu会提供一个外挂的微指令集提供系统运行
    rsyslog.service                               enabled          √            日志服务
    sshd.service                                  enabled          √            ssh服务
    systemd-readahead-collect.service             enabled          √            系统服务
    systemd-readahead-drop.service                enabled          √            系统服务
    systemd-readahead-replay.service              enabled          √            系统服务
    tuned.service                                 enabled          √            服务器能耗管理
    default.target                                enabled          √
    multi-user.target                             enabled          √
    remote-fs.target                              enabled          √
    runlevel2.target                              enabled          √
    runlevel3.target                              enabled          √
    runlevel4.target                              enabled          √
    学习如逆水行舟,不进则退
  • 相关阅读:
    Thymeleaf模板引擎绕过浏览器缓存加载静态资源js,css文件
    LCMapString/LCMapStringEx实现简体字、繁体字的转换。
    java8 LocalDateTime转unix时间戳(带毫秒,不带毫秒)
    关于全角半角
    c++builder 读写文件类
    Unresolved external 'AlphaBlend' referenced from
    GridhEH 选择勾CheckBox
    Variant
    TRegEx 正则表达式
    c++ 字符检测 TCharacter
  • 原文地址:https://www.cnblogs.com/bkydxy/p/12802636.html
Copyright © 2020-2023  润新知