一、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--面向对象的程序设计之继承与派生

    继承与派生 什么是继承 继承是一种创建新类的方式,在python中,新建的类可以继承一个或多个父类,父类又可称为基类或超类,新建的类称为派生类或子类 python中类的继承分为:单继承和多继承 cla ...

  2. jquery实现简单的搜索功能

    管理系统中需要实现导航列表的搜索功能,写了一个简单的小栗子: <!DOCTYPE html> <html lang="en"> <head> & ...

  3. [CSP-S模拟测试58]题解

    以后题解还是单独放吧. A.Divisors 根号筛求所有数的因子,扫一遍去重统计即可. #include<cstdio> #include<iostream> #includ ...

  4. Ubuntu安装可视化电脑配置视图工具neofetch

    安装步骤: sudo apt-get install software-properties-common python-software-propertiessudo add-apt-reposit ...

  5. Backdoor CTF 2013 :电子取证250

    0x00题目 h4x0r厌烦了你对他的城堡的所有攻击,所以他决定报复攻击你,他给你发来一封带有图片的邮件作为警告,希望你能找出他的警告消息:-) 消息的MD5值就是flag. 图片如下: 0x01解题 ...

  6. python正常时间和unix时间戳相互转换的方法

    python正常时间和unix时间戳相互转换的方法 本文实例讲述了python正常时间和unix时间戳相互转换的方法.分享给大家供大家参考.具体分析如下: 这段代码可以用来转换常规时间格式为unix时 ...

  7. EmWin 如何显示汉字 不用在文件中使用编码

    1. Font Converter for emWin 生成C文件字库 1.1 新建文件 1.2 选择字体 1.3 为了减小C文件体积,这里只加入自己需要的汉字,先把所有字体取消选择. 1.4 新建一 ...

  8. Django框架(十七)—— 中间件、CSRF跨站请求伪造

    目录 中间件 一.什么是中间件 二.中间件的作用 三.中间件执行顺序 四.自定义中间件 1.导包 2.定义类,继承MiddlewareMixin 3.在视图函数中定义一个函数 4.在settings的 ...

  9. hql例子

    /** * 根据搜索条件查询商品(带缓存) */ public List<ResultInfo> getSearchGoodsList(GoodsTypeCondtionBizBean c ...

  10. JS轻松实现单击文本框弹出选择日期

    我的开发工具是vs2005,你们可选择自己合适的开发工具 首先创建个文本框<input id="txFDate" name="txFDate" type= ...