据说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 10 
    
    功能永久开启: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 系统基础优化它来了的主要内容,如果未能解决你的问题,请参考以下文章

据说这些基础知识90%的人都回答错了,你呢?

博音 ∣ 据说RBAC这个一周岁的团体,成员都优秀又有趣?!(续)

看完PS2021人工智能演示,90%的设计师都吓傻了!

据说这是写作爱好者变身畅销书作家的最短路径

据说Linuxer都难忘的25个画面

阿里巴巴规约没有注意的点