备战RHCSA命令笔记

RHCSA8-EX200备考笔记


 

######## #### 环境介绍及Linux基础 #### ########

 

从网盘下载练习环境文件(比如f0-rhel82-v20201230.zip)

并使用 MD5校验工具 计算校验值,确保与网盘分享的MD5校验值一致

否则下载的文件可能易损坏,请重新下载。

 

部署f0-rhel82练习环境:

1)解包练习环境(比如f0-rhel82-v20201230.zip)

    ++ 存放到空间较大的一个分区下,比如 G:\f0-rhel82

2)安装 VMware Workstion 16 虚拟化软件

    ++ 作用:用软件的方式去模拟计算机

    ++ 快照优势:重返“十八岁”

3)运行 VMware Workstion 16 程序,使用练习环境

    ++ 通过“文件”->“打开”找到 G:\f0-rhel82\目录下的虚拟机文件

 

!!!! 关于CPU处理器兼容性调整 ——

如果部署环境的电脑用的是AMD处理器,开启虚拟机时可能会遇到以下错误:

qemu-kvm: error: failed to set MSR 0xe1 to 0x0

.. ..

建议执行以下操作以排除错误:

[root@server1 ~]# echo  'options kvm ignore_msrs=1'   >  /etc/modprobe.d/qemu-system-x86.conf[root@server1 ~]# reboot

 

 

Cockpit,驾驶舱 —— RHEL8提供的通过浏览器来管理系统的Web界面

 

使用RHEL8主机的Web驾驶舱:

1)准备工作,安装驾驶舱的软件包

# yum  -y  install  cockpit  cockpit-dashboard  cockpit-machines

2)启用驾驶舱

# systemctl  enable  cockpit.socket  --now

3)使用驾驶舱

Web浏览器访问 https://虚拟机的IP地址:9090

以管理员root登录

 

 

 

系统network ==> NetworkManager

 

为RHEL8主机快速配置网络连接:

# nmtui   //NetworkManager  Text User Interface

    ++ 使用箭头键切换、Enter键确认、空格键选择

    ++ 注意修改IPv4地址配置方式(Automatic自动、Manual手动)

    ++ 通过 Show 显示地址配置,Add添加IP地址,比如 172.25.0.25/24

    ++ 根据需要添加默认网关 Gateway 地址,比如 172.25.0.254

    ++ 根据需要添加DNS Server地址,比如 172.25.0.254

 

环境现状: 

Win10真机(MobaXterm) 172.25.0.200 --> Server1(f0-rhel8虚拟机) 172.25.0.254 --> red(虚拟机)172.25.0.25/24

 

实现以下配置: 

Server1(f0-rhel8虚拟机) 172.25.0.254 --> red(虚拟机)172.25.0.25/24

 

第一步,为red虚拟机配置网络参数

1)Activities ->Show Applications -> Virtual Machine Manager -> red

2)以root用户登录,密码redhat

3)执行nmtui配置主机名、IP地址参数,并记得要激活

   red.net0.example.com

   manual

   IP地址/掩码:172.25.0.25/24

   Gateway:172.25.0.254

   DNS Server:172.25.0.254

 

第二步,从Server1远程控制red虚拟机

[root@server1 ~]# ssh  root@red.net0.example.com.. .. 第一次连接时根据提示输入 yes 接受密钥[root@red ~]#

 

Linux命令基础 ——

1)命令行基本概念、命令行格式、快捷键

命令行:管理员输入的一串用来完成xx任务的字符,按Enter键提交

解释器:Linux系统中的一个用来翻译/解释管理员提交的命令行的特殊程序(/bin/bash),通常称为shell(外壳,包在Linux内核外边的一层壳),负责把用户提交指令变成内核能理解并执行的指令

内核:操作系统(控制计算机硬件的软件平台)的最核心的部分(kernel、nt),主要用来管理CPU处理器、内存、磁盘等各种硬件设备

 

Linux目录结构:

    图形环境,通过 Activities -> Files -> Other Locations -> Computer

    命令行环境,ls  /

Linux目录的层次分隔:斜杠 /

    最顶层 就是 一个 / ,表示根目录

常见的一级目录:

  •     bin、sbin:存放可执行文件

  •     dev:存放各种硬件设备

  •     home:存放普通用户的主目录,比如/home/zhsan、/home/lisi

  •     root:管理员账号的主目录

  •     mnt:管理员手动挂载一些外部设备的目录

  •     media:自动识别并挂载的设备目录

  •     proc:内存数据的映射,不占用实际的硬盘空间

  •     tmp:临时文档目录

  •     var:存放变化的数据,系统日志、邮箱、……

  •     boot:存放系统启动文档(内核)

  •     etc:存放各种系统配置文件

  •     opt:第三方软件的资源或安装目录

  •     usr:存放与用户相关的各种数据

