1.快速添加帐号
useraddchinaorg
echo"123456"|passwd--stdinchinaorg&&history-c#从标准输入中读入密码
idchinaorg
uid=507(chinaorg)gid=508(chinaorg)groups=508(chinaorg)
2.查看系统版本、内核版、系统位数
[root@mfsclient~]#cat/etc/redhat-release
CentOSrelease5.8(Final)
[root@mfsclient~]#uname-a
Linuxmfsclient2.6.18-308.24.1.el5xen#1SMPTueDec419:21:19EST2012i686i686i386GNU/Linux
[root@mfsclient~]#uname-r
2.6.18-308.24.1.el5xen
[root@mfsclient~]#uname-m
i686
3.快速修改YUM源
直接下载SOHU镜像提供的YUM配置文件
[root@mfsclient~]#cd/etc/yum.repos.d/
[root@mfsclientyum.repos.d]#cpCentOS-Base.repoCentOS-Base.repo.$(date+%F)
[root@mfsclientyum.repos.d]#ls
CentOS-Base.repoCentOS-Base.repo.2013-10-21CentOS-Debuginfo.repo
CentOS-Base.repo.2012-07-25CentOS-Base.repo.rpmnewCentOS-Media.repo
[root@mfsclientyum.repos.d]#wgethttp://mirrors.sohu.com/help/CentOS-Base-sohu.repo
[root@mfsclientyum.repos.d]#mvCentOS-Base-sohu.repoCentOS-Base.repo
可批量操作:
cd/etc/yum.repos.d/
/bin/cpCentOS-Base.repoCentOS-Base.repo.$(date+%F)
wgethttp://mirrors.sohu.com/help/CentOS-Base-sohu.repo
/bin/mvCentOS-Base-sohu.repoCentOS-Base.repo
4.升级系统到最新版本
[root@mfsclient~]#rpm--import/etc/pki/rpm-gpg/RPM-GPG-KEY*导放KEY文件
[root@mfsclient~]#yum-yupgrade#升级系统版本
注意与yumupdate之间的区别
yum-yupdate
升级所有包,改变软件设置和系统设置,系统版本内核都升级
yum-yupgrade
升级所有包,不改变软件设置和系统设置,系统版本升级,内核不改变
比如:
系统版本:centos5.7
内核版本:2.6.18-194.el5
系统和软件配置不做修改
yum-yupdate升级后
系统版本:centos5.7
内核版本:2.6.18-238.el5
系统和软件配置文件更新
5.安装必要的软件包
yuminstalllrzszsysstat-y
#lrzsz是上升下载软件;
sysstat是一个软件包,包含监测系统性能及效率的一组工具,这些工具对于我们收集系统性能数据,比如CPU使用率、硬盘和网络吞吐数据,这些数据的收集和分析,有利于我们判断系统是否正常运行,是提高系统运行效率、安全运行服务器的得力助手。

详细使用方法:http://www.2cto.com/os/201206/137634.html
如果在系统初装时落下包组没有安装,可以用yuminstallgroup来补救
yumgroupinstall"xsoftwaredevelopment"
6.安装自的基本调优及安全设置
6-1清理开机自启动服务
手动修改
ntsysv
setup
使用命令行,坚持最小化原则
forAin`chkconfig--list|grep3:on|awk'{print$1}'`;do`chkconfig--level3$Aoff`;done
forAinsshdnetworksyslogcrond;do`chkconfig--level3$Aon`;done
[root@mfsclient~]#chkconfig--list|grep3:on
crond0:off1:off2:on3:on4:on5:on6:off
network0:off1:off2:on3:on4:on5:on6:off
sshd0:off1:off2:on3:on4:on5:on6:off
syslog0:off1:off2:on3:on4:on5:on6:off
6-2更改SSH配置
[root@mfsclient~]#cat/etc/ssh/sshd_config
Port50718#SSH端口
PermitRootLoginno#不许ROOT登录
PermitEmptyPasswordsno#禁止空密码登录
UseDNSno#禁用DNS
Port50718
PermitRootLoginno
PermitEmptyPasswordsno
UseDNSno
mansshd_config#详细了解SSH配置文件的功能
6-3更改普通用户的环境变量,让其可以执行管理员的命令
在环境变量文件.bash_profile中添加如下内容
/usr/local/sbin:/sbin:/usr/sbin
source~/.bash_profile
6-4更改字符集,以支持中文显示
[root@mfsclient~]#cat/etc/sysconfig/i18n
LANG=ZH_GB18030
[root@mfsclient~]#echo$LANG
ZH_GB18030
6-5服务器时间同步
echo'*/5****/usr/sbin/ntpdatetime.windows.com>/dev/null2>&1'>>/var/spool/cron/root
echo'*/10****/usr/sbin/ntpdatepool.ntp.org>/dev/null2>&1'>>/var/spool/cron/root
6-6加大文件描述符
echo'*-nofile65535'>>/etc/security/limits.conf
[root@mfsclient~]#tail-1/etc/security/limits.conf
*-nofile65535
重新登录后查看:这个用source并不能使之生效
[root@mfsclient~]#ulimit-n
65535
也可以使用命令临调整数值,但重启后失效
[root@lnmp~]#ulimit-HSn2014#把此命令加入开机自启动,
[root@lnmp~]#ulimit-n
2014

ulimit用于限制shell启动进程所占用的资源,支持以下各种类型的限制:所创建的内核文件的大小、进程数据块的大小、Shell进程创建文件的大小、内存锁住的大小、常驻内存集的大小、打开文件描述符的数量、分配堆栈的最大大小、CPU时间、单个用户的最大线程数、Shell进程所能使用的最大虚拟内存。同时,它支持硬资源和软资源的限制。

-H

