首页 > 代码库 > 虚拟机初装优化

虚拟机初装优化

安装完linux系统后调优及安全设置
    1.关闭SELINUX功能(这里修改了配置文件。需要重新启动才可以起作用)
        # sed -i ‘s#SELINUX=enforcing#SELINUX=disabled‘ /etc/selinux/config
        # grep ‘SELINUX=disabled‘ /etc/selinux/config
        SELINUX=disabled
    2.临时关闭selinux
        # setenforce 0
        (setenforce 的用法:usage:  setenforce [ Enforcing | Permissive | 1 | 0 ])
        # getenforce  (查看selinux的状态)
    3.设定centos6运行级别:查看/etc/inittab  #cat /etc/inittab   如何查看当前默认级别:runlevel
     Default runlevel. The runlevels used are:
       0 - halt (Do NOT set initdefault to this)  
       1 - Single user mode
       2 - Multiuser, without NFS (The same as 3, if you do not have networking)
       3 - Full multiuser mode
       4 - unused
       5 - X11
       6 - reboot (Do NOT set initdefault to this)
    id:3:initdefault:
    4.精简开机系统自启动服务。
      一般新安装的系统需要启动的服务包括:network,rsyslog,sshd,sysstat,crond
      他们作用:网络服务,系统日志生成,加密传输协议用于连接主机,linux系统监控工具,计划任务。
      一般如果在命令行里面通过语句关闭。思路是:先过滤掉这5个命令关闭其它的命令。
      1.# chkconfig --list | grep 3:on | grep -Ev "crond|sysstat|network|rsyslog|sshd"|awk ‘{print "chkconfig " $1 " off"}‘|bash
      (这里需要注意的是 awk 在拼接 chkconfig servicename off 这个命令时要体现出空格。"chkconfig " $1 " off"。
      这个语句的作用是:先查找出 需要操作的服务名称 然后写入到  chkconfig servicename  off 命令中,最后利用bash执行拼接命令)
        #chkconfig --list | grep 3:on (查看效果)
      2.或者用到awk和sed结合(awk 负责取出 要关闭的服务名称 sed 负责拼接 chkconfig  servicename off 命令)
        # chkconfig --list |grep 3:on |grep -vE "crond|sshd|rsyslog|network|sysstat"|awk ‘{print $1}‘|sed -r ‘s#(.*)#chkconfig \1 off#g‘|bash
        # chkconfig --list | grep 3:on
        crond           0:off   1:off   2:on    3:on    4:on    5:on    6:off
        network         0:off   1:off   2:on    3:on    4:on    5:on    6:off
        rsyslog         0:off   1:off   2:on    3:on    4:on    5:on    6:off
        sshd            0:off   1:off   2:on    3:on    4:on    5:on    6:off
        sysstat         0:off   1:on    2:on    3:on    4:on    5:on    6:off
    5.更改SSH服务器远程登录配置
        # cat /etc/ssh/sshd_config
        #Port 22  (ssh监听的端口号默认22 可以任意修改,但是不可以重复)
        #ListenAddress 0.0.0.0(监听ip地址后面可以加端口号 格式 ip:sports)
        #PermitRootLogin yes (是否允许root登录)
        #PermitEmptyPasswords no (是否允许空密码登录)
        #UseDNS yes  (如果SSH连接慢可以关闭。一般负责主机名称的反向解析)
        #GSSAPIAuthentication no (如果ssh连接慢,可以关闭。)
    6.通过history会获取操作信息。
        这里可以通过一条命令来防止这个隐患出现:
        # HISTCONTROL=ignorespace
        (这一句意思是忽略空格的命令。使用方法:在下次输入命令时前面加入空格history就查询不到了)
    7.调整linux系统文件描述符数量
        文件描述符由无发号整数表示的句柄,进程通过它来标识打开的文件。默认是1024(#ulimit -n)
        可以通过在 /etc/security/limits.conf 末尾添加  *  - nofile  65535   重新登录后生效。
    8.清理邮件服务临时目录垃圾,防止 inode数量使用枯竭。
      # find /var/spool/postfix/maildrop/ -type f  --exec rm -rf {} \;
    9.对敏感文件锁定防止被黑
        chattr +i /etc/passwd /etc/shadow  /etc/inittab  /etc/group
        chattr -i /etc/passwd  /etc/shadow  /etc/inittab /etc/group  (解锁文件)
        此外还可以移动chattr 命令的位置。mv /usr/bin/chattr  任意位置  (linux 一切皆文件。)
    10.为grub 菜单加密码
        # grub-md5-crypt
        Password:
        Retype password:
        $1$f9jS9/$LxIB6l4mzzkj9DPVdiL6n0
        # vim /etc/grub.conf (编辑这个文件在  hiddenmenu  和  title之间插入一行语句)
         13 hiddenmenu
         14 password --md5 $1$f9jS9/$LxIB6l4mzzkj9DPVdiL6n0
         15 title CentOS (2.6.32-431.el6.x86_64)
    11.关于vmware克隆虚拟机网卡无法启动:
        1.进入 /etc/sysconfig/network-scripts/ifcfg-eth0 删除配置文件的HWADDR和UUID
        2.清空 /etc/udev/rules.d/70-persistent-net.rules
        3.重新系统。
    12.内核参数优化

本文出自 “赵雁生的linux之旅” 博客,请务必保留此出处http://12042068.blog.51cto.com/12032068/1894327

虚拟机初装优化