命令行的基本格式:

命令名字    [-选项...]  [参数...]

    ++ 选项的作用,控制命令的执行方式、效果

    ++ 参数的作用,为命令提供操作对象

常用的快捷键:

    Tab:自动补全命令名字、文件路径、服务名、软件名

    Crtl+L:清屏(相当于clear命令)

    Ctrl+C:放弃当前任务,中止

    Esc+. :快速粘贴前一条命令的最后一个参数

   

2)常用的命令(ls、cd、pwd、su、mkdir、touch、cat、less、cp、rm、mv)

ls,用来列出(list)目录下有哪些文件,列出文件的属性

     ++ 常用选项:

           -l,长格式(long)列出对象的详细信息(大小、权限、修改时间、……)

           -h,显示更易懂(human)的容量单位(说人话)

           -d,只看目录/文件(directory)本身的信息(即使参数是一个目录,下面还有内容也不会显示)

           -A,列出隐藏文档(名称以 . 开头的文档)

pwd,用来列出当前在哪个目录下(print working directory)

cd,用来改变工作目录(change directory)

     ++ 使用 ~ 表示当前用户的主目录,~zhsan 表示zhsan的主目录(/home/zhsan)

su,切换到另外一个用户身份(substitute user)

     ++ 建议加上 -l 选项(简写为 - )来模拟登录过程

     ++ 管理员切换到其他用户,不需要密码

     ++ 普通用户切换到其他用户,需要验证对方的密码

mkdir,创建新的目录(make directory)

     ++ 常用选项:

           -p,递归创建多层目录(parent),如果目录已经存在,也不提示错误

touch,用来测试创建指定名称的文件(内容为空)

cat,用来阅读短文件,直接显示整个文件的全部内容

     ++ 比如 cat  /etc/hosts 看地址映射文件、cat  /etc/hostname 看主机名配置文件

less,用来阅读长文件,先显示文件的第一屏内容,通过PgUp、PgDn翻页阅读,q退出

     ++ 比如 less  /proc/cpuinfo 看当前主机的CPU处理器信息

cp,用来复制文档

     ++ 常用选项  -r,recursive,复制目录的时候需要加

     ++ 比如 cp  file1  file2、cp  -r  mulu1  mulu2 

