Linux系统基础优化

时间:2023-03-08 16:26:07

一、关闭防火墙iptables:

               (1)关闭
                 /etc/init.d/iptables stop
                (2)检查
                  /etc/init.d/iptables status
                (3)设置开机不自动启动
                  chkconfig iptables off
                (4)检查
                  chkconfig --list iptables

二、关闭selinux(安全):

说明:永久生效,需要重启计算机。
       (1)检查配置文件
          cat /etc/selinux/config
          # This file controls the state of SELinux on the system.
          # SELINUX= can take one of these three values:
          #     enforcing - SELinux security policy is enforced.
          #     permissive - SELinux prints warnings instead of enforcing.
          #     disabled - No SELinux policy is loaded.
          SELINUX=enforcing
          # SELINUXTYPE= can take one of these two values:
          #     targeted - Targeted processes are protected,
          #     mls - Multi Level Security protection.
          SELINUXTYPE=targeted
       (2)修改配置文件
         sed -i "s#SELINUX=enforcing#SELINUX=disabled#g" /etc/selinux/config
       (3)不重启系统的临时生效办法
          setenforce 0 #设置Permissive模式
          getenforce  #查生效情况
        (4)参数说明
          #     enforcing - SELinux security policy is enforced. 正常开启
          #     permissive - SELinux prints warnings instead of enforcing. 打印警告,但是也是禁止了。
          #     disabled - No SELinux policy is loaded. 禁止状态。

三、更改yum源:

         (1)创建备份目录
           mkdir  -p  /etc/yum.repos.d/{default,back}              ###记住,每次操作之前一定要备份!备份!备份!重要的事说三遍
        (2)备份所有默认的配置文件
           \mv  /etc/yum.repos.d/*repo   /etc/yum.repos.d/default
         (3)获取yum源
           wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
         (4)备份yum源
            \cp  /etc/yum.repos.d/CentOS-Base.repo   /etc/yum.repos.d/default

四、精简开机自启动服务:

(1)只保留重要的基础服务,其余全部关闭
           chkconfig --list|egrep -v "sysstat|crond|sshd|network|rsyslog"|awk '{print "chkconfig "$1,"off"}'|bash
         (2)检查
           chkconfig --list|grep 3:on

五、修改Linux服务器字符集:

(1)检查配置文件
          cat /etc/sysconfig/i18n
          里面默认应该有以下2行内容:
          LANG="en_US.UTF-8"                                   ###默认每次提示为英文,如果不熟悉英语的小伙伴可以进行下列操作
          SYSFONT="latarcyrheb-sun16"
       (2)备份配置文件
         cp /etc/sysconfig/i18n{,.back}
       (3)修改(此步选做)
         说明:可以将字符集修改为中文的,也可以不修改。
         echo 'LANG="zn_CN.UTF-8"' > /etc/sysconfig/i18n
         echo 'SYSFONT="latarcyrheb-sun16"' >> /etc/sysconfig/i18n
       (4)生效
         source /etc/sysconfig/i18n
      (5)检查
         echo $LANG

六、内核优化:

(1)修改配置文件/etc/sysctl.conf,添加如下内容(直接一次性复制以下所有内容,在命令行里粘贴执行即可)
         cat >>/etc/sysctl.conf<<EOF
         net.ipv4.tcp_fin_timeout = 2
         net.ipv4.tcp_tw_reuse = 1
         net.ipv4.tcp_tw_recycle = 1
         net.ipv4.tcp_syncookies = 1
         net.ipv4.tcp_keepalive_time = 600
         net.ipv4.ip_local_port_range = 4000    65000
         net.ipv4.tcp_max_syn_backlog = 16384
         net.ipv4.tcp_max_tw_buckets = 36000
         net.ipv4.route.gc_timeout = 100
         net.ipv4.tcp_syn_retries = 1
         net.ipv4.tcp_synack_retries = 1
         net.core.somaxconn = 16384
         net.core.netdev_max_backlog = 16384
         net.ipv4.tcp_max_orphans = 16384
         #以下参数是对iptables防火墙的优化,防火墙不开会提示,可以忽略不理。
         net.nf_conntrack_max = 25000000
         net.netfilter.nf_conntrack_max = 25000000
         net.netfilter.nf_conntrack_tcp_timeout_established = 180
         net.netfilter.nf_conntrack_tcp_timeout_time_wait = 120
         net.netfilter.nf_conntrack_tcp_timeout_close_wait = 60
         net.netfilter.nf_conntrack_tcp_timeout_fin_wait = 120
         EOF
      (2)生效
         sysctl -p

七、时间同步:(工作中时间同步很重要,非常重要!)

(1)配置
          echo '#time sync by oldboy at 2018-04-26' >> /var/spool/cron/root
          echo '*/5 * * * * /usr/sbin/ntpdate ntp1.aliyun.com >/dev/null 2>&1' >> /var/spool/cron/root

