作为一个系统管理员,我下面说的都是基于服务器利用的Linux来谈的,由于个人电脑上应用Linux也许不是像服务器上一样,优先寻求安全和稳固,因此个人电脑应用的朋友只做个参考吧!


1.创建普通用户账号 (这里提示预防误操作)

创建用户useraddd  zzxtbl

添加密码Passwd    zzxtbl

wKiom1Vqq6KhJTzmAAGQvqzJkgw141.jpg

快速命令:

ehco “123456”|passwd –stdin zzxtbl&& history –c  不用窗体交互

 

2.安装yum源的配置

Cd /etc/yum.repos.d/

这里备份原有的yum bin/mv CentOS-Base.repo CentOS-Base.repo.old

下载搜狐的yum wget http://mirros.sohu.com/help/CentOS-Base-sohu.repo

跟新yum

Rpm –import /etc/pki/rpm-gpg/RPM-GPG-KEY*

Yum upgrade

 

3.安装常用的软件

Yum install lrzsz sysstat –y

安装软件包组

Yum groupinstall “Development Tolls”

Yum groupinstall “x software development” 

 

3.开机启动服务的优化

Chkconfig --list |grep 3 :on

wKioL1VqrUvSOtn-AANvy6eyqXw912.jpg

开机关闭所有的没用的服务命令

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

wKiom1Vqq9WijXrWAASvOwBM7cQ510.jpg

开机启动自定义服务

 

for zzxtbl in crond network rsyslog sshd;dochkconfig --level 3 $zzxtbl on;done

wKioL1VqrYPRkGU9AADZDO_z2IE016.jpg

wKiom1Vqq_yxxGbaAAI_3UBKHm0986.jpg

 

4.修改ssh登陆配置

提示修改登陆端口

 

cp /etc/ssh/sshd_config  /etc/ssh/sshd_config.old

 

vi /etc/ssh/ssh_config

###############zzxtbl#######

port 22222 #修改端口

PermitRootLogin  no #禁用root直连

PermitEmptyPasswords no #禁止空密码登陆

UseDNS no # 禁止dns

 

wKioL1VqrajiKKFJAAE1V44N058692.jpg

查看服务的启动端口

Netstat –lnt

Netstat –lntup

Lsof –i tcp:22222

 

wKioL1VqrbqzWoR3AAMa-lQ4-5M181.jpg

重启sshd 服务器 service sshd restart

用zzxtbl普通用户登录如下

wKiom1VqrDfSrN6AAAH8OST6GPw090.jpg

 

这里用刚才创建的普通用户登陆zzxtbl

 

 

Su –  zzxtbl

wKiom1VqrH6DZalFAACwri8Rs-s881.jpg

Sudo su -

wKioL1VqriPx4-MpAADpuAYimEE513.jpg

wKiom1VqrJ-Rxi5lAAFPDCXpgU0871.jpg

 

5.配置用户权限修改

为了安全及管理的方便,可将需要的用户加入sudo管理,这样用户通过自己的额普通用户登陆,来管理系,而不需要root 账号和密码

命令 visudo   命令相当于/etc/sudoer

wKiom1VqrK-A0la2AAHsqyLbve0342.jpg

 

使用zzxtbl用户查看 /root的根目录

Sudo ls –l /root

wKioL1VqrmSzZ34aAAXzlUnMXqo589.jpg

 

6.配置普通用户的环境变量

Echo $PATH

Zzxtbl的环境变量

/usr/local/maven/bin:/usr/lib64/qt-3.3/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/zzxtbl/bin

wKioL1VqrnvhkPRQAAEf63NyrJA026.jpg

Root的环境变量

/usr/local/jdk1.7.0_51/bin:/usr/local/maven/bin:/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/root/bin

wKiom1VqrPHB-9t6AAFcpSnoflw430.jpg

 

usr/local/bin:/sbin:/bin:/usr/sbin

 

普通用户查看文件命令sudo  cat /etc/passwd

 

7.修改中文字符集

