RHCSA试题+答案
把root密码设置为要求的:
grub启动菜单选e编辑,找见默认kernel(linux16,在行末添加rd.break,b引导。(虚拟机需要删到ro,ro保留。 虚拟机中小键盘不能用的可能性比较大,特别是用passwd指定root密码的时候不易察觉,易导致root破解失败,所以虚拟机下不用小键盘。)
mount -o rw,remount /sysroot
chroot /sysroot
passwd root (或者 echo 123456 |passwd --stdin root)
touch /.autorelabel (注意/之后. 最后是bel)
reboot
重启之后虚拟机可能默认命令行界面,如果需要切换到图形界面,root登录,执行以下命令:
[root@server ~]# systemctl isolate graphical.target (暂时图形化界面,重启之后还是命令行)
(不建议*)如果嫌每次重启切换麻烦,可以改变默认界面,执行以下命令:
[root@server ~]# systemctl get-default
multi-user.target
[root@server ~]# systemctl set-default graphical.target
但是切记*最后要改回命令行界面,即:
[root@server ~]# systemctl set-default multi-user.target
按要求配置虚拟机:(注意在虚拟机中配置)
Hostname: serverX.example.com
IP address: 172.25.X.11 (static)
Netmask: 255.255.255.0
Gateway: 172.25.X.254
Name server: 172.25.X.254
命令:
配置主机名:
[root@server ~]# hostnamectl set-hostname serverX.example.com
或者
[root@server ~]# vim /etc/hostname (默认没有此文件,手动编写)
配置网络:
[root@server ~]# nmcli con show --active
[root@server ~]# nmcli con mod "System eth0" ipv4.method manual ipv4.addresses "172.25.X.11/24 172.25.X.254" ipv4.dns 172.25.X.254
检验
[root@server ~]# cat /etc/hostname
[root@server ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
重启服务,重启虚拟机检验
[root@server ~]# systemctl restart NetworkManager
[root@server ~]# reboot
检验网络没问题之后开始正式答题,推荐从实机ssh -X到server虚拟机,方便复制粘贴
正式答题
1.selinux开启为enforcing
[root@server16 ~]# setenforce 1
[root@server16 ~]# vim /etc/selinux/config
SELINUX=enforcing
- YUM 的软件库源为 http://172.25.254.254/content/rhel7.0/x86_64/dvd. 将此配置为您的系统的默认软件仓库。
[root@server16 ~]# cd /etc/yum.repos.d/
[root@server16 yum.repos.d]# vim server.repo
[base]
name=server
baseurl=http://172.25.254.254/content/rhel7.0/x86_64/dvd
enabled=1
gpgcheck=0
[root@server16 ~]# yum clean all
[root@server16 yum.repos.d]# yum makecache
或者 [root@server16 yum.repos.d]# yum repolist
3. 将逻辑卷vol和其文件系统大小调整到 380 MiB。要确保文件系统中的内容保持完整。请注意:分区大小很少能够完全符合要求的大小,所以大小在 350 MiB 和 410 MiB 之间都是可以接受的。
准备分区:(顺便准备14,18题所需分区)
[root@server16 ~]# fdisk /dev/vdb
Device Boot Start End Blocks Id System
/dev/vdb1 2048 20971519 10484736 5 Extended
/dev/vdb5 4096 1028095 512000 83 Linux
/dev/vdb6 1030144 2578431 774144 83 Linux
/dev/vdb7 2580480 3645439 532480 83 Linux
三个逻辑分区大小分别为500M,765M,520M,fdisk完成之后记得w保存退出。
[root@server16 ~]# partprobe /dev/vdb
[root@server16 ~]# pvcreate /dev/vdb5
Physical volume "/dev/vdb5" successfully created
[root@server16 ~]# vgcreate vg0 /dev/vdb5
Volume group "vg0" successfully created
[root@server16 ~]# lvcreate -L 200M -n vol vg0
Logical volume "vol" created
[root@server ~]# lvdisplay (查看vol路径path)
[root@server ~]# lvresize -r -L 380M /dev/vg0/vol (切记-r,文件系统)
逻辑卷ext4在线放大,离线缩小,xfs只能放大,不能缩小。
4. 按照以下要求创建用户,组,及用户与组的关系
新建一个名为sharegrp的组
新建一个名为natasha的用户,并将sharegrp作为其附属组
新建一个名为harry的用户,也将sharegrp作为其附属组
新建一个名为sarah的用户,其不属于sharegrp组,并将其shell设置为不可登录shell
natasha、harry、sarah用户的密码均设置为emesgravy
[root@server16 ~]# groupadd sharegrp
[root@server16 ~]# useradd -G sharegrp natasha
[root@server16 ~]# useradd -G sharegrp harry
[root@server16 ~]# useradd -s /sbin/nologin sarah
[root@server16 ~]# echo emesgravy |passwd --stdin sarah
[root@server16 ~]# echo emesgravy |passwd --stdin harry
[root@server16 ~]# echo emesgravy |passwd --stdin natasha
测试:
[root@server16 ~]# id natasha
[root@server16 ~]# id harry
[root@server16 ~]# id sarah
[root@server16 ~]# grep sarah /etc/passwd
5.复制文件/etc/fstab 到 /var/tmp目录中,并按以下要求配置/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@server16 ~]# cd /var/tmp/
[root@server16 tmp]# cp /etc/fstab .
[root@server16 tmp]# ll fstab
[root@server16 tmp]# setfacl -m u:natasha:rw fstab
[root@server16 tmp]# setfacl -m u:harry:- fstab
检查:
[root@server16 tmp]# ll fstab
[root@server16 tmp]# getfacl fstab
PS: ① acl权限(rwx)给错怎么办?再次setfacl -m 覆盖即可。例如:
[root@server16 tmp]# setfacl -m u:natasha:rwx fstab
[root@server16 tmp]# setfacl -m u:natasha:rw fstab
②acl权限用户指定错误怎么办?先删除,再添加。例如:
[root@server16 tmp]# setfacl -m u:sarah:rw fstab
[root@server16 tmp]# setfacl -x u:sarah fstab
[root@server tmp]# setfacl -m u:natasha:rw fstab
记不得-x怎么办?:) 删掉fstab文件再来一次,简单粗暴。
6.对natasha用户配置计划任务,要求在本地时间的每天14:23分执行以下命令:/bin/echo hiya
[root@server ~]# crontab -e -u natasha
23 14 * * * /bin/echo hiya
(分 时 日 月 星期) 星期日 = 0 or 7
检查:
[root@server ~]# crontab -l -u natasha
PS:由于bug,编辑保存退出时有可能自动复制出好多23 14 * * * /bin/echo hiya,所以一定要-l确保没问题。
7.创建一个目录/nfsshare:
- 其拥有者root,拥有组为sharegrp,组拥有所有权限,其他人无任何权限。
- 用户sarah对其拥有所有权限。
- 用户在该目录下创建的新文件的拥有组为sharegrp。
[root@server16 ~]# mkdir /nfsshare
[root@server16 ~]# chgrp sharegrp /nfsshare
[root@server16 ~]# chmod g=rwx,o=- /nfsshare/ (*)
[root@server16 ~]# chmod g+s /nfsshare/ (*)
[root@server16 ~]# setfacl -m u:sarah:rwx /nfsshare
检查:
[root@server16 ~]# ll -d /nfsshare
[root@server16 ~]# getfacl /nfsshare
PS:()标注的两条不能用原答案上给的chmod g=rws,o=- /nfsshare 一条代替,因为ll可以发现这样做组权限为rwS,即并没有x执行权限,而用上面()标注的两句执行完ll组权限必然是rws,即有x执行权限,符合题意要求。
8.按以下要求更新系统的内核,新内核的RPM包位于http://classroom.example.com/rhel7.0/x86_64/errata/Packages/kernel-3.10.0-123.1.2.el7.x86_64.rpm.
重新重启时,会默认以新内核启动系统。原始的内核将继续可用。
[root@server16 ~]# wget http://172.25.254.254/content/rhel7.0/x86_64/errata/Packages/kernel-3.10.0-123.1.2.el7.x86_64.rpm
[root@server16 ~]# ls
[root@server16 ~]# rpm -ivh kernel-3.10.0-123.1.2.el7.x86_64.rpm
[root@server16 ~]# reboot
[root@server16 ~]# uname -r
3.10.0-123.1.2.el7.x86_64
9.在classroom.example.com 上已部署了一台LDAP认证服务器,按以下要求配置你的系统以加入到该LDAP服务中:
该认证服务的Base DN为: dc=example,dc=com
该LDAP 服务既提供的帐户信息也同时提供认证信息
认证的会话连接需要被加密,证书的下载地址为http://classroom.example.com/pub/EXAMPLE-CA-CERT.
当配置完成后,你可以使用ldapuserX登录,但在你完成autofs配置之前,是无法获取到家目录的。
ldapuserX 的密码为password
[root@server16 ~]# yum -y install authconfig-gtk sssd krb5-workstation
[root@server16 ~]# authconfig-gtk
[root@server16 ~]# su - ldapuser16
su: warning: cannot change directory to /home/guests/ldapuser16: No such file or directory
mkdir: cannot create directory '/home/guests': Permission denied
10.配置你的系统以使其时间与服务器classroom.example.com 同步.
[root@server16 ~]# vim /etc/chrony.conf
server classroom.example.com iburst
[root@server16 ~]# systemctl restart chronyd.service
[root@server16 ~]# timedatectl
Local time: Sat 2017-10-28 10:27:35 CST
Universal time: Sat 2017-10-28 02:27:35 UTC
RTC time: Sat 2017-10-28 02:27:34
Timezone: Asia/Shanghai (CST, +0800)
NTP enabled: yes
NTP synchronized: no
RTC in local TZ: no
DST active: n/a
[root@server16 ~]# timedatectl set-ntp true
[root@server16 ~]# systemctl restart chronyd.service
[root@server16 ~]# timedatectl
Local time: Sat 2017-10-28 10:30:18 CST
Universal time: Sat 2017-10-28 02:30:18 UTC
RTC time: Sat 2017-10-28 02:30:17
Timezone: Asia/Shanghai (CST, +0800)
NTP enabled: yes
NTP synchronized: yes
RTC in local TZ: no
DST active: n/a
[root@server16 ~]# chronyc sources -v
11.配置autofs以当你使用ldapuserX登录时自动挂载家目录: /home/guests/ldapuserX(X为你的座位号)
classroom.example.com (172.25.254.254) 已使用NFS-exports共享了/home/guests目录。该共享目录里包括ldapuserX的家目录。
ldapuserX的家目录在classroom.example.com:/home/guests/ldapuserX
ldapuserX的家目录将会在你访问/home/guests/ldapuserX时被自动挂载本地的/home/guests/ldapuserX
ldapuserX要对其家目录有完整权限。
ldapuserX 的密码为password
[root@server16 ~]# showmount -e classroom.example.com
Export list for classroom.example.com:
/home/guests 172.25.0.0/255.255.0.0
[root@server16 ~]# yum -y install autofs
[root@server16 ~]# vim /etc/auto.master
/home/guests /etc/auto.ldap
[root@server16 ~]# vim /etc/auto.ldap
* -intr,soft,rw,v3 172.25.254.254:/home/guests/&
[root@server16 ~]# systemctl restart autofs
[root@server16 ~]# systemctl enable autofs
[root@server16 ~]# su - ldapuser16
Last login: Sat Oct 28 10:38:45 CST 2017 on pts/0
[ldapuser16@server16 ~]
12.搭建一个Web Server,站点为http://serverX.example.com , 然后按以下步骤配置:
下载http://172.25.254.254/content/rhce/web/station.html 到你的web server的DocumentRoot 重命名为index.html
不要修改index.html文件的内容
[root@server16 ~]# yum -y install httpd
[root@server16 ~]# cd /var/www/html/
[root@server16 html]# wget -O index.html http://172.25.254.254/content/rhce/web/station.html
[root@server16 html]# systemctl start httpd
[root@server16 html]# systemctl enable httpd.service
检查:
[root@server16 html]# firefox http://server16.example.com
13.创建一个名为alex的用户,设置其用户ID为3456,密码为glegunge
[root@server16 ~]# useradd -u 3456 alex
[root@server16 ~]# echo glengunge |passwd --stdin alex
Changing password for user alex.
passwd: all authentication tokens updated successfully.
[root@server16 ~]# id alex
uid=3456(alex) gid=3456(alex) groups=3456(alex)
14.为你的系统增加一个756MiB的SWAP分区,新的SWAP分区将会在重新启动系统后自动被激活。不要删除或修改已存在的SWAP分区。
[root@server16 ~]# mkswap /dev/vdb6
Setting up swapspace version 1, size = 774140 KiB
no label, UUID=975a0fa9-2147-48e4-bc9b-1dfd0a7833e8
[root@server16 ~]# blkid /dev/vdb6
/dev/vdb6: UUID="975a0fa9-2147-48e4-bc9b-1dfd0a7833e8" TYPE="swap"
[root@server16 ~]# blkid /dev/vdb6 >> /etc/fstab
[root@server16 ~]# vim /etc/fstab
UUID="975a0fa9-2147-48e4-bc9b-1dfd0a7833e8" swap swap defaults 0 0
[root@server16 ~]# swapon -a
[root@server16 ~]# swapon -s
Filename Type Size Used Priority
/dev/vdb6 partition 774140 0 -1
[root@server16 ~]# free -m
total used free shared buffers cached
Mem: 1841 1574 266 16 4 1044
-/+ buffers/cache: 525 1315
Swap: 755 0 755
15.找出用户natasha拥有的所有的文件,并把它们复制到/root/findfiles/目录中。
[root@server16 ~]# mkdir findfiles 1.
[root@server16 ~]# find / -user natasha -exec cp -rp {} findfiles/ \;
find: ‘/proc/32344/task/32344/fd/6’: No such file or directory
find: ‘/proc/32344/task/32344/fdinfo/6’: No such file or directory
find: ‘/proc/32344/fd/6’: No such file or directory
find: ‘/proc/32344/fdinfo/6’: No such file or directory
cp: cannot overwrite non-directory ‘findfiles/natasha’ with directory ‘/home/natasha’
[root@server16 ~]# cd findfiles/
[root@server16 findfiles]# ll
total 8
drwxr-xr-x. 2 natasha natasha 6 Jan 27 2014 extensions
-rw-r--r--. 1 natasha natasha 4 Jul 11 2014 gnome-initial-setup-done
-rw-r--r--. 1 natasha natasha 1443 Jul 11 2014 monitors.xml
-rw-rw----. 1 natasha mail 0 Oct 28 11:20 natasha
drwxr-xr-x. 2 natasha natasha 6 Jan 27 2014 plugins
16.查找出/usr/share/dict/words文件当中所有包含seismic字符串的行,并将这些行仍然按照原始文件中的顺序.
存放入/root/wordlist中,/root/wordlist文件不能包含空行。
[root@server16 ~]# grep seismic /usr/share/dict/words > wordlist
检查:
[root@server16 ~]# less wordlist
17.创建/root/backup.tar.bz2的归档文件,其中包括/usr/local的内容,必须使用bzip的压缩。
[root@server16 ~]# tar -cjvf backup.tar.bz2 /usr/local/*
检查:
[root@server16 ~]# tar -tjvf backup.tar.bz2
PS: man tar
-c, –create
-v, –verbose
-f, –file ( 选项最后一个)
-j, –bzip2
-J, –xz
-z, –gzip
18.按照以下要求创建一个新的逻辑卷:
逻辑卷的名字为database,其属于datastore卷组,该逻辑卷由30个PE组成。
卷组datastore的单个PE大小为16MiB。
将新创建的逻辑卷格式化为xfs文件系统,在系统启动逻辑卷会被自动挂载到/mnt/database目录下。
[root@server16 ~]# pvcreate /dev/vdb7 1.
Physical volume "/dev/vdb7" successfully created
[root@server16 ~]# vgcreate -s 16M datastore /dev/vdb7 2.
Volume group "datastore" successfully created
[root@server16 ~]# lvcreate -l 30 -n database datastore 3.
Logical volume "database" created
[root@server16 ~]# mkfs.xfs /dev/datastore/database 4.
[root@server16 ~]# blkid /dev/datastore/database 5.
/dev/datastore/database: UUID="5e3db0a4-f9cc-4976-a8f8-26fd091bc811" TYPE="xfs"
[root@server16 ~]# blkid /dev/datastore/database >> /etc/fstab 6.
[root@server16 ~]# vim /etc/fstab 7.
UUID="5e3db0a4-f9cc-4976-a8f8-26fd091bc811" /mnt/database xfs defaults 0 0
[root@server16 ~]# mkdir /mnt/database 8.
[root@server16 ~]# mount –a 9.
[root@server16 ~]# df –h 10.
/dev/mapper/datastore-database 477M 25M 453M 6% /mnt/database
RHCSA
1、创建一个 512M 的分区,格式化为 xfs,挂载至/data,要求每次开机均生效。在 480-510M之间是允许的
2、创建由 50 个 PE 组成的 LV,PE 大小为 8MB,格式化为 ext4,挂载至/mnt/data 目录,要求每次开机均生效
3、将上述的文件系统拉伸至 800M,不要影响其中的数据
4、扩展 SWAP,增加 256MB,要求每次开机均生效
5、创建一个计划任务,要求在每月 10-15 号每天 9:00-17:00 每隔 10 分钟,执行/bin/echo hello,仅允许 root 和 student 用户能创建计划任务。
6、配置 SELinux,确保 SELinux 处于 Enforcing 模式,并每次开机均生效
7、将/etc/目录打包并压缩至/data/etc.tar.gz (/data/etc.tgz)
8、将本机时间使用 NTP,NTP Server: classroom.example.com
9、配置 yum 仓库,安装源 http://content.example.com/rhel7.0/x86_64/dvd
10、创建 it 组,指定 gid=1200
11、创建用户 user1,user2,user3,密码均为 redhat,将以上三个用户均加入 it 组中,指定user1 用户的 UID=1200,user2 用户不允许交互式登录,user3 用户的密码在 30 天后过期。
12、设置/data 目录的拥有组为 it,要求任何人在该目录中创建的文件拥有组自动属于 it
13、不要改变/mnt/data 目录的拥有人和拥有组,要求 user1 对该目录有完整的控制权限,user3 对该目录无任何权限。
14、破解 root 密码,修改为 redhat2015
15、升级内核至3.10.0-123.1.2.el7.x86_64, 新内核在http://content.example.com/rhel7.0/x86_64/errata,确保新内核作为默认启动项
16、下载 http://classroom.example.com/pub/vsftpd.conf 至/root 目录,过滤出该文件中所有非注释行和非空行,并且以 YES 结尾的内容,导出至/root/vsftpd.bak 中,不要改变文件的顺序.
17、查找/home 目录下拥有人和拥有组均为 user1 的文件备份至/root/backups 目录下,并保留权限.
18、设置本机使用外部的认证,要求如下
(1)将本机加入到 LDAP 认证中,并使用 TLS 加密,LDAP 信息如下:LDAP SERVER: classroom.example.com BASE DN: dc=example,dc=comTLS 密钥可以从 http://classroom.example.com/pub/EXAMPLE-CA-CERT 下载
(2)当使用 LDAP 认证成功后,将可以使用 ldapuserX 登录,X 表示你的 desktop number,当使用该用户登录时没有该用户的宿主目录,除非配置后续的 autofs 19. 配置 autofs,当用户登录时自动挂载宿主目录,目录已经在 classroom.example.com上通过 NFS 共享。
RHCE
1、配置你的静态网络,要求如下:
server
IP address: 172.25.X.11
netmask: 255.255.255.0
gateway: 172.25.X.254
DNS: 172.25.254.254
desktop:
IP address: 172.25.X.10
netmask: 255.255.255.0
gateway: 172.25.X.254
DNS: 172.25.254.254
- 配置 IPV6 地址,要求如下:
(1) server 上的地址应该是 2003:ac18::X5/64
(2) desktop 上的地址应该是 2003:ac18::Xa/64
(3) 两个系统必须能与网络 2003:ac18/64 内的系统通信
(4)地址必须在重启后依旧生效
(5)两个系统必须保持当前的 IPV4 地址并能保持通信
- 在 server 上按以下要求配置一个链接、在 server 上运行 lab teambridge setup
(1)此链接使用接口 eno1 和 eno2
(2)此链路在一个接口失效时仍然能工作
(3)此链路在 server 上使用下面的地址 172.16.X.20/24
(4) 此链路在系统重启之后依然保持正常状态
- 配置防火墙,要求如下:
在系统 server 上配置端口转发,要求在 172.25.X.0/24 的网络系统中,访问本地端口 5423将转发到 80 端口,此配置要求永久有效。
5.在 server 上配置 ISCSI 服务,磁盘名为 iqn.2015-01.com.example.serverX,并符合以下要求
(1)服务端口为 3260
(2)使用 iscsi_store 作为后端卷,大小为 3G
(3)此服务只能被 desktopX.example.com 访问
- 在 desktop 上配置使其能连接到 server 上提供的 iqn.2015-01.com.example.serverX,并符合以下要求
(1)ISCSI 设备在系统启动期间自动加载
(2)在发现的 ISCSI 设备上创建一个 2400M 的分区,格式化为 ext4,挂载至/mnt/storage上要求每次开机均生效
- 在 server 上配置 NFS,要求如下:
(1)以只读方式共享目录/public,同时只能被 example.com 域中的用户访问
(2)以读写的方式共享/protected,能被 example.com 域中的用户访问
(3)访问 /protected 需要通过 kerberos 安全加密,密钥可以通过以下URL 下载http://classroom.example.com/pub/keytabs/serverX.keytab
(4)目录/protected 应该包含名为 project,拥有人为 ldapuserX 的子目录
(5)用户 ldapuserX 能以读写方式访问/protected/project
- 在 desktop 上挂载一个来自 server 上的 NFS 共享,并符合以下要求
(1)/public 挂载/mnt/nfsmount
(2)/protected 挂载在/mnt/nfssecure 并使用安全方式,密钥可以通过以下 URL 下载 http://classroom.example.com/pub/keytabs/desktopX.keytab
(3)用户 ldapuserX 能够在/mnt/nfssecure/project 上创建文件(4)这些文件系统在系统启动时自动挂载
9.创建脚本,要求如下:
(1)在 server 上创建脚本/root/myscripts.sh
(2)当用户执行/root/myscripts.sh redhat,则显示“Fedora”
(3)当用户执行/root/myscripts.sh Fedora,则显示“redhat”
(4)否则显示错误的结果“Error: Please input redhat|Fedora”
- 在 server 上创建脚本,名为/root/batchusers.sh,此脚本能实现为系统 server 创建本地用户,并且这些用户的用户名来自于一个包含用户列表的文件,同时满足以下要求:
(1)此脚本要求提供一个参数,此参数就是包含用户列表的文件
(2)如果没有提供参数,此脚本应该给出下面的提示信息:Usage: /root/batchusers.sh,然后退出并返回相应的值
(3)如果提供了一个不存在的文件名,此脚本应该给出下面的提示信息 Input file not found,然后返回相应的值
(4)创建的用户登录 shell 为/bin/false
(5)此脚本不需要为用户设置密码
(6)你可以通过下面的URL获取用户名列表作为测试用 http://classroom.example.com/pub/userlist.txt
- 配置多用户 samba 挂载,在 server 上共享 SMB 目录/common,要求如下:
(1)共享名为 rhce
(2)共享目录只能被 example.com 域中计算机访问
(3)该共享目录必须能被浏览
(4)用户 user1 必须能以只读的方式访问该共享,密码为 redhat
(5)用户 user3 必须能以读写的方式访问该共享,密码为 redhat
(6)此共享必须永久方式挂载在 desktop 系统的/mnt/dev 目录,将使用 user1 用户作为认证用户
(7)任何用户可以通过用户 user3 来临时获得读写权限
12.在系统 server 上创建自定义命令为 qstat,此自定义命令将执行以下命令/bin/ps -Ao pid,user,%cpu,%mem,comm,此命令对系统中所有用户均有效
- 配置你的 web 服务器,要求如下:
(1)下载 http://classroom.example.com/pub/server.html,改名为 index.html,不要改变该文件内容
(2)设置该 web 站点的根目录为/var/www/html
(3)将 index.html 放入到 DocumentRoot 下
(4)当用户访问 http://serverX.example.com 可以访问到该 index.html 中的内容serverX.example.com,其中 X 是你的 server number,该主机已经在 172.25.254.254中得到解析
- 在 serverX 上扩展你的 web 服务器,为站点 http://wwwX.example.com 创建一个虚拟机主机,然后完成以下任务:
(1)设置DocumentRoot为/var/www/virtual
(2)下载http://classroom.example.com/pub/www.html该文件,并重命名为index.html,不要改变该文件内容
(3)将index.html文件放到DocumentRoot中
(4)确保用户user1用户能够在/var/www/virtual/pub目录中创建文件
(5)确保http://wwwX.example.com仍然能够被访问,DNS已经由172.25.254.254负责解析
15.在 serverX 上的 web 服务器的 DocumentRoot 目录下创建一个名为 private 的目录,要求如下:
(1)下载http://classroom.example.com/pub/private.html文件,并且重命名为index.html,不要修改这个文件内容
(2)将这个文件放到private目录中,在serverX上,任何人都可以浏览private的内容,但从其他系统不能访问该目录内容
-
为wwwX.example.com配置TLS加密,一个签名证书可以从http://classroom.example.com/pub/tls/certs/wwwX.crt下载,该证书的私钥可以http://classroom.example.com/pub/tls/private/wwwX.key获取,此证书的授权签名信息可以从http://classroom.example.com/pub/tls/example-ca.crt获取
-
在server上配置提供动态web内容
(1)动态内容由webappX.example.com提供
(2)虚拟主机侦听在端口8899上
(3)从http://classroom.example.com/pub/webapp.wsgi下载一个脚本,放到合适的位置,不要修改该文件内容
(4)客户端访问http://webappX.example.com:8899可以访问到该文件内容
(5)此http://webappX.example.com:8899必须在example.com域中所有计算机访问到。
- 在serverX上配置邮件服务器,要求如下:
(1)这些系统不接收外部发送来的邮件
(2)在这些系统上本地发送的任何邮件都会自动路由到serverY上
(3)从这些系统上发送的邮件显示来自于serverX
- 配置Mariadb数据库
(1)数据库应该包含来自数据库复制的内容,复制文件的URL为 http://classroom.example.com/pub/mariadb.dump
(2)数据库只能被localhost访问
(3)除了root用户外,数据库只允许zhangsan可以访问,zhangan的密码为RedHat1!
(4)root用户的密码为RedHat1!,密码不允许为空
(5)在serverX上使用数据库Contacts,并使用相应的SQL查询回答以下问题:密码是RedHat1!的人的名字
(6)有多少人的姓名是zhang并同时住在wuhan?
RHCSA 部分
密码破解
在linux16最后加入 rd.break
进入交换模式以后输入下列指令:
mount -o remount,rw /sysroot
chroot /sysroot
passwd root
touch /.autorelabel //更新SE上下文
exit
reboot
虚拟机环境 yum 源地址 http://content.example.com
IP地址分配
desktopX 地址 172.25.X.10/24 GW172.25.X.254 DNS 172.25.254.254
serverX 地址 172.25.X.11/24 GW172.25.X.254 DNS 172.25.254.254
密码修完完成,注意此处是修改的你考试用的虚拟机密码,而不是物理机密码。
IP 地址的设置,和主机名信息。
hostnamectl set-hostname desktopX.example.com #设置主机名
nmcli connection modify eht0 ipv4.method manual #
nmcli connection modify eth0 ipv4.addresses ‘172.25.X.10/24 172.25.X.254’
nmcli connection modify eth0 ipv4.dns ‘172.24.254.254’
nmcli connection up eth0
nmcli con show eth0 | grep ipv4
host classroom.example.com
route -n 路由
IP 地址也可以使用 nm-connection-editor 图形化界面进行修改。
RHCSA 部分全部上 DESKTOPX 上完成即可。
-
配置 SELINUX 使其工作在 enforcing 模式下解法:
getenforce //查看模式
setenforce 1 //设置为 enforcing 模式
getenforce //查看
vim /etc/selinux/config //永久修改
selinux=enforcing
:wq
重启然后使用 sestatus 命令查看SE状态 -
为您的系统配置一个默认的软件仓库一个 YUM 源已经提供了在 http://classroom.example.com/content
解法:
添加实例 yum-config-manager --add-repo=rhel7
vim/etc/yum.reopos/base.repo
[rhel7-base]
name=base
baseurl= http://classroom.example.com/content
gpgcheck=0
enabled=1
保持退出
yum repolist 进行验证 -
调整逻辑卷的大小调整逻辑卷 vo 的大小,它的文件系统大小应该为 290M.确保这个文件系统的内容完整。
注:分区很少能精确到和要求的大小相同,因此在范围 270M 到 320M 之间都是可以接受的自己创建一个 LVM 来做这题。
解法—加法
df –hT
lvextend -L +100M/dev/vg0/vo
lvscan
resize2fs /dev/vg0/vo //考试的时候用这条命令进行更新就可以了。
df –hT
解法—减法
umount /home
e2fsck –f /dev/vg0/vo //强制效验逻辑盘
resize2fs /dev/vg0/vo 100M //最终要求的分区容量如 100M
lvreduce –L 100M /dev/vg0/vo //消减到目标值
mount /dev/vg0/vo /home
df -hT -
创建用户账号创建下面的用户、组和组成员关系
名字为 adminuser 的组用户 natasha,使用 adminuser 作为附属组用户 harry,也使用 adminuser 作为附属组用户 sarah,在系统商不能访问可交互的 SHELL,且不是 adminuser 的成员,natasha,harry, sarah 密码都是 redhat
解法:
-G 添加附属组 -g 修改为目前组
groupadd adminuser
useradd natasha –G adminuser
useradd haryy –G adminuser
useradd sarah –s /sbin/nologin
passwd 用户名 //来修改密码
id natasha //查看用户组 -
配置/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 的能力。
解法:
cp /etc/fstab /var/tmp/ ll /var/tmp/fstab 查看所有者
setfacl –m u:natasha:rw- /var/tmp/fstab //ACL权限
setfacl –m u:haryy:— /var/tmp/fstab
使用 getfacl /var/tmp/fstab 查看权限 -
配置一个 cron 任务用户 natasha 必须配置一个 cron job,当地时间每天 14:23 运行,执行:
/bin/echo hiya
-
-
-
-
- 分 时 天 月 星期 4-9/1 每隔1
解法:
crontab –e –u natasha
23 14 * * * /bin/echo hiya
crontab –l –u natasha 查看
- 分 时 天 月 星期 4-9/1 每隔1
-
-
-
-
创建一个共享目录创建一个共享目录/home/admins,使之具有下面的特性:
/home/admins 所属组为 adminuser
这个目录对组 adminuser 的成有具有可读、可写和可执行。
在/home/ admins 创建的任何文件所属组自动设置为 adminuser。
解法:
mkdir /home/admins
chgrp -R adminuser /home/admins == chown root:adminuser /home/admins
chmod g+w /home/admins
chmod g+s /home/admins -
安装内核的升级从 http://classroom.example.com/pub/安装适合的内核更新。下面的要求必须满足:
更新的内核作为系统启动的默认内核原来的内核在系统启动的时候依然有效和可引导解法:使用浏览器打开题目给的网址,并下载内核文件,到根或者家目录。
uname -r 查看当前内核版本
rpm –ivh kernel-*.rpm
vi /boot/grub/grub.conf 查看 -
绑定到外部验证服务器系统 classroom.example.com 提供了一个 LDAP 的验证服务,求绑定到这个服务:
验证服务的基准 DN 是 dc=example,dc=com
LDAP 用于提供账户信息和验证信息连接应用使用位子
http://classroom.example.com/pub/example-ca.crt 的证书加密
当正确的配置后,ldapuserX 可以登录你的系统,但是没有 HOME 目录,直到你完成 autofs 题目的 ldapuserX 的密码是 password 解法:
yum -y install authconfig-gtk.x86_64 krb5-workstation.x86_64 sssd
authconfig-gtk
system-config-authentication
将 user account database 修改为 ldap,根据题目要求填写 DN 和 LDAP SERVER,use TLS to encrypt connections 打钩,在 download ca 中写入 http://classroom.example.com/pub/example-ca.crt。 authentication metod 选择 ldap password。
id ldapuser1 查看有没有学习到用户注:这题中只要能学习到用户即可,用户密码不需要设置。
- 配置 NTP 配置你的系统使它 classroom.example.com 的一个 NTP 用户解法:
yum –y install system-config-date
system-config-date
Synchronize date and time over the network 打钩
删除默认的 NTP server 添加一个 NTP server 地址为:classroom.example.com
-
配置 autofs 自动挂在 LDAP 用户的家目录,{按需自动挂载}
如下要求 classroom.example.com使用NFS 共享了home给你的系统。这个文件系统包含了预先配置好的用户 ldapuserX 的 home 目录
ldapuserX 的 home 目录是 classroom.example.com /home/guests/ldapuserX
ldapuserX 的 home 目录应该自动挂载到本地/home/guests 下面的 ldapuserX home 目录必须对用户具有可写权限
ldapuserX 的密码是 password
解法:
yum install –y autofs
mkdir /home/guests
vi /etc/auto.master
/home/guests /etc/auto.ldap
保存退出
cp /etc/auto.misc /etc/auto.ldap vi /etc/auto.ldap
ldapuserX -fstype=nfs,rw classroom.example.com:/home/guests/ldapuserX 保存退出
systemctl start autofs
systemctl enable autofs
su – ldapuserX 测试,建议用普通用户ssh ldapuser1@localhost
如果以上写法在考试的时候无法创建文件或者命令提示符是-bash-4.2$这样的话可能存在多
级目录也需要将 classroom.example.com:/home/guests/ 的写法变为 classroom.example.com:/home/guests/ldapuserX 就可以了。何为多级目录也就是题目给的/home/guests/ldapuserX 下面还有一个 ldapuserX 的目录这个目录才是真正的目录。 -
配置一个用户账号创建一个用户 iar,uid 是 3400.这个用户的密码是 redhat 解法:
useradd –u 3400 iar passwd iar -
添加一个 swap 分区
为你的系统额外添加一个大小为 500M 的交换分区,这个交换分区在系统启动的时候应该能自动挂载。不要移除和修改你系统上现有的交换分区。解法:
fdisk /dev/vda 以扩展分区的方式来做,不要用主分区。
partx –a /dev/vda //激活新建分区==partprobe
mkswap /dev/vdax //建立交换分区
swapon /dev/vdax //使用交换分区
swapon –s //查看交换分区
vim /etc/fstab
/dev/vdax swap swap defaults 0 0 mount -a -
查找文件找到所有者是 iar 的文件,并把题目拷贝到/root/findresults 目录
解法: useradd iar 可以使用 id iar 看是否有用户,有则不需要创建
mkdir /root/findresults
find / -user iar –exec cp -rfp {} /root/findresults ;
ls /root/findresults -
查找一个字符串在/usr/share/dict/words 内找出所有包含字符串 seismic 的列,然后把这些列
依照原来的次序拷贝到/root/lines.txt 内,在此档内不存在空行,所有的行必须是/usr/share/dict/words 中原有行的精确复制。
解法:
grep seismic /usr/share/dict/words > /root/lines.txt -
创建名为/root/backup.tar.bz2 的备份文件,其中包含/usr/local 的内容,tar 必须使用 bzip2 压缩。
常用压缩后缀:tar.gz(z) tar.bz2(j) tar.xz(J)
cd /usr/local
tar –jcvf /root/backup.tar.bz2 *
mkdir /test
tar –jxvf /root/backup.tar.bz2 –C /test/ 解压看下类容是不是和/usr/local 里面的一样 -
创建一个逻辑卷
按照下面的要求创建一个新的逻辑卷逻辑卷的命名为 database,属于卷组的 datastore,且大小为 50 个 PE。
在卷组 datastore 的逻辑卷每个扩展的大小为 16MB
使用 ext3 格式化这个新的逻辑卷,此逻辑卷在系统启动的时候应该自动挂载到/mnt/database
解法:
fdisk /dev/vda 创建一个 1G 的分区根据情况修改
partprobe /dev/vda
pvcreate /dev/vdax
vgcreate datastore /dev/vdax –s 16M
lvcreate – l 50 –n database datastore
mkfs.ext3 /dev/datastore/database
mkdir /mnt/database
mount /dev/datastore/database /mnt/database/
df –Th
vi /etc/fstab
/dev/datastore /database /mnt/database/ ext3 defaults 0 0
mount –a
重启检查所有题目要求。
问题2:设立代理服务器(squid)监听的端口为 8080在 example.com 网域内的客户端都可以存取您的代理服务器在 example.com 网域外的客户端都不可以存取您的代理服务器
答案:
#yum install squid
#chkconfig squid on
#service squid restart
#vim /etc/squid/squid.conf
http_port 8080
acl list1 src 192.168.74.0/255.255.255.0
http_access allow list1
:wq
#iptables –I CLASS-RULE –s 192.168.0.0/24 –p tcp –dport 8080 –j ACCEPT
#iptables –I CLASS-RULE –s 192.168.0.0/24 –p udp –dport 8080 –j ACCEPT
# service iptables save
# service iptables restart
# service squid restart
测试:
本机用代理测试自己的网站
选作题问题1:设定提供 IMAPS 服务simira 必须可以从 example.com 网预存取 IMAPS 服务IMAPS 必须禁止从其他的网域或网段存取IMAPS 所使用的 SSL 凭证需依指定内容建立:使用 Country, State, Locality, Organization Name 的预设值Organization Unit 设定为 GLSCommon Name 设定为 station.example.comEmail Address 设定为 root@stationX.example.com
答案:
# cd /etc/pki/tls/certs/
#make dovecot.pem
#vim /etc/dovecot.conf
ssl_cert_file = /etc/pki/tls/certs/dovecot.pem
ssl_key_file = /etc/pki/tls/certs/dovecot.pem
:wq
# iptables -I CLASS-RULE -s 192.168.74.0/24 -p tcp --dport 993 -j ACCEPT
# iptables -I CLASS-RULE -s 192.168.74.0/24 -p udp --dport 993 -j ACCEPT
# service iptables save
# service iptables restart
# service dovecot restart
测试:
登陆测试机:
#mutt –f imaps://naima@station6.example.com
可以发信
#mutt –f imaps://naima@station6.example.com
可以收信
问题8:邮件服务依照下原则设定您系统上的 POP3 服务simira 可以从 example.com 网域内取回在您系统上的信件从 my133t.org 来的所有客户端均不能使用您系统上的 POP3 服务设定一个邮件别名,将寄给 admin的档案转至本地的 naima 使用者依下列项目设定您的 SMTP 邮件服务:您的邮件服务器必须可以接受来自本地端及来自远端的邮件taliesin 必须可以接收来自远端的邮件寄给 taliesin 的邮件,必须存放在/var/spool/mail/tailiesin 的邮件队列中
答案:
#yum install sendmail*
#chkconfig sendmail on
#service sendmail restart
#vim /etc/mail/sendmail.mc
dnl DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl
:wq
#vim /etc/mail/local-host-names
Example.com
Station6.example.com
#yum install dovecot
#chkconfig dovecot on
#service dovecot restart
#vim /etc/dovecot.conf
protocols = imap imaps pop3 pop3s (去除此句注释,机开通imap imaps pop3 pop3s服务)
:wq
# iptables -I CLASS-RULE -s 192.168.74.0/24 -p tcp --dport 110 -j ACCEPT
# iptables -I CLASS-RULE -s 192.168.74.0/24 -p udp --dport 110 -j ACCEPT
# iptables -I CLASS-RULE -s 192.168.74.0/24 -p udp --dport 25 -j ACCEPT
# iptables -I CLASS-RULE -s 192.168.74.0/24 -p tcp --dport 25 -j ACCEPT
# service iptables save
# service iptables restart
#vim /etc/aliases
Admin: naima
#service sendmail restart
测试:
登陆测试机
#mail admin@station6.example.com
本地查看naima是否收到邮件
#mail taliesin@station6.example.com
本地查看#ls /var/spool/mail 是否有taliesin
问题3:建立虚拟网站,网址为 http://wwwX.example.com,X 是您的工作站编号,并设定:DocumentRoot 为 /var/www/virtual下载 ftp://server1.example.com/pub/rhce/www.html将档案重新命名为 index.html将档案复制到您的虚拟服务器的 DocumentRoot,切勿更动 index.html 档案的内容注意:原来的网站 http://stationX.example.com 必须依然可以存取server1.example.com 的DNS 伺服器已提供了 wwwX.example.com 的名称解析
答案:
#yum install httpd*
#chkconfig httpd on
#service httpd start
#mkdir /var/www/virtual
#lftp server1.example.com
拷贝index.html到/var/www/index目录下
拷贝www.html到/var/www/virtual目录下
#cp www.html /var/www/virtual/index.html
#vim /etc/httpd/conf/httpd.conf
NameVirtualHost 192.168.74.82:80
ServerAdmin webmaster@dummy-host.example.com
DocumentRoot /var/www/html
ServerName station6.example.com
ErrorLog logs/dummy-host.example.com-error_log
CustomLog logs/dummy-host.example.com-access_log common
ServerAdmin webmaster@dummy-host.example.com
DocumentRoot /var/www/virtual
ServerName www6.example.com
ErrorLog logs/dummy-host.example.com-error_log
CustomLog logs/dummy-host.example.com-access_log common
:wq
# iptables -I CLASS-RULE -p tcp --dport 80 -j ACCEPT
# iptables -I CLASS-RULE -p udp --dport 80 -j ACCEPT
#service iptables save
#service iptables restart
测试:
#elinks www6.example.com
#elinks station6.example.com
显示正常则配置正确
问题7:NFS服务设定您的系统上的 NFS 服务器,将 /shared 目录分享给 example.com域中的用户
#chkconfig –list nfs
#chkconfig nfs on
#service nfs restart
#mkdir /shared
#vim /etc/exports
/share 192.168.0.0/255.255.255.0(rw)
:wq
#vim /etc/sysconfig/nfs
RQUOTAD_PORT=4001
LOCKD_TCPPORT=4002
LOCKD_UDPPORT=4002
MOUNTD_PORT=4003
STATD_PORT=4004
:wq
#service nfs restart
#rpcinfo –p
端口更改正确
# iptables -I CLASS-RULE -s 192.168.74.0/24 -p tcp --dport 4001:4004 -j ACCEPT
# iptables -I CLASS-RULE -s 192.168.74.0/24 -p udp --dport 4001:4004 -j ACCEPT
# iptables -I CLASS-RULE -s 192.168.74.0/24 -p udp --dport 111 -j ACCEPT
# iptables -I CLASS-RULE -s 192.168.74.0/24 -p tcp --dport 111 -j ACCEPT
# iptables -I CLASS-RULE -s 192.168.74.0/24 -p tcp --dport 2049 -j ACCEPT
# iptables -I CLASS-RULE -s 192.168.74.0/24 -p udp --dport 2049 -j ACCEPT
# iptables –L
# service iptables save
# service iptables restart
#service nfs restart
测试:
#showmount –e 192.168.0.6
可以看到文件
#mount –t nfs 192.168.0.6:/shared /mnt
可以挂载
问题5:Samba服务通过 SMB 共享 /common 目录:您的 SMB 服务器须设定为 STAFF 工作组的成员共享名称为 “common”只共享给 example.com 网域内的客户端共享必须是可浏览的(browseable)taliesin 可以读取这个共享目录,如果必要的话,使用的密码为 password
答案:
#yum install samba*
#chkconfig smb on
#service smb restart
#vim /etc/samba/smb.conf
Workgroup=STAFF
[common]
comment = Public Stuff
path = /common
public = yes
browseable=yes
; writable = yes
; printable = no
; write list = +staff
:wq
#iptables –I CLASS-RULE –s 192.168.74.0/24 –p tcp –dport 137:139 –j ACCEPT
#iptables –I CLASS-RULE –s 192.168.74.0/24 –p udp –dport 137:139 –j ACCEPT
#iptables –I CLASS-RULE –s 192.168.74.0/24 –p tcp –dport 445 –j ACCEPT
#iptables –I CLASS-RULE –s 192.168.74.0/24 –p udp –dport 445 –j ACCEPT
#service iptables save
#service iptables restart
#chcon –t samba_share_t /common
#smbpasswd –a taliesin
Password
#service smb restart
测试:
#smbclient –L 192.168.74.82
#smbclient –L 192.168.74.82 –U taliesin
Passwd:password
#smbclient //192.168.74.82/common –U taliesin
Passwd:password
显示正常则正确
问题5:Samba服务通过 SMB 共享 /common 目录:您的 SMB 服务器须设定为 STAFF 工作组的成员共享名称为 “common”只共享给 example.com 网域内的客户端共享必须是可浏览的(browseable)taliesin 可以读取这个共享目录,如果必要的话,使用的密码为 password
答案:
#yum install samba*
#chkconfig smb on
#service smb restart
#vim /etc/samba/smb.conf
Workgroup=STAFF
[common]
comment = Public Stuff
path = /common
public = yes
browseable=yes
; writable = yes
; printable = no
; write list = +staff
:wq
#iptables –I CLASS-RULE –s 192.168.74.0/24 –p tcp –dport 137:139 –j ACCEPT
#iptables –I CLASS-RULE –s 192.168.74.0/24 –p udp –dport 137:139 –j ACCEPT
#iptables –I CLASS-RULE –s 192.168.74.0/24 –p tcp –dport 445 –j ACCEPT
#iptables –I CLASS-RULE –s 192.168.74.0/24 –p udp –dport 445 –j ACCEPT
#service iptables save
#service iptables restart
#chcon –t samba_share_t /common
#smbpasswd –a taliesin
Password
#service smb restart
测试:
#smbclient –L 192.168.74.82
#smbclient –L 192.168.74.82 –U taliesin
Passwd:password
#smbclient //192.168.74.82/common –U taliesin
Passwd:password
显示正常则正确
问题10:文件系统设置
建立一个分区,大小为300M,挂载到/common,永久生效
答案:
#fdisk -l
#fdisk /dev/sda
n
e
4
默认
+300M
#partprobe /dev/sdb
#mkfs.ext3 /dev/sdb1
#mkdir /common
#vim /etc/fstab
/dev/sdb1 /common ext3 defaults 0 0
#mount -a
#ll /common
有 lost+found标示文件,挂载成功
问题1:磁盘配额用户disklog在/home/disklog最低限制为40K,当添加80K数据时会提示超出磁盘配额信息
#useradd disklog
#mount –o remount,usrquota /dev/vol0/home /home
#vim /etc/fstab
/dev/vol0/home /home ext3 defaults,usrquota 0 0
#quotacheck -cvu /home
#quotaon /home
#edquota -u disklog
Saft hard
40 80
测试:
#su - disklog
#cd
#dd if=/dev/zero of=file1 bs=1k count=50
是否有警告信息,有则正常
#dd if=/dev/zero of=file1 bs=1k count=90
是否提示超出磁盘配额,有则配置成功
#quota
问题3:ssh服务设置依下列指示设定 SSH,用户taliesin 可以从 example.com网域内存取您的机器,但从 my133t.org 来的所有客户端均不能使用您系统上的 ssh 服务
#iptables -N CLASS-RULE
# iptables -A INPUT -j CLASS-RULE
# iptables -A CLASS-RULE -i lo -j ACCEPT
# iptables -A CLASS-RULE -p icmp -j ACCEPT
# iptables -A CLASS-RULE -m state --state ESTABLISHED,RELATED -j ACCEPT
# iptables -A CLASS-RULE -s 192.168.74.0/24 -p tcp --dport 22 -j ACCEPT
# iptables -A CLASS-RULE -m state --state NEW -p udp --dport 514 -j ACCEPT
# iptables -A CLASS-RULE -j REJECT
#service iptables save
#service iptables restart
#vim /etc/sysconfig/iptables
问题7:定时任务列表与NTP设置
#为用户 naima 设立一个任务计划,在本地时间每天 20:45 执行/bin/echo hello
设定您的系统为 server1.example.com 的NTP 客户端
#crontab –u naima –e
45 20 * * * /bin/echo hello
:wq
#service crond restart
#crondtab -u naima -l
45 20 * * * /bin/echo hello
设定您的系统为 server1.example.com 的NTP 客户端
问题4:权限设置
将 /etc/fstab 文件复制到 /tmp,设定 /tmp/fstab 的权限,使:
#/tmp/fstab 文件的属主是 root 使用者
#/tmp/fstab 文件的所属群组是 root 群组
#/tmp/fstab 文件不得为任何人执行
#使用者 naima 可以读写 /tmp/fstab
#所有其他使用者(目前的及未来的)可以读取 /tmp/fstab
答案:
#cp /etc/fstab /tmp/
#ll /tmp/
#getfacl /etc/fstab
#setfacl -m u:naima:rw /tmp/fstab
#getfacl /etc/fstab
问题5:内核升级和路由启用
#在您的系统上启用 IP Forwarding 功能,并使之永久生效
#vim /etc/sysctl.conf
Net.ipv4.ip_forward = 1
:wq
从ftp://server1.example.com/pub/updates 安装适用的 kernel 更新套件,必须符合下列准则:
#更新版的 kernel 套件在重新开机后为预设的 kernel,原来的 kernel 套件依旧存在,并且可以手动启用
#lftp server1.example.com
>cd pub
>cd updates
>get kernel*
>exit
#rpm –ivh kernel*
#vim /boot/grub/grub.conf
Default=1
问题3:共享目录设置
建立一个工作目录于 /commom/staff ,并拥有下列属性:
#/shared/staff 的所属群组为 staff;
#该目录应对 staff 群组成员有可读、可写、可执行的权限;
#对taliesin没有任何权限
#对其他使用者有可读的权限
答案:
#mkdir –p /commom/staff
#chown .staff /commom/staff
#ll –d /commom/staff
#chmod 775 /commom/staff
#getfacl /commom/staff
#setfacl -m u:taliesin:0 /commom/staff
#getfacl /commom/staff
问题3:共享目录设置
建立一个工作目录于 /commom/staff ,并拥有下列属性:
#/shared/staff 的所属群组为 staff;
#该目录应对 staff 群组成员有可读、可写、可执行的权限;
#对taliesin没有任何权限
#对其他使用者有可读的权限
答案:
#mkdir –p /commom/staff
#chown .staff /commom/staff
#ll –d /commom/staff
#chmod 775 /commom/staff
#getfacl /commom/staff
#setfacl -m u:taliesin:0 /commom/staff
#getfacl /commom/staff
通过NFS服务,将/common目录输出给example.com域
yum install nfs
yum install portmap
service portmap start
chkconfig portmap on
chkconfig nfs on
vi /etc/exports
/common 172.24.0.0/16 (rw,sync)
:wq
service nfs restart
测试:showmount –e 可以看到本机的nfs输出
为您的MTA配置一个邮件别名,将发送给acctmgr的邮件转至本地的andrew用户
yum install sendmail*
yum install sendmail-cf*
vim /etc/mail/sendmail.mc
把127.0.0.1改为0.0.0.0
m4 sendmail.mc > sendmail.cf
vim /etc/mail/local-host-names
加入example.com
stationX.example.com保存退出
chkconfig sendmail on
service sendmail restart
vi /etc/aliase
acctmgr: andrew
:wq
newaliase重新加载
配置您系统上的FTP访问:Example.com网域中的客户端都可以用匿名(anonymous)访问您的机器Example.com 网域外的客户端都不能访问您的FTP服务
yum install vsftpd*
service vsftpd restart
chkconfig vsftpd on
iptables –A INPUT –s ! 172.24.0.0/16 –p tcp –dport 21 –j REJECT
iptables –A INPUT –s ! 172.24.0.0/164 –p udp –dport 21 –j REJECT
service iptables save
方法二
yum -y install vsftpd
chkconfig vsftpd on
service vsftpd restart
getsebool –a | grep ftp
setsebool -P ftp_home_dir 1
service vsftpd restart
vim /etc/hosts.allow vsftpd: .example.com
vim /etc/hosts.deny vsftpd: ALL EXCEPT .example.com
netstat -tulpn | grep vsftp
service iptables save
service iptables restart
设定您的网站服务,网址是http://stationX.example.com,然后执行下列步骤:
下载ftp://server1.example.com/pub/rhce/station.html文件
将下载的文件重新命名为index.html
将文件复制到您的网站的documentroot路径下
切勿更动index.html文件的内容
yum install httpd
chkconfig httpd on
wget ftp://server1.example.com/pub/rhce/station.html
cp station.html /var/www/html/index.html
vim /etc/httpd/conf/httpd.conf
修改ServerName stationX.example.com
chcon -R --reference=/var/www/html /var/www/html/index.html
service httpd restart
找出所有属于susan用户的文件,并且把这些文件放到/temp/susan目录中
如果没有/temp/susan目录,则需要先创建该目录
#mkdir –p /temp/susan
# find / -user susan -exec cp {} /temp/susan \;
1、SELINUX必须运行在强制模式
vi /etc/sysconfig/selinux
SELINUX=enforcing
:wq
2、以下列指示配置SSH访问 Susan可以从example.com域内远程ssh访问您的机器My133t.org 域内的客户不能通过SSH访问您的机器
iptables –F
iptables –A INPUT –s 172.25.0.0/16 –j REJECT
service iptables save
service iptables restart
chkconfig iptables on
创建两个附加分区,每个分区大小为250M, 把两个分区构建一个RID0,并命名为/dev/md1挂载/dev/md1至/shared目录中,并永久生效
# fdisk /dev/sda
n
l→n→+250M→t fd w
n
l→n→+250M→t fd w
# partprobe
# mdam -C /dev/md1 –l 0 –n 2 /dev/sda8 /dev/sda9
#cat /proc/mdstat查看是否创建了raid
# mkfs.ext3 /dev/md1
# mkdir /shared
# mount /dev/md1 /shared
# vi /etc/fstab
/dev/md1 /shared ext3 defaults 0 0
#mount -a
# df -TH
现有一个逻辑卷1.6G,减少逻辑卷,最后是600M
#lvdisplay 查看逻辑卷
#umount /resize
#resize2fs –f /dev/vg0/resize 600M
#lvreduce –L 600M /dev/vg0/resize
#resize2fs –p /dev/vg0/resize 增大或是减小逻辑卷,都需要该操作
#mount –a
#df –TH
减小操作:
1、umount /该逻辑卷sharel
2、检查大小:e2fsck -f /dev/mapper/vg0_lv0
3、压缩到200M:resize2fs -f /dev/mapper/vg0_lv0 200M
4、再次检查大小,跟之前对比:e2fsck -f /dev/mapper/vg0_lv0
5、lvresize /dev/vg0/lv0 200M
6、mount /dev/vg0/lv0 /share1
7、e2fsck -f /share1
将home分区扩大为1G,偏差范围在950M-1050M之间
#lvdisplay
# lvextend -L 1024M /dev/vg0/home
#resize2fs –p /dev/vg0/home
现有主机中存在一个逻辑卷 lvdata,大小为 500MB,要求在保留原有数据的情况下将其扩大至 1GB
fdisk /dev/sda
创建分区 ID修改为8e
partprobe
mke2fs -j /dev/sda(编号)
pvcreate /dev/sda(编号)
vgdisplay(查看VG名)
vgextend vg名 /dev/sda(编号)
lvresize -L +500M /dev/vg名/lv
resize2fs /dev/vg/lv
df –h(检查)
建立一个分区,大小为300M,挂在到/common,并使之永久生效
#fdisk /dev/sda
p→n→+300M→w
#partprobe
#mkfs.ext3 /dev/sda5
#mkdir /common
#mount /dev/sda5 /common
#df -TH
#vim /etc/fstab
/dev/sda5 /common ext3 defaults 0 0
假设你的分区是/dev/sda5
方法2:
1. e2label /dev/sda5 common
2. echo -e "LABEL=common \t /common \t ext3 \t defaults \t 1 1" >>/etc/fstab
方法3:
echo "mount /dev/sda5 /common" >>/etc/rc.local
配置 NTP客户端使其能够与 server1.example.com服务器进行网络时间同步开机自启动
您会注意到有些条件指定某一个服务对my133t.org 域无效,这个域中的所有的系统在172.25.0.0/255.255.0.0网段中,同时这个网段中的所有主机也在my133t.org域内;example.com域中主机在172.24.0.0/255.255.0.0网段内!
如果需要安装软件,您可以通过YUM实现,YUM源路径为:
http://server1.example.com/pub/server
在您进行考试之前,您首先要取得权限,并设置您系统的密码为:rW9ySX
配置静态地址信息:
IP地址为:172.24.0.X(其中X为本机编号)
子网掩码:255.255.0.0
网关;172.24.254.254
DNS:172.24.254.254
加入
vim /etc/hosts
172.24.X.X stationX.example.com stationX
配置 apache虚拟主机,满足以下需求
a.DocumentRoot路径为/var/www/virt
b.从服务器 http://server1.example.com/pub/virt.html下载主页文件并将其设置为虚拟主机的主页
cd /var/www/virt/
wget http://server1.example.com/pub/virt.html
vim /etc/httpd/conf/httpd.conf
修改985行虚目录
ServerAdmin root@www13.example.com
DocumentRoot /var/www/virt
ServerName www13.example.com
DirectoryIndex virt.html
/etc/init.d/httpd restart
c.网站域名为 http://wwwx.example.com(x为当前 station编号)
d.允许用户 usr-2能够在/var/www/virt文件夹中创建文件
cd /var/www/
setfacl -m u:usr-2:rwx virt/
检测su到usr-2 在virt下创建文件
配置 Squid代理服务器,满足以下需求
yum install squid -y
a.更改 Squid监听端口为 8080
vim /etc/squid/squid.conf
921行改为 8080
b.只允许本机以及 example.com域内的所有主机访问本机 Squid服务
在574行下加一行acl example src 172.24.0.0/255.255.255.0
在637行下加一行http_access allow example(注意不要加到DENY下边)
/etc/init.d/squid restart
chkconfig squid on
检测在浏览器里设置代理检测
配置 apache服务,满足以下需求
yum install httpd-* -y
a.通过 stationx.example.com可以访问本机 apache服务(x为当前 station编号)
cd /var/www/html/
wget http://server1.example.com/pub/test.html
b.主页路径为 http://server1.example.com/pub/test.html
vim /etc/httpd/conf/httpd.conf
修改985行虚目录
ServerAdmin root@station13.example.com
DocumentRoot /var/www/html
ServerName station13.example.com
DirectoryIndex test.html
/etc/init.d/httpd restart
创建一个 RAID0分区,RAID0由两个分区组成,分区自行创建,大小为 1GB,创建后挂载到/share,并要求开机后能够自动挂载
创建两个分区 修改ID fd
partprobe
mdadm -C /dev/md0 -n 2 -l 0 /dev/sda(编号) /dev/sda(编号)
cat /proc/mdstat(查看是否创建分区)
mke2fs –j /dev/md0
mkdir /share
echo "/dev/md0 /share ext3 defaults 0 0 " >> /etc/fstab
mount –a
df –h(检测)
现有主机中存在一个逻辑卷 lvdata,大小为 500MB,要求在保留原有数据的情况下将其扩大至 1GB
fdisk /dev/sda
创建分区 ID修改为8e
partprobe
mke2fs -j /dev/sda(编号)
pvcreate /dev/sda(编号)
vgdisplay(查看VG名)
vgextend vg名 /dev/sda(编号)
lvresize -L +500M /dev/vg名/lv
resize2fs /dev/vg/lv
df –h(检查)
自vt.org域发起的POP3(端口110)请求一律禁止(我们认为, 您可以指定vt.org域的地址范围是172.16.1.100~105/24).
#iptables -t filter -A INPUT -s 172.16.1.100 -m tcp -p tcp --dport 110 -j DROP
#iptables -t filter -A INPUT -s 172.16.1.101 -m tcp -p tcp --dport 110 -j DROP
#iptables -t filter -A INPUT -s 172.16.1.102 -m tcp -p tcp --dport 110 -j DROP
#iptables -t filter -A INPUT -s 172.16.1.103 -m tcp -p tcp --dport 110 -j DROP
#iptables -t filter -A INPUT -s 172.16.1.104 -m tcp -p tcp --dport 110 -j DROP
#iptables -t filter -A INPUT -s 172.16.1.105 -m tcp -p tcp --dport 110 -j DROP
#iptables -t filter -A INPUT -s 172.16.1.100/24 -m tcp -p tcp --dport 110 -j ACCEPT
# WEB服务
1.运行命令wget http://instructor.example.com/exam/stationX.html,并将其重命名为index.html放在你的DocumentRoot目录下。当访问http://stationX.example.com 时可以看到内容。
#wget http://instructor.example.com/exam/station6.html
#mv station10.html index.html
#mv index.html /var/www/station6
2.创建一个虚拟主机名为station1X.example.com,其DocumentRoot目录指向/var/www/station1X,默认主页内容在http://instructor.example.com/exam/station1X.html 上可以下载下来放到你的虚拟主机上;且该DocumentRoot目录只允许192.168.0.0/24客户端主机访问其内容。(原服务http://statonX.example.com依然存在并有效.)
NameVirtualHost *:80
<VirtualHost *:80>
ServerAdmin root@station6.example.com
DocumentRoot /var/www/station16
ServerName www.station16.example.com
ErrorLog logs/www.station16.example.com-error_log
CustomLog logs/www.station16.example.com-access_log common
</VirtualHost>
<Directory "/var/www/station16">
AllowOverride None
Options FollowSymLinks
Order allow,deny
Allow from 192.168.0
</Directory>
# SAMBA服务
1.将目录/var/samba/docs共享出去, 共享名为stationX, 可以被浏览到, 只有用户tom以密码123可以对其读写, 其他用户只读。
[station10]
path = /var/samba/docs
browseable = yes
write list = tom
writeable = no
2.将目录/var/samba/public共享出去,共享名为publicX,该共享只允许用户alex以密码123访问,其它用户不可以访问该服务。
[public10]
path = /var/samba/public
browseable = yes
valid users = alex
3.将目录/var/samba/share共享出去,共享名为share,该共享可以匿名只读访问。
[share]
path = /var/samba/share
public = yes
- 该samba服务器必须在WORKGROUP这个工作组内。
#vi /etc/samba/smb.conf
workgroup = WORKGROUP
#smbpasswd -a alex #smbpasswd -a tom
# SSH服务
1.本地用户alex不允许访问该ssh服务。
#vi /etc/ssh/sshd_config
DenyUsers alex
2.来自192.168.0.0/255.255.255.0子网的ssh访问允许,其余一概拒绝。
#vi /etc/hosts.deny
sshd: ALL EXCEPT 192.168.0.0/255.255.255.0
3.本地用户selina不允许从192.168.0.230登录该ssh服务。(注: 你可以以用户sshexamX/密码123连接到192.168.0.230上进行测试)
#vi /etc/ssh/sshd_config
DenyUsers selina@192.168.0.230
# FTP服务
1.匿名用户访问后, 能够看到pub, share和incoming三个目录, 且匿名用户只能上传(不能改名和删除)文件至incoming目录。
#mkdir /var/ftp/share #mkdir /var/ftp/incoming
#chown ftp.ftp /var/ftp/incoming
#vi /etc/vsftpd/vsftpd.conf
anon_upload_enable=YES
#service vsftpd restart或#/etc/init.d/vsftpd restart
2.子网192.168.0.0/255.255.255.0之外的主机不能访问该服务。
#vi /etc/hosts.deny
vsftpd: ALL EXCEPT 192.168.0.0/255.255.255.0
3.该服务器只允许tom, alex和匿名3个用户访问。
#vi /etc/vsftpd/vsftpd.conf
userlist_deny=NO
#vi /etc/vsftpd/userlist 写入上述用户名,一行一个。
4.tom和alex可以在自己的家目录下写入内容。
默认可以,注意selinux。
更多推荐
所有评论(0)