1. 程式人生 > >Linux管理員測試

Linux管理員測試

客戶 全部 ber zip bzip 賬號 art usr 新分區

Linux管理員 綜合測試

1.1 問題

根據本文提供的練習步驟完成所有練習案例。

1.2 方案

開始練習之前,先依次重置虛擬機環境。

  1. [root@room9pc13 ~]# rht-vmctl reset classroom
  2. [root@room9pc13 ~]# rht-vmctl reset server

1.3 步驟

實現此案例需要按照如下步驟進行。

步驟01:配置一個用戶

案例概述:

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

  1. [root@server0 ~]# useradd -u 3456 alex
  2. [root@server0 ~]# echo flectrag | passwd --stdin alex

步驟02:創建用戶賬號和組

案例概述:

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

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

步驟03:配置文件 /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進行讀操作
  1. [root@server0 ~]# cp /etc/fstab /var/tmp/fstab //復制文件
  2. [root@server0 ~]# setfacl -m u:natasha:rw /var/tmp/fstab //添加個別用戶權限
  3. [root@server0 ~]# setfacl -m u:harry:- /var/tmp/fstab

步驟04:配置一個 cron 任務

案例概述:

為用戶natasha配置一個定時任務,每天在本地時間14:23時執行以下命令:

/bin/echo hiya

解題參考:

  1. [root@server0 ~]# systemctl restart crond
  2. [root@server0 ~]# systemctl enable crond
  3. [root@server0 ~]# crontab -e -u natasha
  4. 23 14 * * * /bin/echo hiya

步驟05:創建一個共享目錄

案例概述:

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

  • /home/admins目錄的組所有權是adminuser
  • adminuser組的成員對目錄有讀寫和執行的權限。除此之外的其他所有用戶沒有任何權限(root 用戶能夠訪問系統中的所有文件和目錄)
  • 在/home/admins目錄中創建的文件,其組所有權會自動設置為屬於adminuser組
  • [註]此處所謂的共享目錄並不是指網絡共享,只是某個組成員共用

解題參考:

  1. [root@server0 ~]# mkdir /home/admins
  2. [root@server0 ~]# chown :adminuser /home/admins
  3. [root@server0 ~]# chmod ug+rwx,o-rwx /home/admins //調整權限
  4. [root@server0 ~]# chmod g+s /home/admins //設置Set UID權限

步驟06:安裝內核的升級

案例概述:

新版內核文件從以下地址獲取:

http://classroom.example.com/content/rhel7.0/x86_64/errata/Packages/

  • 升級你的系統的內核版本,同時要滿足下列要求:
  • 當系統重新啟動之後升級的內核要作為默認的內核
  • 原來的內核要被保留,並且仍然可以正常啟動

解題參考:

  1. [root@server0 ~]# firefox \
  2. http://classroom.example.com/content/rhel7.0/x86_64/errata/Packages/
  3. //根據所給地址找到內核文件,復制其下載地址
  4. [root@server0 ~]# wget \
  5. http://classroom.example.com/content/rhel7.0/x86_64/errata/Packages/kernel-3.10.0-123.1.2.el7.x86_64.rpm
  6. [root@server0 ~]# rpm -ivh kernel-3.10*.rpm //安裝新內核(耐心等...)
  7. [root@server0 ~]# reboot //重啟以使新內核生效
  8. [root@server0 ~]# uname -r
  9. 3.10.0-123.1.2.el7.x86_64 //確認新內核版本

步驟07:綁定到外部驗證服務

案例概述:

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

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

解題參考:

  1. [root@server0 ~]# yum -y install sssd
  2. [root@server0 ~]# authconfig-tui //使用簡易配置工具

根據提示完成用戶和認證方式設置 ——

User Information:[*] Use LDAP

Authentication Method:[*] Use LDAP Authentication

根據提示選中 [*] Use TLS,並設置下列參數 ——

Server:classroom.example.com

Base DN:dc=example,dc=com

提示下載證書到 /etc/openldap/cacerts 目錄時,另開一終端執行:

  1. [root@server0 ~]# cd /etc/openldap/cacerts/ //進入CA機構證書目錄
  2. [root@server0 ~]# wget http://classroom.example.com/pub/example-ca.crt

然後回到 authconfig-tui 工具確認,稍等片刻即可。

  1. [root@server0 ~]# systemctl restart sssd
  2. [root@server0 ~]# systemctl enable sssd
  3. [root@server0 ~]# id ldapuser0 //驗證LDAP用戶可用
  4. uid=1700(ldapuser0) gid=1700(ldapuser0) groups=1700(ldapuser0)