echo'LANG="zh_CN.GB18030"' > /etc/sysconfig/i18n

wKioL1VqrrKwwrWBAAChdS4t6RA451.jpg

sudo vi /etc/sysconfig/i18n

wKiom1VqrSmhNjQ2AAEJPj-aDLA773.jpg

wKioL1Vqrs7zOk41AADBJhC_CNE133.jpg

 

生效 source/etc/sysconfig/i18n

wKiom1VqrVCBxfHRAACYjq9AYsY966.jpg

wKioL1VqrvjyDp78AACcRmrkyeo902.jpg

 

8.服务器时间同步

echo '*/5 * * * */usr/sbin/ntpdate time.windows.com>/dev/null2>&1'

 

 

9.增加服务器文件描述符

Ulimit –n --查看文件描述符

wKioL1VqrwXArXLoAACf0pwjEe0238.jpg

 

 

vi/etc/security/limits.conf

添加如下:

wKiom1VqrYaC-audAAEaavdSE94874.jpg

 

 

*                -      nofile           65535

wKioL1VqryzSCgZjAAB68NzeEHo607.jpg

 

 

10.内核参数文件调整

 

vi  /etc/sysctl.conf

 

wKiom1VqrbLQbjYVAAI8I_QZuq4598.jpg

 net.ipv4.tcp_syncookies = 1 #1是开启SYN Cookies,当出现SYN等待队列溢出时,启用Cookies来处,理,可防范少量SYN***,默认是0关闭
net.ipv4.tcp_tw_reuse = 1 #1是开启重用,允许讲TIME_AIT sockets重新用于新的TCP连接,默认是0关闭
net.ipv4.tcp_tw_recycle = 1 #TCP失败重传次数,默认是15,减少次数可释放内核资源
net.ipv4.ip_local_port_range = 4096 65000 #应用程序可使用的端口范围
net.ipv4.tcp_max_tw_buckets = 5000 #系统同时保持TIME_WAIT套接字的最大数量,如果超出这个数字,TIME_WATI套接字将立刻被清除并打印警告信息,默认180000
net.ipv4.tcp_max_syn_backlog = 4096 #进入SYN宝的最大请求队列,默认是1024
net.core.netdev_max_backlog = 10240 #允许送到队列的数据包最大设备队列,默认300
net.core.somaxconn = 2048 #listen挂起请求的最大数量,默认128
net.core.wmem_default = 8388608 #发送缓存区大小的缺省值
net.core.rmem_default = 8388608 #接受套接字缓冲区大小的缺省值(以字节为单位)
net.core.rmem_max = 16777216 #最大接收缓冲区大小的最大值
net.core.wmem_max = 16777216 #发送缓冲区大小的最大值
net.ipv4.tcp_synack_retries = 2 #SYN-ACK握手状态重试次数,默认5
net.ipv4.tcp_syn_retries = 2 #向外SYN握手重试次数,默认4
net.ipv4.tcp_tw_recycle = 1 #开启TCP连接中TIME_WAIT sockets的快速回收,默认是0关闭
net.ipv4.tcp_max_orphans = 3276800 #系统中最多有多少个TCP套接字不被关联到任何一个用户文件句柄上,如果超出这个数字,孤儿连接将立即复位并打印警告信息
net.ipv4.tcp_mem = 94500000 915000000 927000000
net.ipv4.tcp_mem[0]:低于此值,TCP没有内存压力;
net.ipv4.tcp_mem[1]:在此值下,进入内存压力阶段;
net.ipv4.tcp_mem[2]:高于此值,TCP拒绝分配socket。内存单位是页,可根据物理内存大小进行调整,如果内存足够大的话,可适当往上调。上述内存单位是页,而不是字节。

 

Sysctl –p 内核文件生效

wKiom1Vqrcny-d6uAAK6ppMkU2c123.jpg

10.禁ping(非必须)
echo "net.ipv4.icmp_echo_ignore_all=1" >> /etc/sysctl.conf #允许ping则赋值0
sysctl -p