rm,用来删除文档

     ++ 常用选项  -r,删除目录的时候需要加;-f,强制(force)删除文档时需要添加

     ++ 比如 rm  -rf  /* 删根操作(慎做)

mv,用来移动/改名文档

     ++ 比如 mv  file1  file2、mv  mulu1  mulu2 

 

3)获取命令的帮助man

    ++ 执行 man  命令名 来获取这个命令的使用帮助

    ++ 重点看 SYNOPSIS(语法格式)、DESCRIPTION(选项的含义和用法描述)

    ++ 按 /word 查找包含word的文字描述,按 n或N来切换不同查找结果

    ++ 按 PgUp、PgDn翻页,按q键退出

 

4)vi/vim编辑器

    ++ vi,visual interface,可视化界面,Unix/Linux系统中默认文件编辑器

    ++ vim,vi improved,vi编辑器的增强版,由vim-enhanced软件包提供

    ++ 三种工作模式:命令模式(阅读/查看/复制粘贴)、输入模式(录入文字)、末行模式(保存/退出)

    ++ 按 i 键 可以从 命令模式 切换到 输入模式

    ++ 按 Esc 键 可以从 任务模式 切换到 命令模式

    ++ 按 : 键 可以从 命令模式 切换到 末行模式

    ++ 在末行模式下,常见的退出方式 —— :wq 保存并退出,或者 :q! 放弃保存并退出

 

    ++ 使用vi/vim创建/修改文件

# vi  文件名     //打开vi编辑器,并建立临时文件

按 i 键切换到输入模式,录入文本内容

按 Esc 键 返回到 命令模式

按 : 键 切换到末行模式

输入 :wq 保存修改并退出编辑器

 

    ++ 执行 yum  -y  install  vim-enhanced 可以安装增强版的vim编辑器

 

 

systemctl服务控制:

    ++ systemctl,系统控制器,用来管理Linux系统的开机/关机/服务资源运行状态

    ++ 直接执行 systemctl 列出可以管理的系统资源,包括各种系统服务

    ++ 控制服务当前运行状态:systemctl  start|stop|restart|status  服务名.. ..

    ++ 控制服务开机自启状态:systemctl  enable|disable  服务名.. ..  [--now]

 

firewalld、SELinux安全开关:

     ++ 防火墙的作用,内核的一套网络保护机制,通过firewalld服务来控制

     ++ 如何停止防火墙:systemctl  disable  firewalld  --now

 

     ++ SELinux的作用,内核的一套系统保护机制,通过内核启动参数或者启动配置来控制

     ++ 如何关闭SELinux机制(三种状态 —— Enforcing强制保护、Permissive宽松模式、Disabled禁用)

# vi  /etc/selinux/configSELINUX=Permissive     ==》重启后生效

 

# setenforce  0|1       ==》立即变成宽松|强制模式# getenforce               ==》查看结果

 

######## ######## ######## ######## 

 

01. 配置网络设置  

 

关于网络的系统服务:

    network --> NetworkManager(RHEL8已经没有network服务)

服务控制:

  systemctl  start|stop|restart|status  服务名.. ..

  systemctl  enable|disable  服务名.. ..

  systemctl  enable|disable  --now  服务名.. ..

  systemctl  is-enabled  服务名.. ..

    systemctl  is-active  服务名.. ..

 

RHEL7/8的系统管理器init(systemd)

    配置单元(unit):service、target

 

临时设置:命令工具

    hostname、hostname  新主机名

    ifconfig  [-a]、ifconfig  连接名  IP地址/掩码长度

    route  -n、route  add|del  default  gw  默认网关地址

    host  查询对象  [DNS服务器地址]

 

固定/永久设置:改配置文件、重载服务

    /etc/hostname

  /etc/sysconfig/network-scripts/ifcfg-连接名

    hostnamectl set-hostname  新主机名

 

辅助配置工具:

    nmcli(命令行)、nmtui(文本用户界面)、nm-connection-editor(图形)

 

nmcli基本用法:

  nmcli device status

  nmcli connection  show

  nmcli connection  show  "连接名"

  nmcli connection modify  "连接名" ipv4.method man ipv4.addresses "IP地址/掩码"

  nmcli connection  modify  "连接名"  ipv4.gateway 默认网关地址

  nmcli connection  modify  "连接名"  ipv4.dns DNS服务器地址

  nmcli connection  modify  "连接名"  connection.autoconnect yes

  nmcli connection  up  "连接名"

  nmcli connection  down  "连接名"

  

  nmcli connection  add  con-name  "连接名"  ifname  接口名  type  ethernet

  nmcli connection  del  "连接名"

 

接口名:内核识别的网卡设备的物理名称

连接名:网卡所使用的这一份网络配置的逻辑名称

 

运行级别切换:

systemctl  isolate  multi-user.target

systemctl  isolate  graphical.target

systemctl  set-default  multi-user.target|graphical.target

 

 

02. 配置您的系统以使用默认软件仓库  

 

用途:软件仓库/YUM源为其他客户机集中提供软件包及关联信息

RHEL8光盘预设源:BaseOS、AppStream

 

客户端配置文件:/etc/yum.conf、/etc/yum.repos.d/*.repo

 

[仓库1标识]    name  =  仓库描述    baseurl = 仓库的地址    enabled = 1|0    gpgcheck = 1|0    #gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release[仓库2标识]    .....

 

++ 安装  自动补全、网络工具、vim编辑器、DNS查询 等基本环境包

 

  # yum  -y  install  bash-completion  net-tools  vim-enhanced  bind-utils

 

++ yum命令的基本用法(新工具为dnf,用法相同):

 

  yum  clean  all //清除缓存  yum  repolist //列出可用的仓库/源信息  yum  list  [软件名.. ..] //列出软件包的安装情况  yum  info  软件名.. .. //查询指定软件的描述信息  yum   -y  install  软件名.. .. //安装指定的软件包(同时安装此软件包依赖的其他软件包)  yum   -y  reinstall  软件名.. .. //重装指定的软件包(找回丢失的文件,不影响依赖包)  yum   -y  remove  软件名.. .. //卸载指定的软件包(同时卸载依赖此软件包的其他软件包)  yum   -y  update  软件名.. .. //升级软件包  yum  search  关键词 //根据关键词搜索相关的软件  yum  provides  "文件路径" //查询哪一个软件包能提供xx文件

 

 

03. 调试SELinux  

 

SELinux,Security-Enhanced Linux:

  美国NSA国家安全局提供的一套基于内核的增强的强制安全保护机制,主要针对用户、进程、文档做了一些安全标签及相关限制。

 

安全策略谁来提供:

  NSA、RedHat

查看文件、进程的安全上下文:

  ls  -Z  .. ..

  ps  -Z  .. ..

 

SELinux的运行模式:enforcing(强制)、permissive(宽松)、disabled(禁用)

查看/切换SELinux模式:

  getenforce 

  setenforce  1|0 //只能在强制、宽松之间切换

 

开机后自动选择SELinux模式:

# vim  /etc/selinux/configSELINUX=enforcing # reboot

 

SELinux预设策略的开关控制(布尔值):

  getsebool  -a  //列出所有开关参数

  setsebool  -P  开关参数=on //打开xx开关(-P表示永久)

 

管理SELinux安全上下文、端口开放策略:

  semanage fcontext -l //列出所有预设的安全上下文策略

  semanage fcontext -a -t 策略类型  文档路径...//添加文档的上下文策略

  semanage fcontext -d ... //删除某个上下文策略

  semanage port -l //列出所有预设的端口开放策略

  semanage port -a -t  策略类型  -p  协议  端口号 //添加某个类别的端口开放策略

  semanage port -d ... //删除某个上下文策略

  比如:

# semanage  port  -a  -t  http_port_t  -p tcp 82       //允许Web开放82端口# semanage  fcontext  -a  -t httpd_sys_content_t  '/webroot(/.*)?'

 ++ 将/webroot作为网页内容目录

 

修改文档的安全上下文:

    chcon -R --reference=模板目录  文档路径... //参考模板设置文档的上下文

    chcon -R -t 归属类型  文档路径...//设置安全归属为指定值

    restorecon -R 文档路径... //根据预设策略自动设置上下文

 

SELinux排错:

1)安装排错包

# yum  -y  install  setroubleshoot-server

2)试错

# systemctl  restart  httpd                     //因SELinux 策略阻止,导致服务无法启动Job for httpd.service failed because the control process exited with error code.See "systemctl status httpd.service" and "journalctl -xe" for details.

3)查错,根据提示找到解决办法

# journalctl -xe                //查看日志,利用方向键翻阅日志,找到如下提示.. .. *****  Plugin bind_ports (99.5 confidence) suggests   ************************    If you want to allow /usr/sbin/httpd to bind to network port 82    Then you need to modify the port type.                  //要允许httpd开启82端口    Do    # semanage port -a -t PORT_TYPE -p tcp 82             //需要执行这条命令    where PORT_TYPE is one of the following: http_cache_port_t, http_port_t, jboss_management_port_t, jboss_messaging_port_t, ntop_port_t, puppet_port_t.                                                      //其中的PORT_TYPE要改成 http_port_t

或者,按以下方法也可以找到相关提示:

# grep  setrouble  /var/log/messages                    //过滤SELinux排错消息  .. ..May 11 03:21:54 localhost setroubleshoot[13814]: SELinux is preventing /usr/sbin/httpd from name_bind access on the tcp_socket port 82. For complete SELinux messages run: sealert -l 1fe64ab0-66a7-4095-85d1-469283fb8fce     
//根据提示查看详情# sealert  -l  1fe64ab0-66a7-4095-85d1-469283fb8fce .. ..                                                //获取解决办法

4)排错

# semanage  port  -a  -t  http_port_t  -p  tcp  82     //调整SELinux策略,允许Web开放TCP 82端口# systemctl  restart  httpd                           //能正常启动httpd(使用82端口)

Web网站服务

用途:基于B/S架构提供网页的服务端程序

应用层协议:HTTP(TCP 80)

软件包(S):httpd

软件包(B):firefox、IE、elinks

 

如何访问一个网站(URL,Uniform  Resource  Locator)——

  http://www.baidu.com/

  http://music.baidu.com/mp3/huluwa.mp3

  协议名://服务器地址:端口/目录路径/文件

 

服务器默认网页从哪来 ——

  网页根目录:/var/www/html/

  配置文件:/etc/httpd/conf/httpd.conf【Include】

              /etc/httpd/conf.d/*.conf

  默认首页:index.html

 

 

04. 创建用户账户  

05. 创建用户账户  

 

如何控制文档的访问 —— 谁(归属)、有什么权限(r、w、x)

 

用户账号:登录系统、控制访问权限 ==》/etc/{passwd,shadow}

组账号:控制访问权限 ==》/etc/{group,gshadow}

 

用户账号的增删改查:

    useradd  [-u  UID]  [-g  基本组]  [-G  附加组] [-d  家目录]  [-s  登录Shell]  用户名

    userdel  -r  用户名

    usermod   [-u  UID]  [-d  家目录]  [-s  登录Shell]  用户名

    id  用户名

    echo  密码  |  passwd  --stdin  [用户名]

 

 

基本组(主要组、私有组):每一个用户账号所属的最主要的组(通常这个组只有一个用户)

附加组(公共组、从属组):每一个用户账号除了基本组以外,还隶属的其他的组

 

 

组账号的增删改查:

    groupadd  组名

    groupdel  组名

    gpasswd  -a  用户名  组名

    gpasswd  -d  用户名  组名

    groups

    usermod  -a  -G  组名   用户名

 

用户身份切换:

su  -  用户名

su  -  用户名  -c  '命令行'

 

 

06. 配置cron作业  

 

什么是计划任务:

   按照计划的时间(时刻、周期)执行指定的任务

系统服务:crond

配置文件:

    /etc/crontab

  /var/spool/cron/用户名

  

配置记录格式:

分  时  日  月  周    任务操作命令(用绝对路径、必要时可记录输出)

 

时刻表示方式:

  *

  5-10

  5,7,9

  */3

  1-15/3

 

