紅帽考試RHCSA練習

環境準備

重設虛擬機的root密碼

關鍵點:如何進入恢復模式(正常的系統根默認掛載到 /sysroot)
1)重啓虛擬機,出現 GRUB 啓動菜單時按 2次e 鍵進入編輯狀態
2)找到 linux16 所在行,末尾添加 rd.break console=tty0,按 Ctrl+x 鍵進恢復模式
3)以可寫方式掛載硬盤中的根目錄,並重設 root 密碼:

switch_root:/# 
switch_root:/# mount -o remount,rw /sysroot
switch_root:/# chroot /sysroot/
sh-4.2# echo  密碼  |  passwd  --stdin  root

sh-4.2# touch  /.autorelabel	//重新設置selinux標籤
或者
sh-4.2# vim  /etc/selinux/config
SELINUX=disabled

sh-4.2# exit
switch_root:/# reboot

爲虛擬機配置網絡

網卡名(內核識別的設備名):eth0
連接名(管理員指定的配置名):eth0 (System eth0)
系統服務:NetworkManager
nmcli
Network Manager Command Line Interface
如果原來已經有現成的連接:
1)修改連接配置
nmcli con mod “連接名” ipv4.method manual ipv4.addresses “IPv4地址/掩碼位數 默認網關地址” ipv4.dns DNS服務器地址 connection.autoconnect yes
2)激活新配置
nmcli con up “連接名”
關於RHEL7.2以上系統,默認網關配置:
nmcli con mod … … ipv4.gateway 默認網關地址
如果原來沒有任何現成的連接:
1)先添加連接
nmcli con add con-name 連接名 ifname 網卡名 type ethernet
2)再修改連接配置
3)激活新配置

1、配置yum倉庫

YUM的軟件庫源爲 http://content.example.com/rhel7.0/x86_64/dvd,將此配置爲您的系統的默認軟件倉庫。

[root@server0 ~]# yum-config-manager --add http://content.example.com/rhel7.0/x86_64/dvd
//添加指定軟件源
[root@server0 ~]# vim /etc/yum.conf
gpgcheck=0 //找到此行,把原來的 1 改爲 0,不檢查軟件簽名
[root@server0 ~]# yum repolist

2、配置一個用戶賬戶

創建一個名爲alex的用戶,用戶ID是 3456,密碼是flectrag

[root@server0 ~]# useradd -u 3456 alex

3、創建用戶帳戶

創建下列用戶、組以及和組的成員關係:

  • 一個名爲adminuser的組
  • 一個名爲natasha的用戶,其屬於adminuser,這個組是該用戶的從屬組
  • 一個名爲harry的用戶,屬於adminuser,這個組是該用戶的從屬組
  • 一個名爲sarah的用戶,其在系統中沒有可交互的shell,並且不是adminuser組的成員用戶
  • natasha、harry、和sarah的密碼都要設置爲flectrag
[root@server0 ~]# groupadd adminuser
[root@server0 ~]# useradd -G adminuser natasha 
[root@server0 ~]# useradd -G adminuser harry
[root@server0 ~]# useradd -s /sbin/nologin sarah 
[root@server0 ~]# echo flectrag | passwd --stdin sarah
[root@server0 ~]# echo flectrag | passwd --stdin harry
[root@server0 ~]# echo flectrag | passwd --stdin natasha

4、配置文件/var/tmp/fstab的權限

拷貝文件/etc/fstab到/var/tmp/fstab,配置文件/var/tmp/fstab的權限:

  • 文件/var/tmp/fstab的擁有者是root用戶
  • 文件/var/tmp/fstab屬於root組
  • 文件/var/tmp/fstab對任何人都不可執行
  • 用戶natasha能夠對文件/var/tmp/fstab執行讀和寫操作
  • 用戶harry 對文件/var/tmp/fstab既不能讀,也不能寫
  • 所有其他用戶(當前的和將來的)能夠對文件/var/tmp/fstab進- 行讀操作
