作为一个系统管理员,我下面说的都是基于服务器利用的Linux来谈的,由于个人电脑上应用Linux也许不是像服务器上一样,优先寻求安全和稳固,因此个人电脑应用的朋友只做个参考吧!
1.创建普通用户账号 (这里提示预防误操作)
创建用户useraddd zzxtbl
添加密码Passwd zzxtbl
快速命令:
ehco “123456”|passwd �Cstdin zzxtbl&& history �Cc 不用窗体交互
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 �Cimport /etc/pki/rpm-gpg/RPM-GPG-KEY*
Yum upgrade
3.安装常用的软件
Yum install lrzsz sysstat �Cy
安装软件包组
Yum groupinstall “Development Tolls”
Yum groupinstall “x software development”
3.开机启动服务的优化
Chkconfig --list |grep 3 :on
开机关闭所有的没用的服务命令
for zzxtbl in `chkconfig --list|grep3:on|awk '{print $1}'`;do chkconfig --level 3 $zzxtbl off;done
开机启动自定义服务
for zzxtbl in crond network rsyslog sshd;dochkconfig --level 3 $zzxtbl on;done
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
查看服务的启动端口
Netstat �Clnt
Netstat �Clntup
Lsof �Ci tcp:22222
重启sshd 服务器 service sshd restart
用zzxtbl普通用户登录如下
这里用刚才创建的普通用户登陆zzxtbl
Su �C zzxtbl
Sudo su -
5.配置用户权限修改
为了安全及管理的方便,可将需要的用户加入sudo管理,这样用户通过自己的额普通用户登陆,来管理系,而不需要root 账号和密码
命令 visudo 命令相当于/etc/sudoer
使用zzxtbl用户查看 /root的根目录
Sudo ls �Cl /root
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
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
usr/local/bin:/sbin:/bin:/usr/sbin
普通用户查看文件命令sudo cat /etc/passwd
7.修改中文字符集
echo'LANG="zh_CN.GB18030"' > /etc/sysconfig/i18n
sudo vi /etc/sysconfig/i18n
生效 source/etc/sysconfig/i18n
8.服务器时间同步
echo '*/5 * * * */usr/sbin/ntpdate time.windows.com>/dev/null2>&1'
9.增加服务器文件描述符
Ulimit �Cn --查看文件描述符
vi/etc/security/limits.conf
添加如下:
* - nofile 65535
10.内核参数文件调整
vi /etc/sysctl.conf
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 �Cp 内核文件生效
10.禁ping(非必须)
echo "net.ipv4.icmp_echo_ignore_all=1" >> /etc/sysctl.conf #允许ping则赋值0
sysctl -p