> CentOS > CentOS运维 >

CentOS最小化安装后的调优及安全设置

清理开机自动启动的服务
显示出所有服务的所有运行级别的启动状态

chkconfig –list

 

停止所有在运行级别3上开机启动的服务

for i in `chkconfig –list |grep 3:on |awk ‘{print $1}’`;do chkconfig –level 3 $i off;done

再开启常用的服务,crond,network,rsyslog,sshd

for i in crond network rsyslog sshd;do chkconfig –level 3 $i on;done

显示出所有3运行级别下的所有服务(根据需求决定哪个服务启动)

chkconfig –list |grep 3:on

ssh安全配置

备份配置文件(更改配置文件前需要进行备份)

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

修改sshd配置文件(提高系统安全性)

1
2
3
4
5
#vi /etc/ssh/sshd_config
Port 52101      修改ssh的默认端口,默认为22端口
PermitRootLogin no  不允许ROOT用户登录
PermitEmptyPasswords no 不允许空密码登录
UseDns no   不适用DNS

#man sshd_config 详细信息请再男人一下

切换用户
标示符
$ 提示符为$表示普通用户
# 提示符为#表示为管理员root用户

用户之间的切换
$su – root 普通用户切换管理员需要输入密码
#su – xu 管理员切换到普通用户不需要输入密码

给普通用户授予root管理权限

visudo     #使用visudo命令来编辑/etc/sudoers
#user   MACHINE=COMMANDS
root    ALL=(ALL)   ALL
cszhi      ALL=(ALL)   ALL

使用cszhi用户登录

$sudo cat /etc/shadow   #普通用户可以查看到shadow文件
Password:           #这里输入的密码不是管理员密码,而是cszhi用户自己的密码

用户环境变量
管理员:

#echo $PATH
/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

普通用户:

$echo $PATH
/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/home/cszhi/bin

普通用户和管理员的路径是不一样的,普通用户使用的命令是变量中PATH的路径
比如:$ useradd abc
-bash: useradd: command not found
普通用户在输入命令时,系统会找寻PATH变量中的路径,如果没有找到提示command not found

LINUX字符集  
在使用英文安装操作系统后,如果系统中有中文,这时候会显示乱码,需要修改字符集

1
2
3
4
5
#vim /etc/sysconfig/i18n
LANG=”en_US.UTF-8″
SYSFONT=”latarcyrheb-sun16″
en_US.UTF-8     英文字符集
zh_CN.GB18030   中文字符集

让修改内容立刻有效

source /etc/sysconfig/i18n

使用ntp服务更新服务器时间
ntp 网络时间协议
安装ntp

yum install ntp

更新时间

ntpdate time.windows.com

每5分钟执行一次更新

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

查看计划任务

crontab –l

加大服务器文件描述符
当系统服务开启后,访问量变大,会使用到更多的文件描述符
显示当前的文件描述符数

uimits –n
1024

加大文件描述符数

1
2
#vim /etc/security/limits.conf
*   -   nofile  65536       #在文本的最后一行添加

重新登录用户,在次查看文件描述符

#ulimit –n
65536

调整内核参数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#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 = 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.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

使修改立即生效

sysctl –p

http://www.frozentux.net/ipsysctl-tutorial/ipsysctl-tutorial.html



(责任编辑:IT)