zoukankan      html  css  js  c++  java
  • Linux管理员测试

    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                                 //查看交换分区启用情况
  • 相关阅读:
    【WPF】给下拉列表ComboBox绑定数据
    【C#】POST请求参数含中文,服务器解析得到乱码
    CentOS下搭建SVN服务器
    MySQL之ALTER
    深入PHP内核之ZVAL
    关于zend_parse_parameters函数
    PHP数组
    shell中比较字符串大小,>和<前需要加上进行转义,否则会输出到文件了
    awk编程基础
    【读书笔记】《Python_Cookbook3》第一章:数据结构和算法
  • 原文地址:https://www.cnblogs.com/xiaoren112/p/8267509.html
Copyright © 2011-2022 走看看