一、Linux管理员 综合测试

目标:

根据本文提供的练习步骤完成所有练习案例。

方案:

开始练习之前,先依次重置虚拟机环境。

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

步骤:

实现此案例需要按照如下步骤进行。

步骤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管理员 综合测试的更多相关文章

  1. 推荐Linux管理员不可不知十大PHP安全要点 - SCutePHP

    PHP是使用最广泛的脚本编程语言之一.市场份额颇能说明其主导地位.PHP 7已推出,这个事实让这种编程语言对当前的开发人员来说更具吸引力.尽管出现了一些变化,但是许多开发人员对PHP的未来持怀疑态度. ...

  2. 管理员技术(二): 访问练习用虚拟机、 命令行基础技巧 、 挂载并访问光盘设备、ls列表及文档创建、复制删除移动

    一.访问练习用虚拟机 目标: 学会在教学环境中访问练习用虚拟机,主要完成以下事项: 1> 快速重置教学虚拟机环境       2> 通过“虚拟系统管理器”访问虚拟机       3> ...

  3. 管理员必备的Linux系统监控工具

    管理员必备的Linux系统监控工具 #1: top - 进程活动 top提供一个当前运行系统实时动态的视图, 也就是正在运行进程.在默认情况下,显示系统 中CPU使用率最高的任务,并每5秒钟刷新一次. ...

  4. 【转】管理员必备的Linux系统监控工具

    原文连接: 管理员必备的Linux系统监控工具 #1: top - 进程活动 top提供一个当前运行系统实时动态的视图,也就是正在运行进程.在默认情况下,显示系统中CPU使用率最高的任务,并每5秒钟刷 ...

  5. 工程师技术(六):Linux工程师 综合测试

    一.Linux工程师 综合测试 目标: 根据本文提供的练习步骤完成所有练习案例. 方案: 开始练习之前,先依次重置虚拟机环境. [root@room9pc13 ~]# rht-vmctl  reset ...

  6. Docker基础技术:Linux Namespace(下)

    在 Docker基础技术:Linux Namespace(上篇)中我们了解了,UTD.IPC.PID.Mount 四个namespace,我们模仿Docker做了一个相当相当山寨的镜像.在这一篇中,主 ...

  7. Docker 基础技术:Linux Namespace(下)

    导读 在Docker基础技术:Linux Namespace(上篇)中我们了解了,UTD.IPC.PID.Mount 四个namespace,我们模仿Docker做了一个相当相当山寨的镜像.在这一篇中 ...

  8. Docker 基础技术之 Linux cgroups 详解

    PS:欢迎大家关注我的公众号:aCloudDeveloper,专注技术分享,努力打造干货分享平台,二维码在文末可以扫,谢谢大家. 推荐大家到公众号阅读,那里阅读体验更好,也沉淀了很多篇干货. 前面两篇 ...

  9. C#以管理员权限运行源码,C#软件获取管理员权限,c#获取管理员权限

    C#以管理员权限运行源码,C#软件获取管理员权限,c#获取管理员权限 发布时间:2014-10-19 21:40内容来源:未知 点击: 次 windows 7和vista提高的系统的安全性,同时需要明 ...

随机推荐

  1. 【和孩子一起学编程】 python笔记--第三天

    第十章 游戏时间:Skier 首先安装pygame,直接在cmd命令控制框里键入pip install pygame就可以了 代码: import pygame, sys, random skier_ ...

  2. linux IPC socket(3)server简单写法

    写server的一些流程总结 一.向内核申请一个socket TCP形式 sock_fd = socket(AF_INET, SOCK_STREAM, ); UDP形式 sfd = socket(AF ...

  3. I2C用户态驱动设计

    一.用户态驱动模型 1.1 I2C通用驱动代码 i2c_dev_init: static int __init i2c_dev_init(void) { int res; printk(KERN_IN ...

  4. vue基础七

    事件处理器 1.监听事件 可以用 v-on 指令监听 DOM 事件来触发一些 JavaScript 代码. <div id="example-1"> <butto ...

  5. mysql学习-explain

    表头包含有: id---select_type---table---type---possible_keys---key---key_len---ref---rows---Extra id:selec ...

  6. AcWing 215. 破译密码 (莫比乌斯反演)打卡

    达达正在破解一段密码,他需要回答很多类似的问题: 对于给定的整数a,b和d,有多少正整数对x,y,满足x<=a,y<=b,并且gcd(x,y)=d. 作为达达的同学,达达希望得到你的帮助. ...

  7. PAT 1036 Boys vs Girls (25 分)

    1036 Boys vs Girls (25 分)   This time you are asked to tell the difference between the lowest grade ...

  8. 异步编程与scrapy

    https://python-parallel-programmning-cookbook.readthedocs.io/zh_CN/latest/chapter1/index.html https: ...

  9. ReentrantReadWriteLock的相关使用

    ReentrantLock具有完全互斥排他的效果,同一时间只有一个线程执行ReentrantLock.lock()方法后面的任务,这样虽然能够保证线程安全性,但是效率是比较低的 ReentrantRe ...

  10. 微信小程序app.json文件常用全局配置

    小程序根目录下的 app.json 文件用来对微信小程序进行全局配置,决定页面文件的路径.窗口表现.设置网络超时时间.设置多 tab 等. JOSN文件不允许注释,下面为了学习加上注释,粘贴需要的片段 ...