[root@server0 ~]# cp /etc/fstab /var/tmp/fstab
[root@server0 ~]# ls /var/tmp/fstab
/var/tmp/fstab
[root@server0 ~]# ls -l /var/tmp/fstab
-rw-r--r--. 1 root root 313 Apr  9 14:18 /var/tmp/fstab
[root@server0 ~]# setfa
setfacl   setfattr  
[root@server0 ~]# setfacl -m user:natasha:rw /var/tmp/fstab
[root@server0 ~]# ls -l /var/tmp/fstab
-rw-rw-r--+ 1 root root 313 Apr  9 14:18 /var/tmp/fstab
[root@server0 ~]# setfacl -m user:harry:--- /var/tmp/fstab
[root@server0 ~]# ls -l /var/tmp/fstab
-rw-rw-r--+ 1 root root 313 Apr  9 14:18 /var/tmp/fstab
[root@server0 ~]# getfacl /var/tmp/fstab
getfacl: Removing leading '/' from absolute path names
# file: var/tmp/fstab
# owner: root
# group: root
user::rw-
user:natasha:rw-
user:harry:---
group::r--
mask::rw-
other::r--

5、創建一個共享目錄

創建一個共享目錄/home/admins ,特性如下:

  • /home/admins目錄的組所有權是adminuser

  • adminuser組的成員對目錄有讀寫和執行的權限。除此之外的其他所有用戶沒有任何權限(root用戶能夠訪問系統中的所有文件和目錄)

  • 在/home/admins目錄中創建的文件,其組所有權會自動設置爲屬於adminuser組

  • [注]此處所謂的共享目錄並不是指網絡共享,只是某個組成員共用

[root@server0 ~]# mkdir /home/admins
[root@server0 ~]# ls -ld /home/admins
drwxr-xr-x. 2 root root 6 Apr  9 14:24 /home/admins
[root@server0 ~]# chown :adminuser /home/admins
[root@server0 ~]# ls -ld /home/admins
drwxr-xr-x. 2 root adminuser 6 Apr  9 14:24 /home/admins
[root@server0 ~]# chmod 770 /home/admins
[root@server0 ~]# ls -ld /home/admins
drwxrwx---. 2 root adminuser 6 Apr  9 14:24 /home/admins
[root@server0 ~]# chmod g+s /home/admins
[root@server0 ~]# ls -ld /home/admins
drwxrws---. 2 root adminuser 6 Apr  9 14:24 /home/admins
[root@server0 ~]# touch /home/admins/a.txt
[root@server0 ~]# ls -l /home/admins/a.txt
-rw-r--r--. 1 root adminuser 0 Apr  9 14:27 /home/admins/a.txt

或

6、配置一個cron任務

爲用戶natasha配置一個定時任務,每天在本地時間14:23時執行命令 /bin/echo hiya

[root@server0 ~]# crontab -e -u natasha
no crontab for natasha - using an empty one
crontab: installing new crontab
23 14 * *  *   /bin/echo hiya 

7、安裝內核的升級

從指定的地址 http://classroom.example.com/content/rhel7.0/x86_64/errata/Pa ckages/ 找到新版kernel的rpm安裝文件,下載並用來升級內核,同時要滿足下列要求:

  • 當系統重新啓動之後升級的內核要作爲默認的內核
  • 原來的內核要被保留,並且仍然可以正常啓動
[root@server0 ~]# ls /boot/vmlinuz-*
[root@server0 ~]# yum -y install http://classroom.example.com/content/rhel7.0/x86_64/errata/Packages/kernel-3.10.0-123.1.2.el7.x86_64.rpm
[root@server0 ~]# ls /boot/vmlinuz-*
[root@server0 ~]# uname -r 
[root@server0 ~]# reboot
[root@server0 ~]# uname -r

8、配置NTP網絡時間客戶端

配置您的系統,讓其作爲 NTP 服務器 classroom.example.com 的客戶端

[root@server0 ~]# vim /etc/chrony.conf 
server classroom.example.com iburst
#server 0.rhel.pool.ntp.org iburst
#server 1.rhel.pool.ntp.org iburst
#server 2.rhel.pool.ntp.org iburst
#server 3.rhel.pool.ntp.org iburst
[root@server0 ~]# systemctl restart chronyd.service 
[root@server0 ~]# systemctl enable chronyd.service

9、綁定到外部驗證服務

系統 classroom.example.com 提供了一個 LDAP 驗證服務。您的系統需要按照以下要求綁定到這個服務上:

  • 驗證服務器的基本 DN 是:dc=example,dc=com
  • 帳戶信息和驗證信息都是由 LDAP 提供的
  • 連接要使用證書進行加密,證書可以在下面的鏈接中下載 :http://classroom.example.com/pub/example-ca.crt
  • 當正確完成配置後,用戶 ldapuser0 應該能夠登錄到您的系統中,但是沒有主目錄。當您完成 autofs的題目之後,才能生成主目錄
  • 用戶ldapuser0的密碼是password
