Linux系统基础优化

1、关闭防火墙iptables:linux

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

2、关闭selinux(安全):shell

说明:永久生效,须要重启计算机。
       (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. 禁止状态。vim

3、更改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/defaultbash

4、精简开机自启动服务:服务器

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

5、修改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 $LANGdom

6、内核优化:

      (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

7、时间同步:(工做中时间同步很重要,很是重要!)

(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}

8、加大文件描述:

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

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

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

10、配置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}

11、处理/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,而后从新登陆系统。

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

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

12、添加一个用户:

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

 十3、提权给新建的用户(解释一下,由于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用户

十4、优化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###

十5、xshell链接

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

企业中:若是学习的话上面优化差很少了,固然企业实战中还能够作隐藏Linux版本信息展现;锁定关键系统文件,防止被提权篡改;为grub菜单加密码;禁ping等