配置工具:

  crontab  -e  [-u  用户名]

  crontab  -l   [-u  用户名]

  crontab  -r   [-u  用户名]

 

检查计划任务的执行情况:

  tail  -5  /var/log/cron

 

 

07. 配置 /var/tmp/fstab 权限  

 

权限的种类 —— 

基本权限:r、w、x(针对 属主、属组、其他人)

对于文件来说 

   读取,r,read ====》  cat、less、more、head、tail .. ..

   修改,w,write ====》 vim、gpedit、>、>>、.. ..

   执行,x,execute  ====》  是否能被运行

对于目录(文件夹)来说 

   读取,r,read ==》  ls .. ..

   修改,w,write ==》 mkdir、touch、cp、mv、rm、chmod.. ..

   执行,x,execute  ==》  cd、是否能进入此目录

特点:只要对一个目录有w权限,可以删除这个目录下任何文件

 

查看文档权限 ——

  ls  -l  文档....、ls  -ld  目录....

 

设置文档权限 ——

  chmod   -R  权限字串   文档....

  chmod  归属关系+-=权限类型  文档....

  chmod  u+x,g-w,o=rwx  文档....

  chmod  a+x  文档....

  chmod  ugo+x  文档....

  chmod  755  文档....

 

文档的归属关系 ——

  属主(user):这个文件属于哪一个用户

  属组(group):这个文件属于哪一个组

  其他人(other):除了属主、属组以外的任何用户

  所有人(all):所有用户

 