步驟08:家目錄漫遊

案例概述:

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

  • classroom.example.com(172.25.254.254)通過 NFS 輸出 /home/guests 目錄到您的系統,這個文件系統包含了用戶ldapuser0的主目錄,並且已經預先配置好了
  • ldapuser0用戶的主目錄是 classroom.example.com:/home/guests/ldapuser0
  • ldapuser0的主目錄應該掛載到本地的/home/guests/ldapuser0 目錄下
  • 用戶對其主目錄必須是可寫的
  • ldapuser0用戶的密碼是password

解題參考:

  1. [root@server0 ~]# mkdir /home/guest/ldapuser0
  2. [root@server0 ~]# mount classroom.example.com:/home/guests/ldapuser0 /home/guests/ldapuser0 //掛載LDAP家目錄
  3. [root@server0 ~]# su - ldapuser0 -c ‘pwd‘ //驗證結果
  4. /home/guests/ldapuser0

步驟09:配置NTP網絡時間客戶端

案例概述:

配置您的系統,讓其作為一個 classroom.example.com 的 NTP 客戶端

解題參考:

  1. [root@server0 ~]# yum -y install chrony
  2. [root@server0 ~]# vim /etc/chrony.conf
  3. #server 0.rhel.pool.ntp.org iburst //註釋掉不可用server配置,
  4. #server 1.rhel.pool.ntp.org iburst
  5. #server 2.rhel.pool.ntp.org iburst
  6. #server 3.rhel.pool.ntp.org iburst
  7. server classroom.example.com iburst //添加新的配置
  8. .. ..
  9. [root@server0 ~]# systemctl restart chronyd
  10. [root@server0 ~]# systemctl enable chronyd

步驟10:查找文件

案例概述:

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

解題參考:

  1. [root@server0 ~]# mkdir /root/findfiles
  2. [root@server0 ~]# find / -user student -type f -exec cp -p {} /root/findfiles/ \;

步驟11:查找一個字符串

案例概述:

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

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

解題參考:

  1. [root@server0 ~]# grep ‘seismic‘ /usr/share/dict/words > /root/wordlist

步驟12:創建一個歸檔

案例概述:

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

解題參考:

  1. [root@server0 ~]# tar -jcPf /root/backup.tar.bz2 /usr/local/

步驟13:分區及邏輯卷操作

案例概述:

在您的系統中有一個磁盤/dev/vdb,請為此磁盤規劃分區,完成下列任務:

  • 依次建立3個主分區,容量分別為 200MiB、2000MiB、1000MiB
  • 使用其中第1個主分區建立名為systemvg的卷組,並在此卷組中建立一個大小為196MiB的邏輯卷vo
  • 使用ext3文件系統對邏輯卷vo進行格式化

解題參考:

  1. [root@server0 ~]# fdisk /dev/vdb
  2. Command (m for help): n //新建
  3. Partition type:
  4. p primary (0 primary, 0 extended, 4 free)
  5. e extended
  6. Select (default p): p //主分區
  7. Partition number (1-4, default 1): 1 //分區編號1
  8. First sector (2048-20971519, default 2048): //起始位置默認
  9. Last sector, +sectors or +size{K,M,G} (2048-20971519, default 20971519): +200M //結束位置+200MiB
  10. Partition 1 of type Linux and of size 200 MiB is set
  11. Command (m for help): n //新建
  12. Select (default p): p //主分區
  13. Partition number (2-4, default 2): 2 //分區編號2
  14. First sector .. ..: //起始位置默認
  15. Last sector, .. ..: +2000M //結束位置+2000MiB
  16. Partition 2 of type Linux and of size 2 GiB is set
  17. Command (m for help): n //新建
  18. Select (default p): p //主分區
  19. Partition number (3,4, default 3): 3 //分區編號3
  20. First sector .. ..: //起始位置默認
  21. Last sector, .. ..: +1000M //結束位置+1000MiB
  22. Partition 3 of type Linux and of size 1000 MiB is set
  23. Command (m for help): w //保存分區結果
  24. [root@server0 ~]# partprobe /dev/vdb //刷新分區表
  25. [root@server0 ~]# vgcreate systemvg /dev/vdb1 //創建卷組
  26. Physical volume "/dev/vdb1" successfully created
  27. Volume group "systemvg" successfully created
  28. [root@server0 ~]# lvcreate -n vo -L 196M systemvg //創建邏輯卷
  29. [root@server0 ~]# lvscan //確認結果
  30. [root@server0 ~]# mkfs.ext3 /dev/systemvg/vo //格式化

步驟14:調整邏輯卷的大小

