据说90%的linux 爱好者都没有注意的点---Centos 系统基础优化它来了
Posted 小凡it故事
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了据说90%的linux 爱好者都没有注意的点---Centos 系统基础优化它来了相关的知识,希望对你有一定的参考价值。
文章目录
Linux 系统环境基础优化
hello,大家好!我是csdn博主–黄昏。今天了和大家聊聊linux 安装生产环境后,基础环境优化,我主要介绍了7个基础的优化,分别是:了解系统环境,添加普通用户及授权、命令提示、yum源、系统安全、时间同步、字符集编码。
我们通常学习linux ,基本上都是安装vm 虚拟机后,就开始学习命令、服务,很少关注系统环境优化,希望通过今天的博文,可以给您带来新的收获。
了解系统环境
01.cat /etc/redhat-release
-
系统信息查看命令
[root@localhost ~]# cat /etc/redhat-release CentOS Linux release 7.4.1708 (Core) #获得系统发行版本和具体系统版本信息(版本 centos 7.4,发行时间:17年 8月)
02. uname 命令
-
查看系统信息
[root@localhost ~]# 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 # 列出所有系统信息 [root@localhost ~]# uname -r 3.10.0-693.el7.x86_64 #查看系统内核版本 [root@localhost ~]# uname -m x86_64 #查看系统硬件位数
-
面试问题
以前你用的Linux 系统是什么环境的? centos 7 ,具体型号是 7.5版本,采用的内核时3.10,64位的系统
系统基础优化
1.添加系统普通用户,sudo授权
01.添加新用户
-
useradd 创建用户
[root@localhost ~]# groupadd study #创建一个study组 [root@localhost ~]# useradd -g study hbs #创建一个用户hbs,属于study组
02.设置用户密码
-
设置用户密码
设置密码又2种方式: 1.交互方式 passwd hbs 2.免交互时 echo 密码|passwd --stdin 用户名 [root@localhost ~]# echo '123456'|passwd --stdin hbs Changing password for user hbs. passwd: all authentication tokens updated successfully. 切换用户 [root@localhost ~]# su hbs #root用户切换普通用户无需输入密码 [hbs@localhost root]$ su root #普通用户切换root 用户,需要输入root密码 Password: [root@localhost ~]#
03.sudo 授权
-
授权
# 查看sudoers文件权限 [root@localhost ~]# ll /etc/sudoers -r--r-----. 1 root root 3938 Jun 7 2017 /etc/sudoers # 修改文件权限,设置位可编辑 [root@localhost ~]# chmod -v u+w /etc/sudoers mode of ‘/etc/sudoers’ changed from 0440 (r--r-----) to 0640 (rw-r-----) # 在添加用户权限 [root@localhost ~]# vim /etc/sudoers ## Allow root to run any commands anywhere root ALL=(ALL) ALL #已有行 hbs ALL=(ALL) ALL #新增加行 #hbs ALL=(ALL) NOPASSWD:ALL ## 不需要密码验证直接可以sudo # 恢复默认权限 [root@localhost ~]# chmod u-w /etc/sudoers [root@localhost ~]# # 测试效果 [root@localhost ~]# su hbs [hbs@localhost root]$ ls ls: cannot open directory .: Permission denied [hbs@localhost root]$ sudo ls anaconda-ks.cfg back_yum hello hello.c he.txt workspace [hbs@localhost root]$
2.命令提示信息优化
01.环境变量说明
-
相关变量文件
[root@localhost ~]# ls /etc/profile /etc/profile #命令提示符用到的变量时PS1 [root@localhost ~]# echo $PS1 [\\u@\\h \\W]\\$ [root@localhost ~]# \\u --- 显示当前登录用户名称 \\h --- 显示系统主机名称 \\W --- 显示当前所在目录信息(目录结构的最后结尾信息)
02.环境变量设置
-
修改PS1环境变量
[root@localhost ~]# vim /etc/profile #末尾添加文件 unset -f pathmunge #已有行 export PS1='[\\u@\\H \\W]\\$ ' #添加行 #source 下 [root@localhost ~]# source /etc/profile [root@localhost.localdomain ~]# H 完整的主机名称,将h缓存H后,就显示完成的主机名localhost.localdomain
-
相关参数解释
\\d 代表日期,格式为:weekday month date \\H 完整的主机名称 \\h 仅取主机的第一个名字(默认) \\t 显示时间为24小时格式:HH:MM:SS \\T 显示时间为12小时格式 \\A 显示时间为24小时格式 \\u 当前用的账号名称(默认) \\v BASH 的版本信息 \\w 完整的工作目录名称。家目录会以~显示 \\# 下达的第几个命令 \\$ 提示字符,如果是root 时显示为#,普通用户为$
04.显示全部路径(大W改小w)
-
修改环境变量配置文件(/etc/profile)
[root@localhost ~]# vim /etc/profile export PS1='[\\u@\\h \\w]\\$ ' #修改,W 改w [root@localhost ~]# source /etc/profile #测试 [root@localhost ~]# cd /etc/sysconfig/ [root@localhost /etc/sysconfig]#
04.给系统信息加颜色
-
颜色设置格式
\\[\\e[F;Bm] 文字内容 \\e[m export PS1='\\[\\e[32;1m\\][\\u@\\h \\W]\\$ \\[\\e[0m\\]' 设置颜色 内容 结束
-
常见颜色
export PS1='\\[\\e[30;1m\\][\\u@\\h \\W]\\$ \\[\\e[0m\\]' 黑色提示符 export PS1='\\[\\e[31;1m\\][\\u@\\h \\W]\\$ \\[\\e[0m\\]' 红色提示符 export PS1='\\[\\e[32;1m\\][\\u@\\h \\W]\\$ \\[\\e[0m\\]' 绿色提示符 export PS1='\\[\\e[33;1m\\][\\u@\\h \\W]\\$ \\[\\e[0m\\]' 黄色提示符 export PS1='\\[\\e[34;1m\\][\\u@\\h \\W]\\$ \\[\\e[0m\\]' 蓝色提示符 export PS1='\\[\\e[35;1m\\][\\u@\\h \\W]\\$ \\[\\e[0m\\]' 粉色 export PS1='\\[\\e[36;1m\\][\\u@\\h \\W]\\$ \\[\\e[0m\\]' 浅蓝 export PS1='\\[\\e[37;1m\\][\\u@\\h \\W]\\$ \\[\\e[0m\\]' 白色
04. 如何实现提示符是彩色
- 用户信息是红色 主机名信息是绿色 目录信息是蓝色的
[root@localhost /etc/sysconfig]# vim /etc/profile
export PS1='[\\[\\e[31;1m\\]\\u\\[\\e[0m\\]\\[\\e[32;1m\\]@\\h\\[\\e[0m\\]\\[\\e[36;1m\\]\\w\\[\\e[0m\\]]\\$
[root@localhost /etc/sysconfig]# source /etc/profile
[root@hbsedu~]# tail -1 /etc/profile
export PS1='[\\[\\e[31;1m\\]\\u\\[\\e[0m\\]\\[\\e[32;1m\\]@\\h\\[\\e[0m\\]\\[\\e[36;1m\\]\\w\\[\\e[0m\\]]\\$ '
[root@hbsedu~]#
05.每次登录都有提示信息(操作提示)
-
修改/etc/motd文件,登录后提示配置文件
[root@hbsedu~]# vim /etc/motd ============================ 操作系统时注意事项: 01.不能随意使用root,需要申请 02.操作前对文件进行备份 03.不要随意使用rm命令删除数据 =============================
-
登录前 提示
/etc/issue 与 /etc/motd 作用一致,都是用于显示欢迎信息, 区别在于 /etc/issue 是在 login 提示符之前显示, 而 /etc/motd 则在在用户成功登录系统之后显示 [root@hbsedu~]# cat /etc/issue \\S Kernel \\r on an \\m [root@hbsedu~]# #相关参数 /l 显示第几个终端机接口 /m 显示硬件的等级(i386/i686...) /n 显示主机的网络名称 /o 显示 domain name /r 显示操作系统的版本/t 显示本地端时间的时间 /s 显示操作系统的名称 /v 显示操作系统的版本
3.yum 镜像源优化
01.常见的yum 源网址
02.通过阿里源进行优化
-
基本源
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
-
扩展源
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
03.优化扩展的yum 源文件
-
2种下载方式
wget下载: [root@localhost~]# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo curl下载: [root@localhost~]#curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
04 检查yum 源信息、下载测试
-
检查可用的yum源信息
[root@localhost~]# yum repolist Loaded plugins: fastestmirror base | 3.6 kB 00:00 epel | 4.7 kB 00:00 extras | 2.9 kB 00:00 updates | 2.9 kB 00:00 (1/7): epel/x86_64/group_gz | 96 kB 00:10 (2/7): epel/x86_64/updateinfo | 1.0 MB 00:11 (3/7): extras/7/x86_64/primary_db | 242 kB 00:06 ^C/7): base/7/x86_64/p 29% [===- ] 622 kB/s | 7.2 MB 00:27 ETA …… # 下载 测试软件--娱乐的sl 、cowsay #它是又 epel源提供的的软件 [root@localhost~]# yum install sl cowsay -y # 测试 [root@localhost~]# animalsay 来学Linux啊 __________ < 来学Linux啊 > ---------- \\ ^__^ \\ (oo)\\_______ (__)\\ )\\/\\ ||----w | || || [root@localhost~]#
-
清理缓存
[root@localhost~]# yum clean all
-
yum 缓存
[root@localhost~]# yum makecache
-
反向查询某个命令是那个软件提供的
[root@localhost~]# yum provides
4.系统安全优化
01.关闭防火墙
-
关闭iptables、firewalld
# Centos 6 操作 查看防护墙服务状态 /etc/init.d/iptables status #临时关闭防火墙服务 /etc/init.d/iptables stop /etc/init.d/iptables status #永久关闭防火墙服务 chkconfig iptables off # Centos 7 操作 查看防火墙服务状态 systemctl status firewalld #临时关闭防火墙服务 systemctl stop firewalld systemctl status firewalld #永久关闭防火墙服务 systemctl disable firewalld #补充: 查看服务状态信息简便方法 systemctl is-active firewalld 、 检查服务是否正常运行 systemctl is-enabled firewalld 检查确认服务是否开机运行
02. 关闭selinux
-
关闭selinux(美国国家安全局创建的)
# 临时关闭,设置立即生效 setenforce 1 或 0 功能永久开启:enforcing|1 功能临时关闭:permissive|0 getenforce 查看设置情况 # 永久关闭,重启系统生效 vim /etc/selinux/config 功能永久开启:enforcing 功能临时关闭:permissive 功能永久关闭:disabled # 一键修改 sed -i "s#SELINUX=enforcing#SELINUX=disabled#g" /etc/selinux/config grep "=disabled" /etc/selinux/config
03. 修改ssh服务端口号
-
修改ssh服务端口
SSH端口默认是22了,我们为了服务器的安全一般会把SSH端口22修改成其它的端口好了。 [root@hbsedu~]# vim /etc/ssh/sshd_config /Port 向下找到#Port 22这段 进入vi插入模式,进行编辑 删除掉Port 22前面的#,然后下一行输入新的端口号如:Port 10000(这个你自己定,最大不能超过65535) #重启ssh 服务 [root@hbsedu~]# systemctl start sshd # 设置防火墙 查看防火墙状态 [root@hbsedu~]# firewall-cmd --state running 查看防火墙放行的端口 [root@hbsedu~]# firewall-cmd --permanent --list-port 放行端口 [root@hbsedu~]# firewall-cmd --permanent --zone=public --add-port=10000/tcp # 重启防火墙 [root@hbsedu~]# firewall-cmd --reload success [root@hbsedu~]# # 删除防火墙端口 firewall-cmd --permanent --remove-port=48489/tcp
5.系统时间同步优化
01.检查、安装ntp服务
-
检查ntp 服务
#检查有没有安装ntp服务 [root@hbsedu~]# rpm -qa|grep ntp # 没有ntpdate这个命令 [root@hbsedu~]# which ntpdate /usr/bin/which: no ntpdate in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin) # 安装ntp服务 [root@localhost~]# yum -y install ntpdate
02.同步阿里云ntp 服务器
-
同步ntp服务器
[root@localhost~]# ntpdate ntp1.aliyun.com 9 Aug 22:50:00 ntpdate[11969]: step time server 120.25.115.20 offset 2.269651 sec [root@localhost~]# # 经典阿里服务器地址 ntp1.aliyun.com ntp2.aliyun.com ntp3.aliyun.com ntp4.aliyun.com ntp5.aliyun.com ntp6.aliyun.com ntp7.aliyun.com
03.加入计划任务、定时同步
-
crontab -e
# 查看ntpdate 命令在哪里 [root@localhost~]# which ntpdate /usr/sbin/ntpdate # 加入定时任务 [root@localhost~]# crontab -e no crontab for root - using an empty one crontab: installing new crontab [root@localhost~]# [root@localhost~]# crontab -l */60 * * * * /usr/sbin/ntpdate ntp1.aliyum.com >>/tmp/ntp.log 每60分钟同步一次 [root@localhost~]#
6.字符编码优化
01.字符集概述
-
概述
什么是字符编码: 可以实现对非英文字符的支持 计算机操作系统是谁发明的? --美国人--英语
02.支持中文比较好的2种编码
-
常见的2种编码
UTF-8 比较通用 GBK 比较国际通用
03.设置字符编码
-
设置字符编码
# 临时设置 [root@localhost/tmp]# LNAG=GBK # 永久设置 [root@localhost/tmp]# echo $LANG en_US.UTF-8 [root@localhost/tmp]# vim /etc/profile export LANG="en_US.UTF-8'
04. 出现乱码的原因
-
原因总结
a.系统字符集设置有问题 b.远程软件字符集设置有问题 c.文件编写字符集和系统查看的字符集不统一
系统基础优化总结
- 此文主要介绍了以下内容:
1、了解系统信息 2、命令提示符优化 3、下载yum源优化 4、安全相关优化 防火墙优化 selinux优化 5、字符集优化 可以显示中文 避免出现乱码 6、sudo 提权 7、时钟同步
到此了,我的文章已经介绍完毕,如果喜欢我的文章,可以点个赞,关注我。有啥能帮助的,尽管私信我。有问题我们可以一起讨论哦
``
以上是关于据说90%的linux 爱好者都没有注意的点---Centos 系统基础优化它来了的主要内容,如果未能解决你的问题,请参考以下文章