管理员技术(七): Linux管理员 综合测试
一、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管理员 综合测试的更多相关文章
- 推荐Linux管理员不可不知十大PHP安全要点 - SCutePHP
PHP是使用最广泛的脚本编程语言之一.市场份额颇能说明其主导地位.PHP 7已推出,这个事实让这种编程语言对当前的开发人员来说更具吸引力.尽管出现了一些变化,但是许多开发人员对PHP的未来持怀疑态度. ...
- 管理员技术(二): 访问练习用虚拟机、 命令行基础技巧 、 挂载并访问光盘设备、ls列表及文档创建、复制删除移动
一.访问练习用虚拟机 目标: 学会在教学环境中访问练习用虚拟机,主要完成以下事项: 1> 快速重置教学虚拟机环境 2> 通过“虚拟系统管理器”访问虚拟机 3> ...
- 管理员必备的Linux系统监控工具
管理员必备的Linux系统监控工具 #1: top - 进程活动 top提供一个当前运行系统实时动态的视图, 也就是正在运行进程.在默认情况下,显示系统 中CPU使用率最高的任务,并每5秒钟刷新一次. ...
- 【转】管理员必备的Linux系统监控工具
原文连接: 管理员必备的Linux系统监控工具 #1: top - 进程活动 top提供一个当前运行系统实时动态的视图,也就是正在运行进程.在默认情况下,显示系统中CPU使用率最高的任务,并每5秒钟刷 ...
- 工程师技术(六):Linux工程师 综合测试
一.Linux工程师 综合测试 目标: 根据本文提供的练习步骤完成所有练习案例. 方案: 开始练习之前,先依次重置虚拟机环境. [root@room9pc13 ~]# rht-vmctl reset ...
- Docker基础技术:Linux Namespace(下)
在 Docker基础技术:Linux Namespace(上篇)中我们了解了,UTD.IPC.PID.Mount 四个namespace,我们模仿Docker做了一个相当相当山寨的镜像.在这一篇中,主 ...
- Docker 基础技术:Linux Namespace(下)
导读 在Docker基础技术:Linux Namespace(上篇)中我们了解了,UTD.IPC.PID.Mount 四个namespace,我们模仿Docker做了一个相当相当山寨的镜像.在这一篇中 ...
- Docker 基础技术之 Linux cgroups 详解
PS:欢迎大家关注我的公众号:aCloudDeveloper,专注技术分享,努力打造干货分享平台,二维码在文末可以扫,谢谢大家. 推荐大家到公众号阅读,那里阅读体验更好,也沉淀了很多篇干货. 前面两篇 ...
- C#以管理员权限运行源码,C#软件获取管理员权限,c#获取管理员权限
C#以管理员权限运行源码,C#软件获取管理员权限,c#获取管理员权限 发布时间:2014-10-19 21:40内容来源:未知 点击: 次 windows 7和vista提高的系统的安全性,同时需要明 ...
随机推荐
- 【和孩子一起学编程】 python笔记--第三天
第十章 游戏时间:Skier 首先安装pygame,直接在cmd命令控制框里键入pip install pygame就可以了 代码: import pygame, sys, random skier_ ...
- linux IPC socket(3)server简单写法
写server的一些流程总结 一.向内核申请一个socket TCP形式 sock_fd = socket(AF_INET, SOCK_STREAM, ); UDP形式 sfd = socket(AF ...
- I2C用户态驱动设计
一.用户态驱动模型 1.1 I2C通用驱动代码 i2c_dev_init: static int __init i2c_dev_init(void) { int res; printk(KERN_IN ...
- vue基础七
事件处理器 1.监听事件 可以用 v-on 指令监听 DOM 事件来触发一些 JavaScript 代码. <div id="example-1"> <butto ...
- mysql学习-explain
表头包含有: id---select_type---table---type---possible_keys---key---key_len---ref---rows---Extra id:selec ...
- AcWing 215. 破译密码 (莫比乌斯反演)打卡
达达正在破解一段密码,他需要回答很多类似的问题: 对于给定的整数a,b和d,有多少正整数对x,y,满足x<=a,y<=b,并且gcd(x,y)=d. 作为达达的同学,达达希望得到你的帮助. ...
- PAT 1036 Boys vs Girls (25 分)
1036 Boys vs Girls (25 分) This time you are asked to tell the difference between the lowest grade ...
- 异步编程与scrapy
https://python-parallel-programmning-cookbook.readthedocs.io/zh_CN/latest/chapter1/index.html https: ...
- ReentrantReadWriteLock的相关使用
ReentrantLock具有完全互斥排他的效果,同一时间只有一个线程执行ReentrantLock.lock()方法后面的任务,这样虽然能够保证线程安全性,但是效率是比较低的 ReentrantRe ...
- 微信小程序app.json文件常用全局配置
小程序根目录下的 app.json 文件用来对微信小程序进行全局配置,决定页面文件的路径.窗口表现.设置网络超时时间.设置多 tab 等. JOSN文件不允许注释,下面为了学习加上注释,粘贴需要的片段 ...