设置文档归属 ——

  chown   -R   属主   文档....

  chown   -R   :属组   文档....

  chown   -R   属主:属组   文档....

 

访问控制列表:ACL(针对个别用户/组设置独立的权限)

  getfacl  文档....

  setfacl   -m  user:用户名:权限组合  文档....

  setfacl   -m  group:组名:权限组合  文档....

  setfacl  -b  文档....

 

权限的数字标记:

  r  4、w  2、x  1

  

所有者权限  所属组权限  其他人的权限

  rw- r-- ---

  6   4   0

  rwxr-xr-x ==》 421401401  ==》755 

rwxrwxrwx ==》 777

  --------- ==》 000

  rw-r--r-- ==》 644

 

 

08. 创建共用目录  

 

附加权限:

4    set uid:附加到 “属主” 的x位上,变成 s

      使普通的程序具有特殊属性(任何人在执行这个程序的时候,自动拥有这个程序的所有者的权限)

2    set gid:附加到 “属组” 的x位上,变成 s

      使普通的程序具有特殊属性(任何人在执行这个程序的时候,自动拥有这个程序的所属组的权限)

      使普通的目录的属组权限能够自动往下继承(在目录下新建的文档自动属于这个目录的属组)

1    粘滞位:附加到 “其他人” 的x位上,变成 t

      使用户在拥有w权限的目录下不能够删除其他人的文件

 

附加权限设置示例:

  chmod  u+s  文件.. ..  //比如:/usr/bin/passwd

  chmod  g+s  文件.. .. 

  chmod  o+t  文件.. .. //比如:/tmp

  chmod  4755  文件.. ..

  chmod  1777  目录.. ..

  chmod  2770  目录.. ..

 

 