###一般以阿里云时间服务器为基准,以下地址可自己选择:

ntp1.aliyun.com
        ntp2.aliyun.com
        ntp3.aliyun.com
        ntp4.aliyun.com
        ntp5.aliyun.com
        ntp6.aliyun.com
        ntp7.aliyun.com
 (2)检查
          crontab -l
 (3)备份
          \cp /var/spool/cron/root{,.back}

八、加大文件描述:

(1)配置
       echo '*               -       nofile          65535 ' >>/etc/security/limits.conf
    (2)检查
      tail -1 /etc/security/limits.conf
    (3)备份
      \cp /etc/security/limits.conf{,.back}

九、下载安装系统基础软件:

yum install -y lrzsz nmap tree dos2unix nc        ###一些基础软件会在集群架构中经常用到

十、配置hosts文件:

说明:期中集群架构的域名解析均使用内网IP,基础服务共涉及差不多9台服务器
     (1)修改
       cat >/etc/hosts<<EOF
       127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
       ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
       172.16.1.5      lb01
       172.16.1.6      lb02
       172.16.1.7      web01
       172.16.1.8      web02
       172.16.1.9      web03
       172.16.1.51     db01
       172.16.1.31     nfs01
       172.16.1.41     backup
       172.16.1.61     m01
       EOF
     (2)备份
       \cp /etc/hosts{,.back}

十一、处理/etc/bashrc以及/root/.bashrc:

(1)备份配置文件
        \cp /etc/bashrc{,.back}
     (2)处理/etc/bashrc
       编辑配置文件/etc/bashrc(vim /etc/bashrc),
       把这个文件的第36行注释掉,
       然后在刚刚注释掉的第36行下面另起一行,添加以下内容:
       [ "$PS1" = "\\s-\\v\\\$ " ] && PS1="[\[\e[34;1m\]\u@\H\[\e[0m\] \[\e[31;1m\]\w\[\e[0m\] \[\e[32;1m\]\t\[\e[0m\]]\\$ "
       注意,上面那一行很长,必须要一点不差的复制粘贴进去,并且中间不能出现回车,只能有空格,一定要注意检查!!!
       使之生效:source /etc/bashrc
       查看效果:按组合键ctrl+d,然后重新登录系统。

Linux系统基础优化

###咯,差不多就上面这样,我一老师写的,感觉挺方便的,不用随时pwd看路径和位置,在企业中尤其管用

(3)处理/etc/bashrc
      修改配置文件/root/.bashrc(vim /root/.bashrc),
      在最后一行alias下面添加以下2行内容:
      alias grep='grep --color'
      alias egrep='egrep --color'
      保存并退出;
      使之生效:. /root/.bashrc
      注意:此处的点号(.)是一个命令,此命令等价于source命令。

十二、添加一个用户:

(1)添加
        useradd oldboy
      (2)检查
        id oldboy
      (3)设置密码
        echo 123456|passwd --stdin oldboy

十三、提权给新建的用户(解释一下,因为root 用户知道的人太多了,都知道是超级管理员,为了企业的安全,重新设置一个用户)

将oldboy添加到sudo管理,以后oldboy就相当于管理员
      (1)备份
        \cp /etc/sudoers{,.back}
       (2)修改
         echo "oldboy  ALL=(ALL) NOPASSWD: ALL " >> /etc/sudoers
       (3)检查
         tail -1 /etc/sudoers
      (4)生效
        visudo -c

###此时的oldboy权限相当于root用户

十四、优化SSH远程连接:

(1)备份配置文件
     cp /etc/ssh/sshd_config{,.back}
   (2)修改配置文件
     编辑ssh服务的配置文件(vim /etc/ssh/sshd_config),在第12行下面添加如下内容:
     ####Start by oldboy#2018-04-26###
     Port 52113                                                                                     ###同样为了安全,更改登录端口
     PermitRootLogin no
     PermitEmptyPasswords no
     UseDNS no
     GSSAPIAuthentication no
     ####End by oldboy#2018-04-26###
  (3)检查
    grep -A 5 -i 'Start by oldboy' /etc/ssh/sshd_config
  (4)重启ssh服务
    /etc/init.d/sshd restart
 (5)检查
    netstat -lntup | grep ssh
 (6)配置说明
    ####Start by oldboy#2018-04-26###
    Port 52113      #使用大于10000的端口号
    PermitRootLogin no    #禁止root远程登录
    PermitEmptyPasswords no   #禁止空密码登录
    UseDNS no      #不使用dns解析
    GSSAPIAuthentication no   #连接慢的解决配置
    ####End by oldboy#2018-04-26###

十五、xshell连接

########################################################################################################

企业中:如果学习的话上面优化差不多了,当然企业实战中还可以做隐藏Linux版本信息展示;锁定关键系统文件,防止被提权篡改;为grub菜单加密码;禁ping等