案例概述:

將邏輯卷vo和其文件系統大小調整到 300 MiB。要確保文件系統中的內容保持完整。請註意:分區大小很少能夠完全符合要求的大小,所以大小在 270 MiB 和 330 MiB 之間都是可以接受的。

解題參考:

[註:此題建議與第步驟15、16綜合考慮,提前確定需幾個分區、每個分區的大小]

  1. [root@server0 ~]# fdisk -l /dev/vdb | grep ‘label‘ //確認現分區表模式
  2. Disk label type: dos
  3. [root@server0 ~]# fdisk /dev/vdb
  4. Command (m for help): n //新建
  5. .. ..
  6. Select (default e): e //擴展分區
  7. Selected partition 4
  8. First sector (6555648-20971519, default 6555648): //起始位置默認
  9. Last sector, +sectors or +size{K,M,G} .. ..): //結束位置默認(全部可用空間)
  10. Command (m for help): n //新建
  11. First sector (6557696-20971519, default 6557696): //起始位置默認
  12. Last sector, +sectors or +size{K,M,G} .. ..): +500M //結束位置 +500MiB(卷擴容)
  13. Partition 5 of type Linux and of size 500 MiB is set
  14. Command (m for help): n //新建
  15. First sector (7583744-20971519, default 7583744): //起始位置默認
  16. Last sector, +sectors or +size{K,M,G} .. ..): +2000M //結束位置 +2000MiB(自定卷組)
  17. Partition 6 of type Linux and of size 2 GiB is set
  18. Command (m for help): n //新建
  19. First sector (11681792-20971519, default 11681792): //起始位置默認
  20. Last sector, +sectors or +size{K,M,G} .. ..): +512M //結束位置 +512MiB(交換分區)
  21. Partition 7 of type Linux and of size 512 MiB is set
  22. Command (m for help): p //確認分區結果無誤
  23. Device Boot Start End Blocks Id System
  24. /dev/vdb1 2048 411647 204800 83 Linux
  25. /dev/vdb2 411648 4507647 2048000 83 Linux
  26. /dev/vdb3 4507648 6555647 1024000 83 Linux
  27. /dev/vdb4 6555648 20971519 7207936 5 Extended
  28. /dev/vdb5 6557696 7581695 512000 83 Linux
  29. /dev/vdb6 7583744 11679743 2048000 83 Linux
  30. /dev/vdb7 11681792 12730367 524288 83 Linux
  31. Command (m for help): w //保存分區更改
  32. [root@server0 ~]# partprobe /dev/vdb //刷新分區表
  33. [root@server0 ~]# reboot //強烈建議重啟一次!!

擴展現有邏輯卷的容量大小:

  1. root@server0 ~]# lvscan
  2. ACTIVE ‘/dev/systemvg/vo‘ [196.00 MiB] inherit //檢查原有的邏輯卷
  3. [root@server0 ~]# vgextend systemvg /dev/vdb5 //擴展卷組
  4. [root@server0 ~]# lvextend -L 300MiB /dev/systemvg/vo //擴展邏輯卷
  5. [root@server0 ~]# resize2fs /dev/systemvg/vo //更新邏輯卷大小

步驟15:創建一個邏輯卷

案例概述:

根據下面的要求創建一個新的邏輯卷:

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

解題參考:

  1. [root@server0 ~]# vgcreate -s 16MiB datastore /dev/vdb6 //創建卷組
  2. [root@server0 ~]# lvcreate -l 50 -n database datastore //創建邏輯卷
  3. [root@server0 ~]# mkfs.ext3 /dev/datastore/database //格式化
  4. [root@server0 ~]# mkdir /mnt/database //創建掛載點
  5. [root@server0 ~]# vim /etc/fstab //配置開機掛載
  6. /dev/datastore/database /mnt/database ext3 defaults 0 0
  7. [root@server0 ~]# mount -a //檢查配置記錄並掛載

步驟16:添加一個 swap 分區

案例概述:

在您的系統中添加一個大小為 512 MiB 的swap分區:

  • 當您的系統啟動時,swap 分區應該可以自動掛載
  • 不要移除或者修改其他已經存在於您的系統中的 swap 分區

解題參考:

  1. [root@server0 ~]# mkswap /dev/vdb7 //格式化交換分區
  2. [root@server0 ~]# vim /etc/fstab //配置開機掛載
  3. /dev/vdb7 swap swap defaults 0 0
  4. [root@server0 ~]# swapon -a //檢查配置記錄並掛載
  5. [root@server0 ~]# swapon -s //查看交換分區啟用情況

Linux管理員測試