系统优化总概
1、安装完操作系统 安装服务前
2、查看系统版本
3、时间同步
4、普通用户、禁止root登录
5、关闭selinux
6、防火墙优化 工作中外网 给用户提供访问
7、更改yum源 扩展源安装
8、清空登录前系统及内核版本
9、字符集优化
10、安装常用命令
查看系统版本信息并优化
查看系统版本信息 操作系统
第一种方法:
cat /etc/redhat-release
第二种方法:
hostnamectl
第三种:查看系统及版本信息
uname -a -r
系统时间优化
保证操作系统时间和北京时间保持一致
两个时间:
系统时间 linux内核时间
硬件时间 物理机时间 bios时间
第一步:查看系统时间
date 命令 #查看系统时间
[root@heng ~]# date
Sun Jan 31 12:05:39 CST 2021
第二步:查看硬件时间
clock #查看硬件时间 bios时间
[root@heng ~]# clock
Sun 31 Jan 2021 12:06:09 PM CST -0.926819 seconds
第三步:修改系统时间 一般不使用 测试用
date -s 20080808
第四步:修改硬件的时间
timedatectl
第五步:系统时间自动同步
a. ntpdate 命令 需要提前安装 yum -y install ntpdate
b. 时间同步 ntpdate ntp1.aliyun.com
[root@heng ~]# yum -y install ntpdate
Installed:
ntpdate.x86_64 0:4.2.6p5-29.el7.centos.2
Complete!
[root@heng ~]# ntpdate ntp1.aliyun.com
31 Jan 12:08:47 ntpdate[1818]: step time server 120.25.115.20 offset -1.208414 sec
第六步:如何同步硬件时间
同步系统时间到硬件时间 让硬件和系统时间保持一致
clock -w
同步硬件时间到系统时间 让系统时间和硬件保持一致
clock -s
创建用户和密码
默认的用户为root 在企业使用普通用户
windows默认的管理员:administrator
linux默认的管理员:root
创建普通用户
useradd oldboy
如何使用oldboy用户
运维到企业中 以自己的姓名开通一个普通用户 使用自己用户进行登录
- 登录区别:windows没有任何密码允许登录
linux没有密码不允许登录
使用xshell远程链接 需要密码
创建密码*
修改具体某个用户的密码
①passwd 用户名
②passwd 直接回车 # 默认改变当前使用用户的密码
③echo 1 |passwd --stdin oldboy #扩展 免交互设置密码
- PS:在公司中的密码要求非常严格 超过12位的密码 数字字母特殊符号大小写的组合
删除普通用户
可以删除所有用户的信息
userdel -r 用户名
查看用户
cat /etc/passwd
tail /etc/passwd
切换用户
su - 用户名
1、普通用户切换到管理员root 需要管理员的密码 运维使用
2、root管理员切换到普通用户 不需要密码
优化yum源
软件安装仓库 默认是根据DNS自动生成的仓库
第一步:
yum repolist #查看当前仓库
第二步:
- /etc/yum.repos.d 目录下存放了软件仓库的配置文件
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup #备份当前的默认仓库
第三步:
使用wget命令
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo #下载新的镜像仓库到系统中
或者使用curl命令
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
#下载新的镜像仓库到系统中
查看仓库信息
yum repolist
- 配置文件出现错误:全部删掉,在其他地方重新拷贝一份
第四步:
例如需要安装sl和cowsay命令
默认的仓库里找不到这两个软件
所以需要安装扩展的仓库epel 相当于仓库加强版
[root@heng ~]# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
100%[=========================>] 664 --.-K/s in 0s
2021-01-31 12:21:45 (41.2 MB/s) - ‘/etc/yum.repos.d/epel.repo’ saved [664/664]
[root@heng ~]# yum -y install cowsay
Installed:
cowsay.noarch 0:3.04-4.el7
Complete!
[root@heng ~]# cowsay hehe
______
< hehe >
------
\ ^__^
\ (oo)\_________
(____)\ )\/\
||--------w |
|| ||
优化防火墙
作用:阻止非法的流量进入到服务器 只允许放行的
关闭firewalld防火墙 学习中关闭 公司中开启状态
cenos 7.x 操作系统 防火墙叫 firewalld
第一步:查看防火墙状态 默认运行状态 开机自动运行
systemctl status firewalld 状态查看
[root@heng ~]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
Active: active (running) since Sun 2021-01-31 10:51:57 CST; 3h 40min ago
Docs: man:firewalld(1)
Main PID: 999 (firewalld)
CGroup: /system.slice/firewalld.service
└─999 /usr/bin/python2 -Es /usr/sbin/firewalld --nofork --...
Jan 31 10:51:54 heng systemd[1]: Starting firewalld - dynamic firewa....
Jan 31 10:51:57 heng systemd[1]: Started firewalld - dynamic firewal....
Jan 31 10:51:58 heng firewalld[999]: WARNING: AllowZoneDrifting is e....
Hint: Some lines were ellipsized, use -l to show in full.
第二步:关闭防火墙 临时系统中退出防火墙
[root@heng ~]# systemctl stop firewalld
第三步:永久关闭防火墙
[root@heng ~]# systemctl disable firewalld
enabled 开机自动运行
disabled 永久关闭
centos 6.x 操作系统 防火墙叫iptables 公司中常用
查看iptables状态
/etc/init.d/iptables status
对iptables动作调整
①运行iptables
/etc/init.d/iptables start
②停止iptables
/etc/init.d/iptables stop
③重启iptables
/etc/init.d/iptables restart
- 第二种管理方式
service iptables stop
service iptables start
centos7 使用 iptables #一般公司CentOS7的话也会用iptables
安装步骤
a. 关闭firewalld防火墙
systemctl disable firewalld
[root@heng ~]# systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
b. 安装iptables
yum -y install iptables-service
[root@heng ~]# yum -y install iptables-services.x86_64
Installed:
iptables-services.x86_64 0:1.4.21-35.el7
Complete!
c. 使用service管理iptables
service iptables start
[root@heng ~]# service iptables start
Redirecting to /bin/systemctl start iptables.service
[root@heng ~]# service iptables status
Redirecting to /bin/systemctl status iptables.service
● iptables.service - IPv4 firewall with iptables
Loaded: loaded (/usr/lib/systemd/system/iptables.service; disabled; vendor preset: disabled)
Active: active (exited) since Sun 2021-01-31 14:43:13 CST; 19s ago
Process: 2098 ExecStart=/usr/libexec/iptables/iptables.init start (code=exited, status=0/SUCCESS)
Main PID: 2098 (code=exited, status=0/SUCCESS)
Jan 31 14:43:13 heng systemd[1]: Starting IPv4 firewall with iptables...
Jan 31 14:43:13 heng iptables.init[2098]: iptables: Applying firewall...
Jan 31 14:43:13 heng systemd[1]: Started IPv4 firewall with iptables.
Hint: Some lines were ellipsized, use -l to show in full.
centos6.x 和 centos 7.x 统一查看防火墙的状态
iptables-save #出现配置则开启状态 不出现内容则关闭状态
[root@heng ~]# iptables-save
# Generated by iptables-save v1.4.21 on Sun Jan 31 14:45:06 2021
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [66:7080]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
# Completed on Sun Jan 31 14:45:06 2021
什么情况开启防火墙?
①有公网IP的服务器开启 任意地方可以随意访问
②开启对外提供服务的服务器
③IDC机房 云服务器开启防火墙 自带的安全组禁止了端口
什么情况关闭防火墙?
①虚拟机
②测试服务器 公司机房中 内部服务器
③不对外提供访问的服务器
④访问量大的情况 使用硬件防火墙
优化SElinux
SElinux 防火墙 不用
美国国家安全局开发的
-
系统默认是开启状态,开启后所有新创建的文件属性后面都会有个点 .
-
第一步:查看当前SElinux的运行状态
getenforce
Enforcing #开启状态
- 第二步:临时关闭SElinux
setenforce 0 #中括号里的内容是或者
英文 | 翻译 |
---|---|
Enforcing | 开启 |
1 | 开启 |
Permissive | 关闭 |
0 | 关闭 |
- 第三步:永久关闭SElinux
PS:Linux服务大部分都是两种管理方式,配置文件或者systemctl
selinux的配置文件:
/etc/selinux/config
enforcing #开启状态
permissive #关闭状态 但是会输出警告信息
disabled #关闭状态
PS:在linux中很多配置文件不是变量文件,所以不能使用source直接生效 只有变量文件才可以
- 修改配置文件生效 必须重启系统
1> /etc/hostname
2> /etc/selinux/config
ps:在Linux 只要修改配置文件必须备份文件
不要在原来的基础上进行修改,先#在添加内容
修改完cat或者grep检查一下
优化字符集
当出现乱码问题 查看系统工具和字符集
如果相同还是乱码 远程连接
- 各国的文件在系统中的表示方式
代表 | 名称 |
---|---|
GBK | 国标 |
UTF-8 | 万国码 |
远程连接工具和系统中的字符集必须统一 才可以正常显示
第一步:查看字符集
echo $LANG
en_US.UTF-8
语言 编码
[root@heng ~]# echo $LANG
en_US.UTF-8
第二步:临时修改字符集修改为中文
export 加上这个 在当前shell 子父都可以运行,临时的
[root@heng ~]# export LANG=zh_CN.UTF-8
[root@heng ~]# man
您需要什么手册页?
第三步:查看是否将语言修改为中文
echo $LANG
useradd --help
第四步:永久生效
1>可以写入 /etc/profile 但是不规范
2>修改配置文件 /etc/locale.conf
3>修改完成后使用source 或者 . 直接生效
4>重启也生效
PS:远程连接工具需要和系统中的字符集统一 如果不统一会出现乱码
第五步:永久加临时
临时修改并修改配置文件
①localectl set-locale LANG=en_US.UTF-8
②source /etc/locale.conf
③重新连接xshell
优化命令提示符
通过PS1变量设置 提示用户可以正常输入命令
第一步:查看PS1变量
echo $PS1
第二步:永久修改
①vim /etc/profile
②vim /etc/bashrc