1,不用root, 添加普通用户,通过sudo授权管理。
2,更改默认的远程连接SSH服务端口以及禁用root用户远程连接。
3,定时自动更新服务器时间
4,配置国内Yum源代码,从国内下载安装rpm包
5,关闭SELinux,iptables(iptables工作场景如果有使用,一般要打开端口)
6,调整文件描述的数量,进程文件打开都会消耗文件描述符。
7,定时自动清理/var/spool/elientmpqune/目录垃圾文件,防止inodes节点被占 满,如果没有sendmail,忽略即可。
8,精简开机自启动(crond, sshd, network, rsyslog (Centos5) syslog)
9,优化内核参数 /etc/sysctl.conf 执行 sysctl -p 生效
10, 更改字符集,支持中文,但是还是建议使用英文字符集,防止乱码问题。
11, 锁定关键的系统文件, charttr +i /etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/inittab
12, 清空 /etc/issue 去除系统内核版本在登录前的显示
1,sudo用户
----------------------------------------------------
# visodu == vi /etc/sudoers
# visudo 会自动检测命令
# oldboy ALL=(ALL) /user/sbin/useradd
# oldboy ALL=(ALL) NOPASSWD:ALL #使用时候不用输入密码
# sudo useradd test # 测试sudo
# sudo su - #切换到root
# sudo -l #查看自己的权限
------------------------------------------------------
2,更改默认的远程连接SSH服务端口以及禁用root用户远程连接。
------------------------------------------------------
# 切记 确保已经创建其他用户,否则root不能登录以后,就在也连接不上了。
# cd /etc/ssh/
# cp sshd_config sshd_config.bak #一定要备份
# vi sshd_config
# 在配置文件的顶层加上以下代码
Port 52113 #→ssh连接默认的端口,谁都知道,必须要改。
PermitRootLogin no #→root用户黑客都知道的,禁止它远程登陆。
PermitEmptyPasswords no #→禁止空密码登陆
UseDNS no #→不使用DNS
GSSAPIAuthentication no # 认证方式
# 重启sshd
# /etc/init.d/sshd restart
-------------------------------------------------------
3.时间自动同步
-------------------------------------------------------
# /usr/sbin/ntpdate time.nist.gov #自动和时间服务器同步
# echo ‘*/5 * * * * /usr/sbin/ntpdate time.nist.gov >/dev/null 2>&1‘ >>/var/spool/cron/root #添加时间自动同步
# crontab -l
--------------------------------------------------------
4,配置国内Yum源代码,从国内下载安装rpm包
-------------------------------------------------------
# 操作要备份
# cd /etc/yum.repos.d/
# /bin/mv CentOS-Base.repo CentOS-Base.repo.ori # 备份
# wget http://mirrors.163.com/.help/CentOS6-Base-163.repo
# /bin/mv CentOS6-Base-163.repo CentOS-Base.repo
# yum upgrade 或 yum update
# yum install tree telnet dos2unix sys stat lrzsz -y
# rpm -qa | grep tree #查询安装是否成功
--------------------------------------------------------
5,关闭SELinux,iptables(iptables工作场景如果有使用,一般要打开端口)
-------------------------------------------------------
1)
直接编辑 vi /etc/selinux/config
直接替换 sed -i s#SELINUX=disable#SELINUX=disabled#g
检查 cat /etc/selinux/config
检查 grep SELINUX=disable /etc/selinux/config SELINUX=disabled
2)
setenforce 0 #设置selinux
getenforce #查看SELinux
------------------------------------------------------
6,调整文件描述的数量,进程文件打开都会消耗文件描述符。
------------------------------------------------------
# ulimit -HSn 65535 #设置文件描述符最大数
# ulimit -n #查看是否生效
# 修改配置文件,Centos6.5用命令设置不生效,重启失效
# echo ‘* - nofile 65535 ‘ >>/etc/security/limits.conf
# tail -1 /etc/security/limits.con
------------------------------------------------------
7,定时自动清理/var/spool/elientmpqune/目录垃圾文件,防止inodes节点被占 满,如果没有sendmail,忽略即可。
--------------------------------------------------
find /var/spool/clientmqueue -type f -print -exec rm -f {} \;
------------------------------------------------
8,精简开机自启动(crond, sshd, network, rsyslog (Centos5) syslog)
----------------------------------------------------------
sshd OpenSSH服务器应考虑开启。
syslog 是操作系统提供一种机制,守护程序通常使用这些机制将各种信息写到各个系统日志文件 (必须)
rsyslog CENTOS6.2系统日志rsyslog替换默认的日志服务syslog
network 激活/关闭启动时的各个网络接口 (必须)应考虑开启。
crond 周期地运行用户调度的任务。比起传统的unix版本添加了不少属性,而且更安全,配置更简单, 为Linux下自动安排的进程提供运行服务.
# /sbin/chkconfig --list | grep 3:on #查看在3级别下,启动的命令
# LANG=en
1)方法一
# for oldboy in `chkconfig --list|grep 3:on|awk ‘{print $1}‘`;do chkconfig --level 3 $oldboy off;done
# for oldboy in crond network rsyslog sshd ;do chkconfig --level 3 $oldboy on;done
2)方法二 一条命令
# for oldboy in `chkconfig --list|grep "3:on"|awk ‘{print $1}‘|grep -vE "crond|network|sshd|rsyslog"`;do chkconfig $oldboy off;done
# chkconfig --list|grep "3:on” #检查命令
------------------------------------------------------
9.优化内核参数 /etc/sysctl.conf 执行 sysctl -p 生效
------------------------------------------------------
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
sysctl –p #生效
-------------------------------------------------------
10.更改字符集,支持中文,但是还是建议使用英文字符集,防止乱码问题。
-------------------------------------------------------
# cat /etc/sysconfig/i18n
# sed -i ‘s#LANG="en_US.UTF-8"#LANG="zh_cn.gb2312"#g /etc/sysconfig/i18n #替换字符集
# source /etc/sysconfig/i18n # 让字符集生效
# echo $LANG
# LANG=zh_CN.UTF-8
------------------------------------------------------
11. 锁定关键的系统文件, charttr +i /etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/inittab
------------------------------------------------------
#chattr +i /etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/inittab #加锁
#chattr -i /etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/inittab #解锁
-------------------------------------------------------
12.清空 /etc/issue 去除系统内核版本在登录前的显示
-------------------------------------------------------
echo ‘‘ > /etc/issue
---------------------------------------------------------
13 修改运行级别
---------------------------------------------------------
vi /etc/inittab #启动命令行模式
sed s/id:5:initdefault:/id:3:initdefault:/ /etc/inittab
---------------------------------------------------------
14 修改防火墙
---------------------------------------------------------
/etc/init.d/iptables stop
--------------------------------------------------------
15、查看安装工具包
----------------------------------------------------------
yum grouplist:
Installed Groups:
Base
Compatibility libraries
Debugging Tools
Development tools
Dial-up Networking Support
Hardware monitoring utilities
Performance Tools
如果忘记选包,安装后可以按如下方式选包:
yum groupinstall "Compatibility libraries" "Base" "Development tools"
yum groupinstall "Performance Tools" "debugging Tools" "Dial-up Networking Support"
yum groupinstall "Base" "Development tools”
可以通过yum groupinfo 包组查看具体安装的组件。
----------------------------------------------------------