设置硬资源限制,一旦设置不能增加。

-S

设置软资源限制,设置后可以增加,但是不能超过硬资源设置

-n

可以打开最大文件描述符的数量。

6-7内核调优
[root@lnmp~]#vim/etc/sysctl.conf#在此文件中加入以下内容
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=400065000
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.ipv4.ip_conntrack_max=25000000
net.ipv4.netfilter.ip_conntrack_max=25000000
net.ipv4.netfilter.ip_conntrack_tcp_timeout_established=180
net.ipv4.netfilter.ip_conntrack_tcp_timeout_time_wait=120
net.ipv4.netfilter.ip_conntrack_tcp_timeout_close_wait=60
net.ipv4.netfilter.ip_conntrack_tcp_timeout_fin_wait=120
[root@lnmp~]#sysctl-p#使之生效

以上内核参数的简要说明如下:

net.ipv4.tcp_fin_timeout=2

#→表示如果套接字由本端要求关闭,这个参数决定了它保持在FIN-WAIT-2状态的时间。

net.ipv4.tcp_tw_reuse=1

#→表示开启重用。允许将TIME-WAITsockets重新用于新的TCP连接,默认为0,表示关闭。

net.ipv4.tcp_tw_recycle=1

#→表示开启TCP连接中TIME-WAITsockets的快速回收,默认为0,表示关闭。

提示:以上两个参数为了防止生产环境下time_wait过多设置的。

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

net.ipv4.tcp_syncookies=1

#→表示开启SYNCookies。当出现SYN等待队列溢出时,启用cookies来处理,可防范少量SYN***,默认为0,表示关闭;

net.ipv4.tcp_keepalive_time=1200

#→表示当keepalive起用的时候,TCP发送keepalive消息的频度。缺省是2小时,改为20分钟。

net.ipv4.ip_local_port_range=400065000

#→表示用于向外连接的端口范围。缺省情况下很小。

net.ipv4.tcp_max_syn_backlog=8192

#→表示SYN队列的长度,默认为1024,加大队列长度为8192,可以容纳更多等待连接的网络连接数。

net.ipv4.tcp_max_tw_buckets=30000

#→表示系统同时保持TIME_WAIT套接字的最大数量,如果超过这个数字,TIME_WAIT套接字将立刻被清除并打印警告信息。默认为180000,对于Apache、Nginx等服务器来说可以调整低一点,如:改为5000-20000。

上几行的参数可以很好地减少TIME_WAIT套接字数量,但是对于Squid,效果却不大。

此项参数可以控制TIME_WAIT套接字的最大数量,避免Squid服务器被大量的TIME_WAIT套接字拖死。

调整内核参数文件/etc/sysctl.conf后,需执行/sbin/sysctl-p使得修改生效

6-8关闭SElinux
查看现行SElinux状态:
[root@lnmp~]#getenforce
Disabled
临时性关闭:重启后失效
[root@lnmp~]#setenforce0
setenforce:SELinuxisdisabled
永久后关闭:
[root@lnmp~]#vim/etc/sysconfig/selinux
#ThisfilecontrolsthestateofSELinuxonthesystem.
#SELINUX=cantakeoneofthesethreevalues:
#enforcing-SELinuxsecuritypolicyisenforced.
#permissive-SELinuxprintswarningsinsteadofenforcing.
#disabled-SELinuxisfullydisabled.
SELINUX=disabled
#SELINUXTYPE=typeofpolicyinuse.Possiblevaluesare:
#targeted-Onlytargetednetworkdaemonsareprotected.
#strict-FullSELinuxprotection.
SELINUXTYPE=targeted
~
三种状态的说明:
执行-SELinux的强制执行安全策略。
宽容-SELinux的打印警告,而不是强制执行。
禁用-SELinux是完全禁用。
也可以在核心后面添加参数:selinux=0(停止)或selinux=1(开启)参数
修改grub.conf配置文件
titleCentOS(2.6.18-194.el5)
root(hd0,0)
kernel/vmlinuz-2.6.18-194.el5roroot=LABEL=/
selinux=0
initrd/initrd-2.6.18-194.el5.img

系统初装批处理脚本
####调整开机自启动项##########
forSERin$(chkconfig--list|grep3:on|awk'{print$1}');dochkconfig--level3$SERoff;done
forSERONinsshdcrondnetworksyslog;dochkconfig--level3$SERONon;done
#######安装LRZSZ#############
yuminstalllrzsz-y
useraddherry
echo"666666"|passwd--stdinherry&&history-c
########配置YUM源############
sed-i-e's/mirrorlist/#mirrorlist/'/etc/yum.repos.d/CentOS-Base.repo
sed-i-e's/#baseurl/baseurl/'/etc/yum.repos.d/CentOS-Base.repo
sed-i-e's/mirror.centos.org/mirrors.sohu.com/'/etc/yum.repos.d/CentOS-Base.repo
##########更改SSH登录配置#########
echo"Port52113">/etc/ssh/sshd_config
echo"PermitRootLoginno">>/etc/ssh/sshd_config
echo"PermitEmptyPasswordsno">>/etc/ssh/sshd_config
echo"UseDNSno">>/etc/ssh/sshd_config
/etc/init.d/sshdrestart
##########提升HERRY权限#######
echo"herryALL=(ALL)ALL">>/etc/sudoers
##########同步服务器时间##############
echo'*/5****/usr/sbin/ntpdatetime.windows.com>/dev/null2>&1'>>/var/spool/cron/root
############加大文件描述符#########
echo"*-nofile65535">>/etc/security/limits.conf
##############
sed-i's#LANG="en_US.UTF-8"#LANG="zh_CN.GB18030"#'/etc/sysconfig/i18n
source/etc/sysconfig/i18n