[root@server0 ~]# yum -y install sssd
[root@server0 ~]# authconfig-tui 

在這裏插入圖片描述在這裏插入圖片描述在這裏插入圖片描述在這裏插入圖片描述在這裏插入圖片描述

[root@server0 ~]# cd /etc/openldap/cacerts
[root@server0 cacerts]# ls
[root@server0 cacerts]# wget http://classroom.example.com/pub/example-ca.crt
[root@server0 cacerts]# ls
example-ca.crt
[root@server0 ~]# systemctl  restart sssd
[root@server0 ~]# id ldapuser0
uid=1700(ldapuser0) gid=1700(ldapuser0) groups=1700(ldapuser0)

[root@server0 ~]# ssh ldapuser0@server0
The authenticity of host 'server0 (172.25.0.11)' can't be established.
ECDSA key fingerprint is eb:24:0e:07:96:26:b1:04:c2:37:0c:78:2d:bc:b0:08.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'server0,172.25.0.11' (ECDSA) to the list of known hosts.
ldapuser0@server0's password: 
Could not chdir to home directory /home/guests/ldapuser0: No such file or directory
mkdir: cannot create directory ‘/home/guests’: Permission denied
-bash-4.2$ 
-bash-4.2$ 
-bash-4.2$ exit
logout
Connection to server0 closed.

[root@server0 ~]# su - ldapuser0		//沒有家目錄
Last login: Thu Apr  9 15:33:59 CST 2020 from server0.example.com on pts/2
su: warning: cannot change directory to /home/guests/ldapuser0: No such file or directory
mkdir: cannot create directory '/home/guests': Permission denied

10、autofs的配置

按照下述要求配置 autofs 用來自動掛載 LDAP 用戶的主目錄:

  • classroom.example.com(172.25.0.11)通過 NFS 輸出 /home/guests 目錄到您的系統,這個文件系統包含了用戶ldapuser0的主目錄,並且已經預先配置好了
  • ldapuser0用戶的主目錄是 classroom.example.com:/home/guests/ldapuser0
  • ldapuser0的主目錄應該按需掛載到本地的/home/guests/ldapuser0 目錄下
  • 用戶對其主目錄必須是可寫的
  • ldapuser0用戶的密碼是password
[root@server0 ~]# yum -y install autofs
[root@server0 ~]# vim /etc/auto.master
/home/guests  /etc/guests.rule
[root@server0 ~]# vim /etc/guests.rule
ldapuser0  -rw classroom.example.com:/home/guests/ldapuser0
[root@server0 ~]# systemctl start autofs
[root@server0 ~]# systemctl enable autofs
[root@server0 ~]# ls -ld /home/guests/ldapuser0/
drwx------. 5 ldapuser0 ldapuser0 4096 Apr  9 16:12 /home/guests/ldapuser0/
[root@server0 ~]# su - ldapuser0
Last login: Thu Apr  9 16:12:26 CST 2020 on pts/0
[ldapuser0@server0 ~]$ pwd
/home/guests/ldapuser0

11、查找文件

找出所有用戶student擁有的文件,並且把它們拷貝到/root/findfiles 目錄中

[root@server0 ~]# find / -user student -type f -exec cp -p {} /root/findfiles/ \;
[root@server0 ~]# ls -al /root/findfiles

12、查找一個字符串

在文件/usr/share/dict/words中查找到所有包含字符串seismic的行:

  • 將找出的行按照原文的先後順序拷貝到/root/wordlist文件中
  • /root/wordlist文件不要包含空行,並且其中的所有行的內容都必須是 /usr/share/dict/words文件中原始行的準確副本
[root@server0 ~]# grep seismic /usr/share/dict/words  > /root/wordlist

13、創建一個歸檔

創建一個名爲/root/backup.tar.bz2的歸檔文件,其中包含/usr/local目錄中的內容,tar歸檔必須使用bzip2進行壓縮

[root@server0 ~]# tar -jPcf /root/backup.tar.bz2 /usr/local  
[root@server0 ~]# ls
[root@server0 ~]# file backup.tar.bz2 
backup.tar.bz2: bzip2 compressed data, block size = 900k

