Linux管理員測試
Linux管理員 綜合測試
1.1 問題
根據本文提供的練習步驟完成所有練習案例。
1.2 方案
開始練習之前,先依次重置虛擬機環境。
- [root@room9pc13 ~]# rht-vmctl reset classroom
- [root@room9pc13 ~]# rht-vmctl reset server
1.3 步驟
實現此案例需要按照如下步驟進行。
步驟01:配置一個用戶
案例概述:
創建一個名為alex的用戶,用戶ID是 3456。密碼是flectrag
- [root@server0 ~]# useradd -u 3456 alex
- [root@server0 ~]# echo flectrag | passwd --stdin alex
步驟02:創建用戶賬號和組
案例概述:
創建下列用戶、組以及和組的成員關系:
- 一個名為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 natasha //設置密碼
- [root@server0 ~]# echo flectrag | passwd --stdin harry
- [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進行讀操作
- [root@server0 ~]# cp /etc/fstab /var/tmp/fstab //復制文件
- [root@server0 ~]# setfacl -m u:natasha:rw /var/tmp/fstab //添加個別用戶權限
- [root@server0 ~]# setfacl -m u:harry:- /var/tmp/fstab
步驟04:配置一個 cron 任務
案例概述:
為用戶natasha配置一個定時任務,每天在本地時間14:23時執行以下命令:
/bin/echo hiya
解題參考:
- [root@server0 ~]# systemctl restart crond
- [root@server0 ~]# systemctl enable crond
- [root@server0 ~]# crontab -e -u natasha
- 23 14 * * * /bin/echo hiya
步驟05:創建一個共享目錄
案例概述:
創建一個共享目錄/home/admins ,特性如下:
- /home/admins目錄的組所有權是adminuser
- adminuser組的成員對目錄有讀寫和執行的權限。除此之外的其他所有用戶沒有任何權限(root 用戶能夠訪問系統中的所有文件和目錄)
- 在/home/admins目錄中創建的文件,其組所有權會自動設置為屬於adminuser組
- [註]此處所謂的共享目錄並不是指網絡共享,只是某個組成員共用
解題參考:
- [root@server0 ~]# mkdir /home/admins
- [root@server0 ~]# chown :adminuser /home/admins
- [root@server0 ~]# chmod ug+rwx,o-rwx /home/admins //調整權限
- [root@server0 ~]# chmod g+s /home/admins //設置Set UID權限
步驟06:安裝內核的升級
案例概述:
新版內核文件從以下地址獲取:
http://classroom.example.com/content/rhel7.0/x86_64/errata/Packages/
- 升級你的系統的內核版本,同時要滿足下列要求:
- 當系統重新啟動之後升級的內核要作為默認的內核
- 原來的內核要被保留,並且仍然可以正常啟動
解題參考:
- [root@server0 ~]# firefox \
- http://classroom.example.com/content/rhel7.0/x86_64/errata/Packages/
- //根據所給地址找到內核文件,復制其下載地址
- [root@server0 ~]# wget \
- http://classroom.example.com/content/rhel7.0/x86_64/errata/Packages/kernel-3.10.0-123.1.2.el7.x86_64.rpm
- [root@server0 ~]# rpm -ivh kernel-3.10*.rpm //安裝新內核(耐心等...)
- [root@server0 ~]# reboot //重啟以使新內核生效
- [root@server0 ~]# uname -r
- 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
解題參考:
- [root@server0 ~]# yum -y install sssd
- [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 目錄時,另開一終端執行:
- [root@server0 ~]# cd /etc/openldap/cacerts/ //進入CA機構證書目錄
- [root@server0 ~]# wget http://classroom.example.com/pub/example-ca.crt
然後回到 authconfig-tui 工具確認,稍等片刻即可。
- [root@server0 ~]# systemctl restart sssd
- [root@server0 ~]# systemctl enable sssd
- [root@server0 ~]# id ldapuser0 //驗證LDAP用戶可用
- 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
解題參考:
- [root@server0 ~]# mkdir /home/guest/ldapuser0
- [root@server0 ~]# mount classroom.example.com:/home/guests/ldapuser0 /home/guests/ldapuser0 //掛載LDAP家目錄
- [root@server0 ~]# su - ldapuser0 -c ‘pwd‘ //驗證結果
- /home/guests/ldapuser0
步驟09:配置NTP網絡時間客戶端
案例概述:
配置您的系統,讓其作為一個 classroom.example.com 的 NTP 客戶端
解題參考:
- [root@server0 ~]# yum -y install chrony
- [root@server0 ~]# vim /etc/chrony.conf
- #server 0.rhel.pool.ntp.org iburst //註釋掉不可用server配置,
- #server 1.rhel.pool.ntp.org iburst
- #server 2.rhel.pool.ntp.org iburst
- #server 3.rhel.pool.ntp.org iburst
- server classroom.example.com iburst //添加新的配置
- .. ..
- [root@server0 ~]# systemctl restart chronyd
- [root@server0 ~]# systemctl enable chronyd
步驟10:查找文件
案例概述:
找出所有用戶student擁有的文件,並且把它們拷貝到/root/findfiles 目錄中
解題參考:
- [root@server0 ~]# mkdir /root/findfiles
- [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文件中原始行的準確副本
解題參考:
- [root@server0 ~]# grep ‘seismic‘ /usr/share/dict/words > /root/wordlist
步驟12:創建一個歸檔
案例概述:
創建一個名為 /root/backup.tar.bz2 的歸檔文件,其中包含 /usr/local 目錄中的內容,tar 歸檔必須使用 bzip2 進行壓縮
解題參考:
- [root@server0 ~]# tar -jcPf /root/backup.tar.bz2 /usr/local/
步驟13:分區及邏輯卷操作
案例概述:
在您的系統中有一個磁盤/dev/vdb,請為此磁盤規劃分區,完成下列任務:
- 依次建立3個主分區,容量分別為 200MiB、2000MiB、1000MiB
- 使用其中第1個主分區建立名為systemvg的卷組,並在此卷組中建立一個大小為196MiB的邏輯卷vo
- 使用ext3文件系統對邏輯卷vo進行格式化
解題參考:
- [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 //分區編號1
- First sector (2048-20971519, default 2048): //起始位置默認
- Last sector, +sectors or +size{K,M,G} (2048-20971519, default 20971519): +200M //結束位置+200MiB
- Partition 1 of type Linux and of size 200 MiB is set
- Command (m for help): n //新建
- Select (default p): p //主分區
- Partition number (2-4, default 2): 2 //分區編號2
- First sector .. ..: //起始位置默認
- Last sector, .. ..: +2000M //結束位置+2000MiB
- Partition 2 of type Linux and of size 2 GiB is set
- Command (m for help): n //新建
- Select (default p): p //主分區
- Partition number (3,4, default 3): 3 //分區編號3
- First sector .. ..: //起始位置默認
- Last sector, .. ..: +1000M //結束位置+1000MiB
- Partition 3 of type Linux and of size 1000 MiB is set
- Command (m for help): w //保存分區結果
- [root@server0 ~]# partprobe /dev/vdb //刷新分區表
- [root@server0 ~]# vgcreate systemvg /dev/vdb1 //創建卷組
- Physical volume "/dev/vdb1" successfully created
- Volume group "systemvg" successfully created
- [root@server0 ~]# lvcreate -n vo -L 196M systemvg //創建邏輯卷
- [root@server0 ~]# lvscan //確認結果
- [root@server0 ~]# mkfs.ext3 /dev/systemvg/vo //格式化
步驟14:調整邏輯卷的大小
案例概述:
將邏輯卷vo和其文件系統大小調整到 300 MiB。要確保文件系統中的內容保持完整。請註意:分區大小很少能夠完全符合要求的大小,所以大小在 270 MiB 和 330 MiB 之間都是可以接受的。
解題參考:
[註:此題建議與第步驟15、16綜合考慮,提前確定需幾個分區、每個分區的大小]
- [root@server0 ~]# fdisk -l /dev/vdb | grep ‘label‘ //確認現分區表模式
- Disk label type: dos
- [root@server0 ~]# fdisk /dev/vdb
- Command (m for help): n //新建
- .. ..
- Select (default e): e //擴展分區
- Selected partition 4
- First sector (6555648-20971519, default 6555648): //起始位置默認
- Last sector, +sectors or +size{K,M,G} .. ..): //結束位置默認(全部可用空間)
- Command (m for help): n //新建
- First sector (6557696-20971519, default 6557696): //起始位置默認
- Last sector, +sectors or +size{K,M,G} .. ..): +500M //結束位置 +500MiB(卷擴容)
- Partition 5 of type Linux and of size 500 MiB is set
- Command (m for help): n //新建
- First sector (7583744-20971519, default 7583744): //起始位置默認
- Last sector, +sectors or +size{K,M,G} .. ..): +2000M //結束位置 +2000MiB(自定卷組)
- Partition 6 of type Linux and of size 2 GiB is set
- Command (m for help): n //新建
- First sector (11681792-20971519, default 11681792): //起始位置默認
- Last sector, +sectors or +size{K,M,G} .. ..): +512M //結束位置 +512MiB(交換分區)
- Partition 7 of type Linux and of size 512 MiB is set
- Command (m for help): p //確認分區結果無誤
- 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 ~]# lvscan
- ACTIVE ‘/dev/systemvg/vo‘ [196.00 MiB] inherit //檢查原有的邏輯卷
- [root@server0 ~]# vgextend systemvg /dev/vdb5 //擴展卷組
- [root@server0 ~]# lvextend -L 300MiB /dev/systemvg/vo //擴展邏輯卷
- [root@server0 ~]# resize2fs /dev/systemvg/vo //更新邏輯卷大小
步驟15:創建一個邏輯卷
案例概述:
根據下面的要求創建一個新的邏輯卷:
- 邏輯卷命名為database,屬於datastore卷組,並且邏輯卷的大小為50個物理擴展單元 (physical extent)
- 在datastore卷組中的邏輯卷,物理擴展單元 (physical extent) 大小應為 16 MiB
- 使用ext3文件系統對新的邏輯卷進行格式化,此邏輯卷應該在系統啟動的時候自動掛載在 /mnt/database 目錄下
解題參考:
- [root@server0 ~]# vgcreate -s 16MiB datastore /dev/vdb6 //創建卷組
- [root@server0 ~]# lvcreate -l 50 -n database datastore //創建邏輯卷
- [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 //檢查配置記錄並掛載
步驟16:添加一個 swap 分區
案例概述:
在您的系統中添加一個大小為 512 MiB 的swap分區:
- 當您的系統啟動時,swap 分區應該可以自動掛載
- 不要移除或者修改其他已經存在於您的系統中的 swap 分區
解題參考:
- [root@server0 ~]# mkswap /dev/vdb7 //格式化交換分區
- [root@server0 ~]# vim /etc/fstab //配置開機掛載
- /dev/vdb7 swap swap defaults 0 0
- [root@server0 ~]# swapon -a //檢查配置記錄並掛載
- [root@server0 ~]# swapon -s //查看交換分區啟用情況
Linux管理員測試