zoukankan      html  css  js  c++  java
  • LINUX调优

    一、Linux系统调优及安全设置

    系统安装安全最小化原则说明

    ◆安装linux系统最小化,即选包最小化,yum安装软件最小化。

    ◆开机自启动程序服务最小化,即无用的服务不开启。

    ◆操作命令最小化原则,rm -f 1.txt 不用rm -fr 1.txt。

    ◆登录linux用户最小化原则,平时没有需求不用root登录,用普通用户登录。

    ◆文件及目录的权限设置最小化。一般建议设置权限:文件644,目录755。

    ◆各种网络服务,系统配置参数合理,不要最大化。

     

    1、关闭selinux(也不是强制的)

    执行命令:

    setenforce 0

    getenforce

    cp /etc/selinux/config /etc/selinux/config.bak

    sed -i 's@SELINUX=enforcing@SELINUX=disabled@g' /etc/selinux/config

    diff /etc/selinux/config.bak /etc/selinux/config

    2、切换运行级别为3文本模式

    执行命令:

    cp /etc/inittab /etc/inittab.bak

    sed -i 's@id:(.*):initdefault:@id:3:initdefault:@g' /etc/inittab

    diff /etc/inittab.bak /etc/inittab /tmp/syscheck.log

    linux的运行级别如下:

    0:关机模式

    1:单用户模式

    2:无网络模式的多用户

    3:文本模式

    4:无用

    5:图形界面模式

    6:重启模式

    3、精简开机自启动

    执行命令:

    LANG=en

    for a in `chkconfig --list|grep 3:on|awk '{print $1}'`;do chkconfig --level 3 $a off;done

    for a in crond network rsyslog sshd;do chkconfig --level 3 $a on;done

    chkconfig --list |grep 3:on >>/tmp/syscheck.log

    另一种方法:

    chkconfig --list|grep "3:on"|grep -vE "sshd|crond|network|rsyslog" |awk '{print $1}'|sed -r 's#^(.*)#chkconfig 1 off#g'|bash 
    chkconfig --list|grep "3:on"

    4、更改ssh的远程登陆端口

    执行命令:

    /etc/init.d/iptables stop

    cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak

    cat >>/etc/ssh/sshd_config<<EOF

    #######by zhangsan  2016-11-11######

    Port 52113         

    PermitRootLogin no  

    PermitEmptyPasswords no 

    UseDNS no               

    GSSAPIAuthentication no

    #######by zhangsan  2016-11-11######

    EOF

    tail -8 /etc/ssh/sshd_config>>/tmp/syscheck.log

    /etc/init.d/sshd restart

    关于GSSAPIAuthentication no参数的说明:

    客户端需要对服务器端的IP地址进行反解析,如果服务器的IP地址没有配置PTR记录,则连接速率会比较慢。

    5、加入sudo管理

    可以用命令visudo或者vi /etc/sudoers  ,一般用前者,因为前者会检查语法。

    格式如下:

    用户      机器=(授权那个角色的权利)       命令

    zhangsan         ALL=(ALL)                       /bin/rm  

    授权zhangsan可以以所有用户角色的权限,执行rm。

     

    执行命令:

    echo 'zhangsan   ALL=(ALL)                      ALL'>>/etc/sudoers

    tail -1 /etc/sudoers>>/tmp/syscheck.log

    验证:

    [zhangsan@c66-moban ~]$ rm -f /root/a.log
    rm: cannot remove `/root/a.log': Permission denied
    [zhangsan@c66-moban ~]$ sudo rm -f /root/a.log
    [sudo] password for zhangsan: 

    6、更改字符集支持中文

    [root@c66-moban /]# cat /etc/sysconfig/i18n 
    LANG="en_US.UTF-8"
    SYSFONT="latarcyrheb-sun16"

    执行命令:

    cp /etc/sysconfig/i18n /etc/sysconfig/i18n.bak

    echo 'LANG="zh_CN.UTF-8"'>/etc/sysconfig/i18n

    source /etc/sysconfig/i18n

    echo $LANG >>/tmp/syscheck.log

    7、校准系统时间

    执行命令:

    echo '*/5 * * * * /usr/sbin/ntpdate time.windows.com >/dev/null 2>&1'>/var/spool/cron/root

    crontab -l >>/tmp/syscheck.log

    [root@c66-moban /]# echo '*/5 * * * * /usr/sbin/ntpdate ntp.sjtu.edu.cn >/dev/null 2>&1' >>/var/spool/cron/root
    [root@c66-moban /]# crontab -l
    */5 * * * * /usr/sbin/ntpdate ntp.sjtu.edu.cn >/dev/null 2>&1

     

    同步到 BIOS里面:

    [root@C66-mode ~]# hwclock

    2015年01月08日 星期四 19时58分26秒  -0.884854 seconds

    8、调整连接工具的超时时间及历史记录数

    l  TMOUT=5           是指SecureCRT或者Xshell的连接超时时间

    l  HISTSIZE=5        是指当前shell命令history的最大值

    l  HISTFILESIZE=5    是指.bash_history文件中保存的命令条数最大值

    执行命令:

    echo 'TMOUT=300' >>/etc/profile
    echo 'HISTSIZE=5' >>/etc/profile
    echo 'HISTFILESIZE=5' >>/etc/profile     
    tail -3 /etc/profile    

    source /etc/profile

    9、加大文件描述符

        文件描述符是由无符号整数表示的句柄(一般使用范围0~65535),进程使用它来标识打开的文件。文件描述符与包括相关信息(如文件的打开模式、文件的位置类型、文件的初始类型等)的文件对象相关联,这些信息被称作文件的上下文。

    对于内核而言,所有打开的文件都是通过文件描述符引用的。当打开一个现有文件或者创建一个新文件时,内核向进程返回一个文件描述符。

    退出后再登陆,即生效

    echo '*               -       nofile          65535 ' >>/etc/security/limits.conf

    也可以加入开机自启动

    cat >> /etc/rc.local <<EOF

    #open files

    ulimit -HSn 65535

    #stack size

    ulimit -s 65535

    EOF

    10、优化内核参数

    执行命令:

    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
    #############################################################
    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

    sysctl -p

    网络状态说明及优化参数,详细参见:
    http://yangrong.blog.51cto.com/6945369/1321594

    11、清空系统显示

    执行命令:

    >/etc/issue

    >/etc/issue.net

    可以加一些重要的系统提示!

    [root@C66-mode ~]# echo " This is DataBase-Server,Please Be Careful!">/etc/motd

    [root@C66-mode ~]# cat /etc/motd

    This is DataBase-Server,Please Be Careful!

    12、特殊文件加锁

    执行命令:

    chattr +i /etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/inittab

    lsattr /etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/inittab

     

    也可以把命令改名后再加锁:

    mv /usr/bin/chattr /opt/zhangsan

    /opt/zhangsan +i /etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/inittab

    13、系统升级

    执行命令:

    cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak

    wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo 

    命令说明:

    yum upgrade    只升级所有包,不升级软件和系统内核

    yum update    升级所有包同时也升级软件和系统内核

    升级建议:

    新装的服务器 可以更新
    运行的服务器,上线了。尽量不要更新

    14、禁止linux系统被ping(非必须)

    执行命令:

    echo"net.ipv4.icmp_echo_ignore_all=1" >> /etc/sysctl.conf
    tail -1 /etc/sysctl.conf
    sysctl -p

  • 相关阅读:
    unity3d 启用某层设置
    Unity同 iOS,Android数据交互
    Unity发布EXE去掉边框生成安装程序的最简单方法
    判断物体相对自己的方位
    相机Culling Mask 用法
    LitJson 用法
    Unity3d Attribute 总结
    unity3d shader 预定义着色器预处理宏
    (转)傅里叶分析 变换等
    Shaders: ShaderLab & Fixed Function shaders
  • 原文地址:https://www.cnblogs.com/shenlanzhizun/p/6078661.html
Copyright © 2011-2022 走看看