14、創建一個邏輯卷

14.1、考試環境與練習環境區別

注(1):考試環境直接操作磁盤/dev/vda(包含 Linux 系統),使用剩餘空間完成考題要求
注(2):練習環境需要自行處理/dev/vdb,模擬成“已使用部分空間+剩餘空間”的磁盤練習環境

14.2、練習環境的磁盤環境準備

[root@server0 ~]# fdisk /dev/vdb
Command (m for help): n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
Partition number (1-4, default 1): 1
First sector (2048-20971519, default 2048): 
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-20971519, default 20971519): +200M
Partition 1 of type Linux and of size 200 MiB is set

Command (m for help): n 
Partition type:
   p   primary (1 primary, 0 extended, 3 free)
   e   extended
Select (default p): p
Partition number (2-4, default 2): 2
First sector (411648-20971519, default 411648): 
Using default value 411648
Last sector, +sectors or +size{K,M,G} (411648-20971519, default 20971519): +2000M
Partition 2 of type Linux and of size 2 GiB is set

Command (m for help): n
Partition type:
   p   primary (2 primary, 0 extended, 2 free)
   e   extended
Select (default p): p
Partition number (3,4, default 3): 3
First sector (4507648-20971519, default 4507648): 
Using default value 4507648
Last sector, +sectors or +size{K,M,G} (4507648-20971519, default 20971519): +1000M
Partition 3 of type Linux and of size 1000 MiB is set

Command (m for help): p

Disk /dev/vdb: 10.7 GB, 10737418240 bytes, 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x4405d8b2

   Device Boot      Start         End      Blocks   Id  System
/dev/vdb1            2048      411647      204800   83  Linux
/dev/vdb2          411648     4507647     2048000   83  Linux
/dev/vdb3         4507648     6555647     1024000   83  Linux

Command (m for help): w

[root@server0 ~]# partprobe /dev/vdb
[root@server0 ~]# lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
vda    252:0    0   10G  0 disk 
└─vda1 252:1    0   10G  0 part /
vdb    252:16   0   10G  0 disk 
├─vdb1 252:17   0  200M  0 part 
├─vdb2 252:18   0    2G  0 part 
└─vdb3 252:19   0 1000M  0 part 

[root@server0 ~]# vgcreate systemvg /dev/vdb1
  Physical volume "/dev/vdb1" successfully created
  Volume group "systemvg" successfully created
[root@server0 ~]# lvcreate -n vo -L 180M systemvg 
  Logical volume "vo" created
[root@server0 ~]# lvscan
  ACTIVE            '/dev/systemvg/vo' [180.00 MiB] inherit

[root@server0 ~]# mkfs.ext3 /dev/systemvg/vo

14.3、根據題目,規劃分區方案

[root@server0 ~]# fdisk /dev/vdb
Command (m for help): n
Partition type:
   p   primary (3 primary, 0 extended, 1 free)
   e   extended
Select (default e): e
Selected partition 4
First sector (6555648-20971519, default 6555648): 
Using default value 6555648
Last sector, +sectors or +size{K,M,G} (6555648-20971519, default 20971519): 
Using default value 20971519
Partition 4 of type Extended and of size 6.9 GiB is set

Command (m for help): n 
All primary partitions are in use
Adding logical partition 5
First sector (6557696-20971519, default 6557696): 
Using default value 6557696
Last sector, +sectors or +size{K,M,G} (6557696-20971519, default 20971519): +500M
Partition 5 of type Linux and of size 500 MiB is set

Command (m for help): n
All primary partitions are in use
Adding logical partition 6
First sector (7583744-20971519, default 7583744): 
Using default value 7583744
Last sector, +sectors or +size{K,M,G} (7583744-20971519, default 20971519): +2000M
Partition 6 of type Linux and of size 2 GiB is set

Command (m for help): n
All primary partitions are in use
Adding logical partition 7
First sector (11681792-20971519, default 11681792): 
Using default value 11681792
Last sector, +sectors or +size{K,M,G} (11681792-20971519, default 20971519): +512M
Partition 7 of type Linux and of size 512 MiB is set

Command (m for help): p 

Disk /dev/vdb: 10.7 GB, 10737418240 bytes, 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x4405d8b2

   Device Boot      Start         End      Blocks   Id  System