09. 配置NTP  

 

NTP,Network  Time  Protocol

时间同步:将计算机与指定服务器的时间保持一致

NTP服务端(考试服务器):ntpd或chronyd

NTP客户端:软件包chrony(系统服务chronyd)

客户端配置文件:/etc/chrony.conf

pool   时间服务器的域名  iburst //适合一个域名解析为多个IP地址的情况(服务器池)

server   时间服务器的域名  iburst //适合一个域名解析为单个服务器IP地址的情况

 

++  iburst 参数的作用:

1)第一次同步时,头4个包的间隔为2秒,以便能更快的获得标准时间。

2)如果在一个标准轮询间隔内没有应答,会向NTP服务器再发送8个包(而不是通常的一个)。

3)如果NTP 服务器仍没有给出可识别的应答,那么本机的时间将不会变化。

 

NTP验证/设置工具:

    timedatectl          //查看时间日期状态信息

    chronyc sources  -v//检查当前使用的NTP源信息

 

手动设置系统日期、时间:

    date  -s  'HH:MM'

    date  -s  'HH:MM:SS'

    date  -s  'yyyy-mm-dd'

    date  -s  'yyyy-mm-dd HH:MM'

 

补充:

根据BIOS时间设置系统时间:

    hwclock  -s

根据系统时间设置BIOS时间:

    hwclock  -w

 

 

10. 配置autofs  

 

本地文件系统:文档存放在本机连接的磁盘上

    EXT4、FAT32

本地文件系统:文档存放在本机连接的磁盘上

    EXT4、XFS、SWAP

网络文件系统:文档存放在网络中的一台服务器上,通过共享方式提供(比如NFS)

    NFS,Network File System

 

mount挂载(本地):

  mount  /dev/cdrom   /mnt/dvd

  mount  /dev/sda1   /mnt/tdir

 

NFS客户端 ——

查看共享资源列表:

    showmount  -e  目标主机             //需要软件包 nfs-utils

挂载NFS共享资源:

  mount  服务器地址:共享文件夹路径  /mnt/tdir

 

 

++ 文件系统的挂载方式 ——

1)手动挂载:mount   设备路径   挂载点目录

2)开机自动挂载:修改 /etc/fstab 配置文件

    设备路径   挂载点目录  文件系统类型  defaults,_netdev  0 0

3)半自动挂载(已经配置好/etc/fstab):

    mount  设备路径

    mount  挂载点目录

 

4)触发挂载(按需自动挂载):autofs服务

++ 软件包/系统服务:autofs

++ 主配置:/etc/auto.master

目标文件夹监控策略配置文件

