一、常用操作
1,查看系统版本号
[[email protected] ~]# cat /etc/redhat-release CentOS Linux release 7.4.1708 (Core)
2.查看主机名
[[email protected] ~]# hostname localhost.localdomain
3.显示系统名、节点名称、操作系统的发行版号、操作系统版本、运行系统的机器 ID 号
[[email protected] ~]# uname -a Linux localhost.localdomain 3.10.0-693.el7.x86_64 #1 SMP Tue Aug 22 21:09:27 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
4.查看系统位数
[[email protected] ~]# getconf LONG_BIT 64
5.查看系统版本
[[email protected] ~]# cat /proc/version Linux version 3.10.0-693.el7.x86_64 ([email protected]) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-16) (GCC) ) #1 SMP Tue Aug 22 21:09:27 UTC 2017 [[email protected] ~]#
6.查看系统内存使用情况
[[email protected] ~]# free -m total used free shared buff/cache available Mem: 976 119 564 6 291 676 Swap: 2047 0 2047
7.查看CPU信息
[[email protected] ~]# cat /proc/cpuinfo [[email protected] ~]# cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c 1 Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz
8.查看内存信息
[[email protected] ~]# cat /proc/meminfo
二、修改IP地址、网关、主机名、DNS等
1.修改IP、网关、DNS和网卡自动启动
以root权限登陆centos7并编辑vi /etc/sysconfig/network-scripts/ifcfg-ens33这个文件,如下:
TYPE=Ethernet BOOTPROTO=static #设置静态Ip DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_FAILURE_FATAL=no NAME=eno16777736 UUID=4f40dedc-031b-4b72-ad4d-ef4721947439 DEVICE=eno16777736 ONBOOT=yes #这里如果为no的话就改为yes,表示网卡设备自动启动 PEERDNS=yes PEERROUTES=yes IPV6_PEERDNS=yes IPV6_PEERROUTES=yes IPV6_PRIVACY=no GATEWAY=192.168.10.2 #这里的网关地址就是第二步获取到的那个网关地址 IPADDR=192.168.10.150 #配置ip,在第二步已经设置ip处于192.168.10.xxx这个范围,我就随便设为150了,只要不和网关相同均可 NETMASK=255.255.255.0 #子网掩码 DNS1=202.96.128.86 #dns服务器1,填写你所在的网络可用的dns服务器地址即可 DNS2=223.5.5.5 #dns服器2
:wq 保存并退出
重启网卡服务,执行 /etc/init.d/network restart
2.修改主机名
[[email protected]~]# vi /etc/hostname mrxiong.test.com ~ ~ ~ ~ :wq [[email protected] ~]# reboot
3.修改全局DNS
[[email protected]~]# vi /etc/resolv.conf #Generated by NetworkManager search test.com nameserver 8.8.8.8 ~ ~ ~ :wq [[email protected] ~]# reboot
三、关闭Selinux,清空iptables
1.关闭selinux
★修改配置文件需要重启机器:
修改/etc/selinux/config 文件
[[email protected]~]#cp /etc/selinux/config /etc/selinux/config.bak #备份需要修改的文件 [[email protected]~]#vim /etc/selinux/config 将SELINUX=enforcing改为SELINUX=disabled :wq #保存并退出 [[email protected]~]#reboot
或者:
[[email protected]~]#cp /etc/selinux/config /etc/selinux/config.bak #备份需要修改的文件 [[email protected]~]#sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config [[email protected]~]#reboot
#查看更改后的结果
grep SELINUX=disabled /etc/selinux/config
★临时关闭(不用重启机器)
setenforce 0 #设置SELinux 成为permissive模式
#setenforce 1 设置SELinux 成为enforcing模式
★ getenforce #查看selinux当前状态
2.清空iptables和禁止firewalld运行
iptables –F #清理防火墙规则
iptables –L #查看防火墙规则
禁用/停止自带的firewalld服务
#停止firewalld服务
systemctl stop firewalld.service
#禁用firewalld服务
systemctl disable firewalld.service
四、配置yum更新
centos7更新163源方法:
访问地址为:http://mirrors.163.com/.help/centos.html
操作如下:
#安装wget工具 [[email protected] ~]# yum install wget -y #备份现有的源 [[email protected]~]#cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup #下载163源 [[email protected]~]#cd /etc/yum.repos.d/ [[email protected]~]#wget [[email protected]~]#mv -f CentOS7-Base-163.repo CentOS-Base.repo #清空及刷新YUM的缓存状态: [[email protected]~]#yum clean all [[email protected]~]#yum makecache
更新CentOS7和安装几个必要的软件
[[email protected]~]#rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY* #导入签名KEY到RPM [[email protected]lhost~]#yum upgrade -y #更新系统内核到最新 [[email protected]~]#yum --exclude=kernel* update #更新系统软件而不更新内核 [[email protected]~]#yum install lrzsz ntpdate sysstat -y #安装几个必要的软件了
五、定时自动更新服务器时间
首先我们立即手动更新所有预先安装的软件
yum -y update yum -y install cronie yum-cron
设置crond.service服务自启动
systemctl enable crond.service
★ 使用ntpdate命令进行更新:
首先使用ntpdate测试时间服务器可否使用
ntpdate time.windows.com
★设置linux自动每5分钟同步一次时间服务器进行时间同步
[[email protected]~]#echo '###time sync by mrxiong at 2018-03-09###' >>/var/spool/cron/root [[email protected]~]#echo '*/5****/usr/sbin/ntpdate time.windows.com>/dev/null 2>&1'>>/var/spool/cron/root
扩展:在机器数量少时,以上定时任务同步时间就可以了。如果机器数量大时,可以在网内另外部署一台时间同步服务器NTP Server
查看定时任务,查看是否己设置成功
[[email protected]~]#crontab -l
六、定时自动清理/var/spool/clientmquene/目录垃圾文件,防止inodes节点被占满
★ 手动清理方法:
find /var/spool/clientmqueue/ -type f |xargs rm -f
★ 使用shell脚本+定时任务自动清理方法:
[[email protected] ~]# mkdir /server/scripts -p [[email protected] ~]# vi /server/scripts/spool_clean.sh #!/bin/sh find /var/spool/clientmqueue/ -type f |xargs rm -f
然后将其加入到crontab定时任务中
echo '*/30 * * * * /bin/sh /server/scripts/spool_clean.sh >/dev/null 2>&1' >>/var/spool/cron/root
#检查一下定时任务
crontab -l
注意:
centos5.8,默认没有clientmqueue
centos6.4和centos7的要先安装sendmail才能有/var/spool/clientmqueue/ 这个目录
[[email protected] ~]# yum install sendmail -y
七、更改默认的SSH服务端口及禁止root用户远程连接
[[email protected] ~]# cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak [[email protected] ~]# vim /etc/ssh/sshd_config Port 2000 #ssh连接默认的端口是22,改为2000 PermitRootLogin no #root用户黑客都知道,禁止它远程登录 PermitEmptyPasswords no #禁止空密码登录 UseDNS no #不使用DNS [[email protected] ~]#systemctl restart sshd.service #重启sshd服务 [[email protected] ~]# netstat -lnt #查看一下端口 [[email protected] ~]# yum install lsof -y [[email protected] ~]# lsof -i:2000 #己知端口查服务 [[email protected] ~]# netstat -an|grep -i est #查看连接状态
八、锁定关键系统文件chattr +i /etc/passwd
chattr +i /etc/inittab
chattr +i /etc/group
chattr +i /etc/shadow
chattr -i /etc/passwd 对/etc/passwd解锁
可以防止黑客对系统的修改和攻击
九、调整文件描述符大小
★ #查看文件描述符大小
[[email protected] ~]# ulimit -n 1024
配置文件描述符为65535
[[email protected] ~]# echo '* - nofile 65535'>>/etc/security/limits.conf
配置完成后,重新登录即可查看
★ 也可以把ulimit -SHn 65535命令加入到/etc/rc.local,然后每次重启生效
[[email protected] ~]cat >>/etc/rc.local<<EOF #open files ulimit -HSn 65535 #stack size ulimit -s 65535 EOF
十、更改字符集、支持中文
centos7的与centos6有少许不同:
1.安装中文包:
[[email protected] ~]#yum groupinstall "fonts"
查看系统是否有安装中文语言包 (列出所有可用的公共语言环境的名称,包含有zh_CN)
[[email protected] ~]#locale -a |grep "zh_CN" zh_CN zh_CN.gb1803 0zh_CN.gb2312 zh_CN.gbk zh_CN.utf8
若发现以上几项,说明系统已安装中文语言包,无需再安装,
[[email protected] ~]# cat /etc/locale.conf LANG="en_US.UTF-8" [[email protected] ~]# echo $LANG en_US.UTF-8
十一、清空/etc/issue.去除系统及内核版本登录前的屏幕显示
>/etc/issue #清空登陆显示的信息
echo "welcome!">/etc/issue 或 vi /etc/issue #修改系统登陆时显示的信息
十二、内核优化
本优化适合apache,nginx,squid多种等web应用,特殊的业务也可能需要略作调整。
★centos7内核优化:
[[email protected] ~]# vi /etc/sysctl.conf #把以下的参数加到最后面 #CTCDN系统优化参数 #关闭ipv6 net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf.default.disable_ipv6 = 1 # 避免放大攻击 net.ipv4.icmp_echo_ignore_broadcasts = 1 # 开启恶意icmp错误消息保护 net.ipv4.icmp_ignore_bogus_error_responses = 1 #关闭路由转发 net.ipv4.ip_forward = 0 net.ipv4.conf.all.send_redirects = 0 net.ipv4.conf.default.send_redirects = 0 #开启反向路径过滤 net.ipv4.conf.all.rp_filter = 1 net.ipv4.conf.default.rp_filter = 1 #处理无源路由的包 net.ipv4.conf.all.accept_source_route = 0 net.ipv4.conf.default.accept_source_route = 0 #关闭sysrq功能 kernel.sysrq = 0 #core文件名中添加pid作为扩展名 kernel.core_uses_pid = 1 # 开启SYN洪水攻击保护 net.ipv4.tcp_syncookies = 1 #修改消息队列长度 kernel.msgmnb = 65536 kernel.msgmax = 65536 #设置最大内存共享段大小bytes kernel.shmmax = 68719476736 kernel.shmall = 4294967296 #timewait的数量,默认180000 net.ipv4.tcp_max_tw_buckets = 6000 net.ipv4.tcp_sack = 1 net.ipv4.tcp_window_scaling = 1 net.ipv4.tcp_rmem = 4096 87380 4194304 net.ipv4.tcp_wmem = 4096 16384 4194304 net.core.wmem_default = 8388608 net.core.rmem_default = 8388608 net.core.rmem_max = 16777216 net.core.wmem_max = 16777216 #每个网络接口接收数据包的速率比内核处理这些包的速率快时,允许送到队列的数据包的最大数目 net.core.netdev_max_backlog = 262144 #限制仅仅是为了防止简单的DoS 攻击 net.ipv4.tcp_max_orphans = 3276800 #未收到客户端确认信息的连接请求的最大值 net.ipv4.tcp_max_syn_backlog = 262144 net.ipv4.tcp_timestamps = 0 #内核放弃建立连接之前发送SYNACK 包的数量 net.ipv4.tcp_synack_retries = 1 #内核放弃建立连接之前发送SYN 包的数量 net.ipv4.tcp_syn_retries = 1 #启用timewait 快速回收 net.ipv4.tcp_tw_recycle = 1 #开启重用。允许将TIME-WAIT sockets 重新用于新的TCP 连接 net.ipv4.tcp_tw_reuse = 1 net.ipv4.tcp_mem = 94500000 915000000 927000000 net.ipv4.tcp_fin_timeout = 1 #当keepalive 起用的时候,TCP 发送keepalive 消息的频度。缺省是2 小时 net.ipv4.tcp_keepalive_time = 30 #允许系统打开的端口范围 net.ipv4.ip_local_port_range = 1024 65000 #修改防火墙表大小,默认65536 #net.netfilter.nf_conntrack_max=655350 #net.netfilter.nf_conntrack_tcp_timeout_established=1200 # 确保无人能修改路由表 net.ipv4.conf.all.accept_redirects = 0 net.ipv4.conf.default.accept_redirects = 0 net.ipv4.conf.all.secure_redirects = 0 net.ipv4.conf.d
重新加载内核参数
[[email protected] ~]#sysctl -p
原文地址:http://blog.51cto.com/mrxiong2017/2084661