/dev/vdb1            2048      411647      204800   83  Linux
/dev/vdb2          411648     4507647     2048000   83  Linux
/dev/vdb3         4507648     6555647     1024000   83  Linux
/dev/vdb4         6555648    20971519     7207936    5  Extended
/dev/vdb5         6557696     7581695      512000   83  Linux
/dev/vdb6         7583744    11679743     2048000   83  Linux
/dev/vdb7        11681792    12730367      524288   83  Linux

Command (m for help): w

[root@server0 ~]# partprobe /dev/vdb
[root@server0 ~]# reboot 	//重啓一次確保所有新分區表生效

[root@server0 ~]# lsblk 
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
vda             252:0    0   10G  0 disk 
└─vda1          252:1    0   10G  0 part /
vdb             252:16   0   10G  0 disk 
├─vdb1          252:17   0  200M  0 part 
│ └─systemvg-vo 253:0    0  180M  0 lvm  
├─vdb2          252:18   0    2G  0 part 
├─vdb3          252:19   0 1000M  0 part 
├─vdb4          252:20   0    1K  0 part 
├─vdb5          252:21   0  500M  0 part 
├─vdb6          252:22   0    2G  0 part 
└─vdb7          252:23   0  512M  0 part 

14.4、創建一個邏輯卷

根據下面的要求創建一個新的邏輯卷:
邏輯卷命名爲database,屬於datastore卷組,並且邏輯卷的大小爲50個物理擴展單元 (physical extent)
在datastore卷組中的邏輯卷,物理擴展單元 (physical extent) 大小應爲 16 MiB
使用ext3文件系統對新的邏輯捲進行格式化,此邏輯卷應該在系統啓動的時候自動掛載在 /mnt/database 目錄下

[root@server0 ~]# vgcreate -s 16MiB datastore /dev/vdb6
  Physical volume "/dev/vdb6" successfully created
  Volume group "datastore" successfully created
[root@server0 ~]# lvcreate -l 50 -n database datastore
  Logical volume "database" created
  
[root@server0 ~]# mkfs.ext3 /dev/datastore/database 
[root@server0 ~]# mkdir /mnt/database

[root@server0 ~]# vim /etc/fstab 
/dev/datastore/database /mnt/database ext3 defaults 0 0
[root@server0 ~]# mount  -a
[root@server0 ~]# df -hT
Filesystem                     Type      Size  Used Avail Use% Mounted on
/dev/vda1                      xfs        10G  3.3G  6.8G  33% /
devtmpfs                       devtmpfs  478M     0  478M   0% /dev
tmpfs                          tmpfs     498M   80K  497M   1% /dev/shm
tmpfs                          tmpfs     498M   14M  484M   3% /run
tmpfs                          tmpfs     498M     0  498M   0% /sys/fs/cgroup
/dev/mapper/datastore-database ext3      772M  828K  715M   1% /mnt/database

15、調整邏輯卷的大小

自行建立一個200MiB的邏輯卷 /dev/systemvg/vo,格式化爲ext3文件系統並掛載到 /vo 。然後將邏輯卷vo和其文件系統大小調整到 300 MiB。要確保文件系統中的內容保持完整。請注意:分區大小很少能夠完全符合要求的大小,所以大小在 270 MiB 和 330 MiB 之間都是可以接受的。

[root@server0 ~]# lvscan 
  ACTIVE            '/dev/systemvg/vo' [180.00 MiB] inherit
  ACTIVE            '/dev/datastore/database' [800.00 MiB] inherit
[root@server0 ~]# vgextend systemvg  /dev/vdb5
[root@server0 ~]# lvextend -L 300MiB /dev/systemvg/vo 
[root@server0 ~]# resize2fs /dev/systemvg/vo
[root@server0 ~]# lvscan 
  ACTIVE            '/dev/systemvg/vo' [300.00 MiB] inherit
  ACTIVE            '/dev/datastore/database' [800.00 MiB] inherit

16、添加一個swap分區

在您的系統中添加一個大小爲 512 MiB 的swap分區:
當您的系統啓動時,swap 分區應該可以自動掛載
不要移除或者修改其他已經存在於您的系統中的 swap 分區

[root@server0 ~]# vim /etc/fstab 
/dev/vdb7 swap swap defaults 0 0

[root@server0 ~]# swapon -a
[root@server0 ~]# swapon -s
Filename				Type		Size	Used	Priority
/dev/vdb7                              	partition	524284	0	-1

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章