++ 监控策略配置:/etc/*

子目录名 -挂载选项:设备路径

子目录名 -挂载选项NFS服务器地址:共享目录绝对路径

 

通过部署autofs服务,可以代替管理员按需、自动完成以下任务:

1)当有用户需要使用 /rhome/ 目录下的 ldapuser0 子目录时,提前创建此目录,并将服务器上的 classroom.example.com:/rhome/ldapuser0 挂载到本机的 /rhome/ldapuser0

2)当用户不再使用 /rhome/ 目录下的 ldapuser0 子目录时,自动卸载此目录上已挂载的资源,并删除此目录

 

本地账号:存放在本机的/etc/passwd、/etc/shadow,家目录一般位于 /home/用户名

网络账号:存放在网络(AD域、LDAP域)中的认证服务器上,家目录也存在认证服务器上

 

 

11. 查找文件  

 

按照条件查找系统当中的任何文件:

    find  [目录范围]  [查找条件1]  -o  [查找条件2] .. ..

    find  [目录范围]  [查找条件1]  -a  [查找条件2] .. ..

常见的查找条件表示:

    -name  文档名称

    -type  文档类型  【f、d、l、b、c】

    -size  +|-文档大小

    -mtime  +|-修改时间 【1  之前24小时~48小时】

    -user  所属用户

    -group  所属组

处理find查找结果:

    -exec   命令行(嵌入 {} 替代查找结果)   \;

  

修改文件的时间戳:

# touch  -d  '2015-12-31  12:30'  f2.txt

 

 

12. 查找字符串  

 

grep基本用法:

  grep  '关键词'   文件.. ..

  grep  '正则表达式'   文件.. ..

常见的选项:

    -v:将条件取反

    --color:突出显示结果

    -w:单词匹配

    -c:统计匹配行数

 

简单正则表达式:

    ^word:查找以word开头

    word$:查找以word结尾

    ^$:查找空行

    -E:支持使用扩展正则表达式(egrep)

 

重定向操作:

命令操作  >  文件

命令操作  >>  文件

 

管道操作:

命令1  |  命令2

 

 

13. 创建归档  

 

归档:把很多文件归纳到一起 tar

压缩:减小文件占用空间的大小 gzip、bzip2、xz

 

tar命令的选项:

   -c:创建新文档

   -x:释放备份文档

   -f:指定文档名称

   -z:处理 .gz 格式

   -j:处理 .bz2 格式

   -J:处理 .xz 格式

   -t:显示文档列表

   -p:保持原有权限

   -P:保持绝对路径

   -C:指定释放备份文件时的目标位置

   --exclude=排除的子目录

 

tar 制作备份文件:

   tar  -zcf  备份文件名.tar.gz  被备份的文档....

   tar  -jcf  备份文件名.tar.bz2  被备份的文档....

   tar  -Jcf  备份文件名.tar.xz  被备份的文档....

 

tar 从备份文件恢复:

   tar  -xf  备份文件名   [-C  目标文件夹]

 

tar 查看备份文件内容:

   tar  -tf  备份文件名

 

 

14. 设置root密码  

 

基本思路:

++ 调整开机过程中的启动参数,进入Recovery恢复模式

++ 从而绕过密码验证,获得根分区控制权限

 

RHEL7/8:

++ 重启RHEL8主机,按e键打断启动过程

++ 修改linux行(ro改rw,末尾添加rd.break ),然后按ctrl+x键启动

++ 获得 switch_root:/# 命令行环境(恢复模式)

 

重设密码操作:

switch_root:/# chroot  /sysroot         //切换到系统根环境sh-4.2# echo  redhat  | passwd  --stdin  root      //重设密码sh-4.2# touch    /.autorelabel          //通知系统下次开机时重新标记SELinux安全上下文sh-4.2# exit           //退出chroot环境switch_root:/# exit        //退出Recovery恢复模式,自动重启系统,完成重置密码任务

 

 

15.  配置网络地址  

同“01”,此处略

 

16. 配置您的系统以使用默认软件仓库  

同“02”,此处略

 

17. 调整逻辑卷大小  

 

在计算机上使用磁盘空间的过程:

识别磁盘 --> 分区 --> 格式化 --> 挂载  --> 访问挂载点

fdisk -l  -->  fdisk/parted --> mkfs相关 --> mount --> ls、vim

 

磁盘分区操作 ——

fdisk  -l

fdisk  /dev/vdb 

parted  /dev/vdb

 

分区模式msdos:四个主分区、扩展分区、逻辑分区

分区模式gpt(支持>2T空间):主分区(操作系统支持一般<128个)

 

刷新硬盘分区表:

     partprobe  /dev/vdb 或者 partx  -a  /dev/vdb

     reboot

 

    练习:使用fdisk调整磁盘/dev/vdb

        1)新建512M的分区 /dev/vdb2

        2)新建1000M的分区/dev/vdb3

 

格式化操作:

mkfs.ext3   分区设备

mkfs.ext4   分区设备

mkfs.xfs   分区设备

mkfs.vfat   分区设备 

 

LVM逻辑卷管理机制 —— 化零为整、动态伸缩

 

把零散的分区(PV物理设备) ===》整编的大卷组(VG虚拟磁盘) ===》 根据需要获取空间(虚拟分区LV)

游击队 ===》 八路军 ===》按需增编/简编人员

 

识别磁盘 --> 分区 --> 卷组 --> 逻辑卷 --> 格式化 --> 挂载  --> 访问挂载点

 

实现方式:

分区/物理卷(2G、4G、6G) --> 卷组(12G) --> 逻辑卷(10G、1G)

 

LVM管理工具 ——

    物理卷操作(不常用):pvscan、pvdisplay、pvcreate

    卷组操作:vgscan、vgdisplay、vgcreate、vgremove、vgextend

    逻辑卷操作:lvscan、lvdisplay、lvcreate、lvremove、lvextend

 

PE:分配逻辑卷空间的时候,最小的单位

 

创建卷组:

   vgcreate  [-s  PE大小]  卷组名  分区.. ..

创建逻辑卷:

   lvcreate  -L  大小  -n  名称   卷组名

   lvcreate  -l  PE个数  -n  名称   卷组名

扩展逻辑卷:

   lvextend  -L  +大小  /dev/卷组名/逻辑卷名

扩展卷组:

   vgextend  卷组名  分区.. ..

 

通知内核新的文件系统大小:

   resize2fs  /dev/卷组名/逻辑卷名 //适用于EXT2/3/4文件系统(blkid检查)

   xfs_growfs  逻辑卷名的挂载点//适用于XFS文件系统(blkid检查)

 

逻辑卷的设备位置:

/dev/卷组名/逻辑卷名

或者

/dev/mapper/卷组名-逻辑卷名

 

18. 添加交换分区  

 

交换分区:虚拟内存,一般设置成物理内存的1~2倍,<16G

 

格式化交换分区:

#  mkswap   设备路径

启用/停止控制:

# swapon   设备路径# swapoff   设备路径

 

查看交换分区使用情况:

 

# swapon  -s# free

 

 

19. 创建逻辑卷  

同“16”,此处略

 

 

20. 创建VDO卷  

 

VDO,Virtual Data Optimizer,虚拟数据优化器:

    VDO是一个内核模块,目的是通过重删减少磁盘的空间占用,以及减少复制带宽,VDO是基于块设备层之上的,也就是在原设备基础上映射出mapper虚拟设备,然后直接使用即可,功能的实现主要基于以下技术。

        1)零区块的排除:在初始化阶段,整块为0的会被元数据记录下来,这个可以用水杯里面的水和沙子混合的例子来解释,使用滤纸(零块排除),把沙子(非零空间)给过滤出来,然后就是下一个阶段的处理。

        2)重复数据删除:在第二阶段,对于输入的数据会判断是不是冗余数据(在写入之前就判断),这个部分的数据通过UDS内核模块来判断(Universal Deduplication Service),被判断为重复数据的部分不会被写入,然后对元数据进行更新,直接指向原始已经存储的数据块即可。

        3)压缩:一旦消零和重删完成,LZ4压缩会对每个单独的数据块进行处理,然后压缩好的数据块会以固定大小4KB的数据块存储在介质上,由于一个物理块可以包含很多的压缩块,这个也可以加速读取的性能。

 

软件包:vdo

管理工具:vdo

系统服务:vdo

 

vdo基本操作:

  vdo  create  --name=VDO卷名称 --device=设备路径 --vdoLogicalSize=逻辑大小  vdo  list  vdo  status  -n VDO卷名称  vdostats  [--human-readable]  [/dev/mapper/VDO卷名称]  vdo  remove  -n VDO卷名称

 

VDO卷的格式化加速(跳过去重分析):

 

# mkfs.xfs  -K  /dev/mapper/VDO卷名称# mkfs.ext4  -E  nodiscard  /dev/mapper/VDO卷名称

挂载参数(等待vdo服务启动以后):

  x-systemd.requires=vdo.service      //偏门参数,换成 _netdev (等网络启用之后)

 

 

21. 配置系统调优  

 

RHEL7/8的调优服务tuned:

    提供了大量预设的调优方案,旨在于简化调优的实施,充分利用系统资源与能效。

管理员可以针对不同的业务选择不同的优化策略。

 

软件包:tuned

配置目录:/etc/tuned、/usr/lib/tuned/优化方案/

管理工具:tuned-adm

服务名:tuned

 

tuned-adm基本用法:

 

  tuned-adm  list //列出可用的优化方案  tuned-adm  recommend  //查看系统推荐的优化方案  tuned-adm  profile  <方案名称> .. .. //切换为xx优化方案  tuned-adm  active  //查看当前活动方案

 

 

附注:关于cockpit驾驶舱  

Cockpit驾驶舱:

  是红帽开发的网页版图像化服务管理工具,包括对系统、用户账号、网络、NTP时间同步、调优方案、磁盘存储、系统服务、SELinux排错、日志分析、命令行终端、虚拟机、红帽订阅……等多方面的Web可视化管理,优点是无需中间层。

 

Cockpit具有如下特点:

  1)从易用性考虑设计,方便管理人员使用,而不是仅仅的终端命令按钮化。

  2)不会打乱已有终端或脚本服务配置,通过 Cockpit 启用的服务可以在终端停止,脚本运行的错误亦会被Cockpit捕获。

  3)支持一次性管理多个服务,实现自动化和批处理。

 

软件包:cockpit、cockpit-dashboard(仪表板组件)、cockpit-machines(虚拟机管理组件)

服务/单元:cockpit.socket

访问接口:https://主机地址:9090


  
阅读 2953



posted @ 2022-03-26 00:39  紫茄子  阅读(251)  评论(0)    收藏  举报