rhcsa+rhce

3个环境:原始 练习中 完成

5个步骤:看 抄 验 练 完成

3个流程: ssh firewall yum+vim systemctl

 

 

rhce:

system1 + system2

same: yum  selinux ssh alias posix

diff: aggregated  ipv6

inter:

system1:

smb共享目录

nfs 服务配置

iSCSI 服务配置

port 端口转发

web站点 加密 虚拟机 web内容访问 动态网站

shell 脚本(带参数运行和添加用户)

mysql 服务配置和sql查询

---------------------------------------

system2:

smb挂载目录

nfs 客户端共享

iSCSI 客户端挂载

 

 

 

1)通用操作

 

连接: ssh root@url -X or  root@hostname -X 

 

安装:

yum list xxx

yum whatprovides xx

yum install  -y

 

whatprovides: */mkfs.vfat */smbpasswd */semanage

list: auth*

install:

vsftpd

authconfig-gtk.x86_64 

nss-pam-ldapd

system-config-date

autofs -

bizp2

dosfstools-3.0.20-9.el7.x86_64 

mailx

samba

samba-client-4.1.1-31.el7.x86_64

cifs-u*

groupinstall web* 

mod_wsgi

policycoreutils-python-2.2.5-11.el7.x86_64target*

target*

firewall-config

iscsi*

mariadb-server mariadb 

 

服务:

systemctl restart xxx

systemctl enable xxx

systemctl is-enabled xxx

 

restart: network autofs postfix smb nfs-server nfs-secure-server nfs-secure httpd firewalld

enable: autofs smb nfs-server nfs-server.service nfs-secure-server nfs-secure httpd target iscsid mariadb

is-enabled: nfs-server.service

 

防火墙:

firewall-cmd --add-service

firewall-cmd --add-rich-rule

 

add service: firewall-cmd  --add-service=smtp --permanent

smtp samba mountd

 

add service name:

firewall-cmd --add-rich-rule  'rule family="ipv4" source address="192.168.122.0/24" service name="servername" accept'  --permanent

servername tftp nfs rpc-bind mountd http https

 

port:

firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.122.0/24" forward-port  to-port="80" protocol="tcp" port=5423' --permanent

firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.122.0/24" port port="8998"  protocol="tcp" accept' --permanent

firewall-cmd --add-rich-rule 'rule family="ipv4" source address=192.168.122.200    port port="3260"  protocol="tcp" accept' --permanent

 

配置:vim /etc/*

 

sysconfig:

vim /etc/sysconfig/nfs

vim /etc/sysconfig/network-scripts/ifconfig

vim /etc/sysconfig/network-scripts/ifcfg-eth0 1 2

vim /etc/sysconfig/newwork-scripts/ifcfg-team_test0

 

httpd:

vim /etc/httpd/conf/http.conf

vim /etc/httpd/conf.d/ssl.conf

vim /etc/httpd/conf.d/vhosts.conf

 

other:

vim /etc/selinux/config

vim /etc/yum.repos.d/aa.repo

vim /etc/postfix/main.cf

vim /etc/samba/smb.conf

vim /etc/ssh/sshd_config

vim /etc/iscsi/initiatorname.iscsi

 

vim /etc/auto.master

vim /etc/auto.misc

Vim /etc/auto.aa

 

vim /etc/hosts

vim /etc/hosts.allow

vim /etc/hosts.deny

 

vim /etc/fstab

vim /etc/exports

vim /etc/bashrc

vim /etc/groups

 

vim /root/script

vim /root/mkusers

 

 

 

 

界面操作:

ldap用户配置:authconfig-gtk &

ntp新增用户:system-config-date &

打开防火墙:LANG=C firewall-config

 

高频操作:

查看用户:id xxx

下载文件:wget -O local url

设置密码:echo redhat | passwd —stdin root

目录文件操作: mkdir chmod chown vim 

分区操作: lsblk fdisk p n t 8e w partprobe mkfs.format

 

 

全部操作:

get/set+enforce

yum install

lvscan   lvexnted  xfs_grows resize2fs

groupadd useradd passwd

setfacl

crontab

chgrp chmod 

uname rpm firefox

find

grep

tar

source

mandb man -k xxx

firewall-cmd 

scp

nmcli

ping6

echo content | mail -s “title”  author

chon  pdbedit  smbpasswd   smbclient cifscreds exportfs

showmount mount df -hT

wget

semanage

vgcreate lvcreate  mkswap swapon mkfs.vfat targetcli

iscsiadm

mysql:grant | set password | create select

 

变化要点:

source:

yum        repo.url

kernel     uname

ntp        hostname

ipv6       address

mysql      db

aggerate   ip

web        sec url

ssl        crt key

postfix    hostname url

vhost      index.html

nfs        krb5 server+client

ldap       search+ssl

 

other:

配置网卡 ifcfg

iSCSI 磁盘名

共享目录和权限:smb

用户命令:alias

压缩格式:gzip bzip

查找和复制:grep

用户:uid

分区大小和格式:fdisk

文件所有者:chmod chown

轮询:crontab

逻辑卷路径:lv

家目录地址:autofs

 

 

重启验证:

 

-vim

/etc/passwd

 

-url

system1.rhce.cc my133t.org 

https://system1.rhce.cc

curl -s system1.rhce.cc/secret/html  | system1.rhce.cc/secret

dynamic.rhce.cc:8998

 

-operate

getenforce

yum install 

su - user

crontab -l -u username

ls

uname -a 

id ldapuser11

system-config-date &

cat /etc/passwd

ls -l /root/findresults/

cat /root/lines

qstat

ifconfig  

ping ip

ping6 mac_address

echo content | mail -s ‘title’ author 

./script shell

mysql grant | sql

smbclient -L //system1 -U andy%redhat

smbclient //system1/common -U andy%redhat

cifscreds add system1 -u silene

mount -a

df -hT

 

 

 

-----------------------------------------------------------------------------------------

 

考前说明:

 

上午rhcsa 下午rhce

邮箱和姓名保持一致

考官让点 继续/下一步 再点,不要自己点击

普通用户登录物理机,密码记录在草稿纸上头

ssh root@IP -X  有可视化操作界面管理虚拟机

 

他山之石:

rhcsa https://www.cnblogs.com/zhangjianghua/p/9564859.html

rhce https://www.cnblogs.com/despotic/p/11187802.html

 

 

No.1 rhcsa  (lvscan,swap,lvcreate)

 

注意事项:

1.第3题 扩展文件系统大小

考试时用df -hT 查看vo的文件系统是什么

1.如果是xfs文件系统的话,扩展则用xfs_growfs

2.如果是ext4文件系统的话,则用resize2fs

 

2.第9题 LDAP那题,做好之后用root切换ldapuser11,不用考虑什么密码问题

su - ldapuser11,此事是没有家目录的

 

3.第11题 在/etc/auto.aa里,考试的时候不要忘记了vers=3选项

验证的时候用su - ldapuser11,记住要带-, 不要说你习惯不带 -

 

4.第17题也就是最后一题

题目要求使用ext3文件系统,命令是mkfs.ext3

如果考试要求使用fat文件系统,则用mkfs.vfat

 

 

重置station虚拟机中root用户密码(存疑,考试是否需要)

restart  e 键  

加入init=/bin/sh  

ctr+x结束

mount -o remount,rw /

echo redhat | passwd --stdin root

touch /.autorelabel

exec /sbin/init/(会停顿一段时间,有进度轴)

 

systemctl isolate graphical.target(可切换图形界面 )

 

配置(需要参照考试需求)

hostnamectl set-hostname station.rhce.cc

cd /etc/sysconfig/network-scripts/

ifconfig

 

//配置网卡

vim ifcfg-eth0

DEVICE=eth0

NAME=eth0

BOOTPROTO=none

ONBOOT=yes

IPADDR=192.168.122.100

NETMASK=255.255.255.0

GATEWAY=192.168.122.1

DNS1=192.168.122.10

 

systemctl restart network

ping staion.rhce.cc

 

 

 

物理机打开终端:

ssh [email protected] -X  or ssh [email protected] -X

cd /etc/sysconfig/network-scripts/

cat ifcfg-eth0

 

 

二.答题

 

1.配置selinux enforcing

getenforce

setenforce 1

vim /etc/selinux/config

SELINUX = enforcing

 

验证:getenforce

 

2.安装yum 源

使用地址 ftp://server.rhce.cc/dvd 作为默认的源

cd /etc/yum.repos.d

vim aa.repo

[aa]

name=aa

baseurl=ftp://server.rhce.cc/dvd

enabled=1

gpgcheck=0

验证:yum install vsftpd -y

 

3.调整卷的大小

调整逻辑卷 vo 的大小,它的文件系统大小应该为 290M。确保这个文件系统 的内容仍然完整。注意: 分区很少能精确到和要求的大小相同,因此在范围 260M 到 320M 之间都是 可接受

lvscan

echo 290-192 | bc

lvextend -L + 98M /dev/vg0/vo (lvscan 结果)

xfs_growfs /dev/vg0/vo

 

验证:

lvscan

df -hT

说明:如果是ext4文件系统,使用这个命令做扩展 resize2fs /dev/mapper/vg0-vo

 

4.创建用户组关系

名字为 adminuser 的组

用户 natasha,使用 adminuser 作为附属组

用户 harry,也使用 adminuser 作为附属组

用户 sarah,在系统上不能访问可交互的 shell, 且不是 adminuser 的成员, natasha,harry,sarah 密码都是 redhat

 

groupadd adminuser

useradd -G adminuser natasha

useradd -G adminuser harry

useradd -s /sbin/nologin sarah

echo redhat | passwd --stdin natasha

echo redhat | passwd --stdin harry

echo redhat | passwd --stdin sarah

验证:

1、vim /etc/groups

搜索该用户名,n键翻页看

2、su - 该用户名

执行groups,会列出所有该用户所在组

3、groups 该用户名

查看某个组有哪些成员的方法

vim/etc/groups

搜索组名,看后面有哪些用户

 

 

 

 

 

5.配置权限

复制文件/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/fstab

ls -l /var/tmp/fstab(-rw-rw-r--+ 1 root root 483 1月  17 11:08 /var/tmp/fstab)

setfacl -m u:natasha:rw- /var/tmp/fstab

setfacl -m u:harry:--- /var/tmp/fstab

验证:vim 就可以了

 

6.crontab 任务

用户 natasha 必须配置一个 cron job, 当地时间每天 14:23 运行,执行: /bin/echo hiya

crontab -e -u  natasha

23 14 * * * /bin/echo hiya

验证:crontab -l -u natasha

 

7.创建目录,满足属性

创建一个目录/home/admins,使之具有下面的特性:

/home/admins 所属组为 adminuser

这个目录对组 adminuser 的成员具有可读、可写和可执行,但是不是对其他

任何用户。(root 可以访问系统上所有的文件和目录) 在/home/admins 下创建的任何文件所属组自动设置为 adminuser

mkdir /home/admins

ls -ld /home/admins

chgrp adminuser /home/admins

chmod g+w /home/admins

chmod g+s /home/admins

ls -ld /home/admins

chmod -o -rx   /home/admins/

 

验证:

ls mkdir ..

 

 

8.内核升级

从 http://rhgls.rhce.cc/pub/updates 安装合适的内核更新。下面的要求必须满足: 更新的内核作为系统启动的默认内核 原来的内核在系统启动的时候仍然有效和可引导

firefox  http://rhgls.rhce.cc/pub/updates &(右键点击 链接另存为,存储到root目录里)

ls

rpm -ivh kernel-3.10.0-229.el7.x86_64.rpm

验证:uname -r  

 

9.ldap 服务配置

系统 host.rhce.cc 提供了一个 LDAP 验证服务,你的系统应该按下面的要求绑 定到这个服务:

验证服务的基准 DN 是 dc=rhce,dc=cc

LDAP 用于提供账户信息和验证信息连接应该使用位于 http://host.rhce.cc/pub/domain11.crt 的证书加密

当正确的配置后,ldapuser11 可以登录你的系统,但没有家目录 直到你完成 autofs 题目 ldapuser11 的密码是'redhat'

 

yum list auth*

yum install authconfig-gtk.x86_64 -y

yum install nss-pam-ldapd -y

界面操作:

authconfig-gtk &(打开通信化界面)

认证方法:ldap

认证密码:ldap

authconfig-gtk &(重新打开界面)

ldap 搜索基础  dc=rhce,dc=cc(DN按照考试需求)

ldap 服务器 host.rhce.cc

TLS处 打钩

选择下载证书,粘贴,http://host.rhce.cc/pub/domain11.crt

点击 应用

验证:id ldapuser11,并且无需关注密码

 

10.配置系统,新增用户

配置你的系统使它是 rhgls.rhce.cc 的一个 NTP 客户

yum install system-config-date

system-config-date &

打开后台界面,删除NTP服务器中的内容,重新配置NTP服务器

添加:rhgls.rhce.cc

验证:打开界面看看

 

11.配置autofs自动挂载ldap家目录

配置 autofs 自动挂载 LDAP 用户的家目录,如下要求: host.rhce.cc(192.168.122.10) 使用 NFS 共享了/home/guests 给你的系统。这个

文件系统包含了预先设置好的用户 ldapuser11 的家目录 ldapuser11 的家目录是 host.rhce.cc:/home/guests/ldapuser11

ldapuser11 的家目录应该自动挂载到本地/home/guests 下面的 /home/guests/ldapuser11

家目录必须对用户具有可写权限 ldapuser11 的密码是'redhat'

 

yum install autofs -

vim /etc/auto.master

/home/guests /etc/auto.aa(misc下头)

 

cp /etc/auto.misc /etc/auto.aa

vim /etc/auto.aa

ldapuser11    -fstype=nfs,rw,vers=3   host.rhce.cc:/home/guests/ldapuser11

systemctl restart autofs

systemctl enable autofs

验证:su - ldapuser11

说明:密码无需关注,留意ext3 ext4

 

12.创建用户和密码

创建一个用户 alex,uid 为 3400。这个用户的密码为 redhat。

useradd -u 3400 alex

echo redhat | passwd --stdin alex

验证: cat /etc/passwd

13.创建分区

为你的系统上额外添加一个大小为 512M 的交换分区,这个交换分区在系统 启动的时候应该能自动挂载。不要移除和更改你系统上现存的交换分区。

p 浏览 n创建 e编辑 w保存退出 回车(。。)

lsblk

1)创建物理分区:

fdisk /dev/vda

分别输入 p n e 和 回车键,把所有看空间都分配给它

2)创建逻辑分区:  

p  n 回车键 +512M  p

t  回车键 82 p  w

 

partprobe /dev/vda

mkswap /dev/vda5【格式化分区】

vim /etc/fstab

/dev/vda5 swap swap defaults 0 0

 

swapon -a

swapon -s

验证:df -hT

说明:如果创建512分区失败,原因是分区不连续造成的

 

14.找出所有者 rsa,拷贝到 /root/findresults

找出所有所有者是 ira 的文件,并把他们拷贝到/root/findresults 目录

mkdir  /root/findresults

find / -user ira -exec cp -a {} /root/findresults/ \;(带一个空格)

验证:ls  -l /root/findresults/

 

15.查找并复制对应的行

在/usr/share/dict/words 中找出所有包含 seismic 的行。复制所有这些行并按照 原来的顺序放在文件/root/lines 中。/root/lines 应该没有空白行,所有的行必须是 /usr/share/dict/words 中原有行的精确复制。

grep seismic /usr/share/dict/words > /root/lines

验证 cat /root/lines

 

16.创建bz2备份文件

创建名为/root/backup.tar.bz2 的备份文件,其中包含/usr/local 的内容,tar 必 须使用 bzip2 压缩

yum install bzip2

cd /usr/local/

tar jcvf /root/backup.bz2 *(bzip)

tar zcvf /root/backup.tar.gz  * (gzip)

cd /root/

验证:ls

 

17.创建逻辑卷,文件系统各异

按照下面的要求创建一个新的逻辑卷:

逻辑卷命名为 database,属于卷组 datastore,且大小为 50 个扩展。

在卷组 datastore 的逻辑卷每个扩展的大小为 16MiB

使用 ext3 格式化这个新的逻辑卷.此逻辑卷在系统启动的时候应该能自动挂载到 /mnt/database。

lsblk

fdisk /dev/vda

p n enter +1G  t enter 8e w

partprobe /dev/vda

pvcreate /dev/vda6

vgcreate -s 16 datastore /dev/vda6

lvcreate -l 50 -n database datastore

ext3格式化:

mkfs.

yum whatprovides  */mkfs.vfat

yum install dosfstools-3.0.20-9.el7.x86_64 -y

mkfs.vfat  /dev/datastore/database

 

说明:

unable to get drive geometry, using default 255/63并不是报错      

不同文件系统语法改变:mkfs.vfat (xfs or ext3 ext4 )   /dev/datastore/database

 

mkdir /mnt/database

vim /etc/fstab

/dev/datastore/database /mnt/database  vfat ( ext3 or ext4 or xfs)   defaults 0 0

(lvscan ,复制粘贴也可)

验证:

mount -a

df -hT

 

 

No.2 rhce(smb nfs iscsi)

 

考前准备:

 

姓名和邮箱

用户名和邮箱上下午保持一致,否则没有成绩,密码可写在草稿纸上头

考试时候,通过管理软件进行管理,打开两个终端

 

配置yum源头

通过考试说明 安装yum源 见 rhcsa 【第2题】

yum 源地址: ftp://server.rhce.cc/dvd

创建完成后,拷贝到  system2 , scp aa.repo system2:/etc/yum.repos.d/

 

登录系统:

存疑:界面管理器

一台物理机中有两台虚拟机,system1 system2

ssh root@system1 -X  

redhat

ssh root@system2 -X

redhat

 

 

1.配置selinux eforcing ,见rhcsa 【第1题】

SELinux 必须在两个系统 system1 和 system2 中运行于 Enforcing 模式

验证 :getenforce

 

2.配置ssh 访问

按以下要求配置 SSH 访问: 用户能够从域 rhce.cc 内的客户端通过 SSH 远程访问您的两个虚拟机系统 在域 my133t.org 内的客户端不能访问您的两个虚拟机系统

host rhce.cc  查看所属网段

vim /etc/hosts.allow

sshd : 192.168.122.0/255.255.255.0

vim /etc/hosts.deny

sshd : .my133.org

scp /etc/hosts.allow /etc/hosts.deny system2:/etc/

验证  system2 /etc/ 下的两个文件

验证:ssh [email protected] -X

 

 

3.自定义用户环境

在系统 system1 和 system2 上创建自定义命令名为 qstat 此自定义命令将执行以下命令:

此命令对系统中所有用户有效。

 

vim /etc/bashrc

alias qstat='/bin/ps -Ao pid,tt,user,fname,rsz'

source /etc/bashrc

验证 qstat,验证后再做另一个机器

 

 

4.配置端口转发

在系统 system1 配置端口转发, 要求如下: 在 192.168.122.0/24 网络中的系统, 访问 system1 的本地端口 5423 将被转发到 80 此设置必须永久有效

cd desktop

vim aa.txt

mandb

man -k firewall

man firewalld.richlanguage

/Exaple5 复制过来,粘贴到 rule 里去

firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.122.0/24" forward-port  to-port="80" protocol="tcp" port=5423' --permanent

暂无验证 telnet

 

5.配置聚合链路

在 system1.rhce.cc 和 system2.rhce.cc 之间按以下要求配置一个链路: 此链路使用接口 eth1 和 eth2

此链路在一个接口失效时仍然能工作

此链路在 system1 使用下面的地址 172.16.11.25/255.255.255.0 此链路在 system2 使用下面的地址 172.16.11.35/255.255.255.0 此链路在系统重启之后依然保持正常状态

 

相关链接:

https://blog.csdn.net/qq_34556414/article/details/81837276

 

cd /usr/share/doc/teamd-1.9/

cd example_ifcgs/1/

ls

cp * /etc/sysconfig/network-scripts/

cd /etc/sysconfig/network-scripts/

 

vim ifcfg-team_test0

修改:

NAME=team_test0

ONBOOT = “yes”

IPADDR = “172.168.11.25”

TEAM_CONFIG=‘{“runner”:{“name”:”activebackup”}}’

 

 

vim ifcfg-eth1

NAME=eth1

ONBOOT=“yes”

 

vim ifcfg-eth2

NAME=eth2

ONBOOT=“yes”

 

systemctl restart network

验证,重启后,ifconfig可观察其mac地址相同

 

 

scp ifcfg-eth1 ifcfg-eth2 ifcfg-team_test0  system2:/etc/sysconfig/network-scripts/

ls

vim ifcfg-team_test0

修改ip 地址,172.168.11.35

systemctl restart network

验证,重启后,ifconfig可观察其mac地址相同

分别ping  25和35,互ping能连通

 

 

6.配置ipv6

https://blog.csdn.net/chao199512/article/details/86139714

在您的考试系统上配置接口 eth0 使用下列 IPv6 地址:

system1 上的地址应该是 200e:ac18::e0a/64

system2 上的地址应该是 200e:ac18::e14/64 两个系统必须能与网络 200e:ac18/64 内的系统通信。 地址必须在重启后依旧生效。 两个系统必须保持当前的 IPv4 地址并能通信。

ifconfig eth0

nmcli connection

nmcli connection modify eth0 ipv6.method auto  查看 eth0

nmcli connection modify eth0 ipv6.addresses 200e:ac18::e0a/64(地址是题目给的)

nmcli connection modify eth0 ipv6.addresses 200e:ac18::e14/64(地址是题目给的)

nmcli connection modify eth0 ipv6.method manual

systemctl restart  network

 

验证:分别ping本机和另一台机器

ifconfig eth0

ping6  200e:ac18::e0a

ping6  200e:ac18::e14

 

 

 

7.配置邮件服务器

在系统 system1 和 system2 上 配置邮件服务,满足以下要求: 这些系统不接收外部发送来的邮件 在这些系统上本地发送的任何邮件都会自动路由到 rhgls.rhce.cc 从这些系统上发送的邮件显示来自于 rhce.cc

您可以通过发送邮件到本地用户 'dave' 来测试您的配置,系统 rhgls.rhce.cc 已经配置把此 用户的邮件转到下列 URL http://rhgls.rhce.cc/received_mail/11

firewall-cmd  --add-service=smtp --permanent

如下可不操作:

postconf | grep trans

postconf -e local_transport=err:xxx

postconf | grep ^local_tr

 

cd /etc/postfix/

vim main.cf

mydestination =

relayhost = [rhgls.rhce.cc]

myorigin = rhce.cc

 

systemctl restart postfix

yum install mailx

验证,echo system1| mail -s 'aaa' dave

Url: http://rhgls.rhce.cc/received_mail/11

 

 

第二台机器:

firewall-cmd  --add-service=smtp --permanent

scp main.cf system2:/etc/postfix/

systemctl restart postfix

yum install mailx

验证,echo system2| mail -s 'aabbbb' dave

Url: http://rhgls.rhce.cc/received_mail/11

 

 

 

8.通过 smb共享目录

在 system1 上配置 SMB 服务

您的 SMB 服务器必须是 STAFF 工作组的一个成员 共享 /common 目录 共享名必须为 common

只有 rhce.cc 域内的客户端可以访问 common 共享 common 必须是可以浏览的

用户 andy 必须能够读取共享中的内容,如果需要的话,验证的密码是 redhat

yum install samba

cd /etc/samba/

ls

firewall-cmd --add-rich-rule  'rule family="ipv4" source address="192.168.122.0/24" service name="tftp" accept'

 

vim smb.conf

workgroup = STAFF

//新增

[common]

path = /common

hosts allow = 192.168.122.0/24

 

mkdir /common

chcon -R -t samba_share_t /common

firewall-cmd --add-service=samba  --permanent

 

id andy

useradd andy

echo redhat | passwd --stdin andy

yum whatprovides */smbpasswd

yum install  samba-client-4.1.1-31.el7.x86_64

pdbedit -L

smbpasswd -a andy

systemctl start smb

systemctl enable smb

 

验证:

smbclient -L  //system1 -U andy%redhat (浏览信息)

smbclient //system1/common -U andy%redhat(登录smb)

 

 

9.配置多用户smrhgls.rhce.ccb

在 system1 共享通过 SMB 目录 /miscellaneous 满足以下要求:

共享名为 miscellaneous

共享目录 miscellaneous 只能被 rhce.cc 域中的客户端使用

共享目录 miscellaneous 必须可以被浏览

用户 silene 必须能以读的方式访问此共享, 访问密码是 redhat

用户 akira 必须能以读写的方式访问此共享, 访问密码是 redhat

此共享永久挂载在 system2.rhce.cc 上的 /mnt/multi 目录, 并使用用户 silene 作为认

证 任何用户可以通过用户 akira 来临时获取写的权限

 

1)创建:

//system1

mkdir /miscellaneous

chcon -R -t samba_share_t /miscellaneous

 

vim  /etc/samba/smb.conf

[miscellaneous]

path = /miscellaneous

hosts allow = 192.168.122.0/24

writable = no

write list = akira

 

chmod o+w /miscellaneous

 

id silene

useradd silene

echo redhat | passwd --stdin silene

useradd akira

echo redhat | passwd --stdin akira

 

smbpasswd -a silene

smbpasswd -a akira

 

systemctl restart  smb

systemctl enable  smb

 

验证:

smbclient  //system1/miscellaneous -U silene%redhat 可读

mkdir aa

smbclient  //system1/miscellaneous -U akira%redhat 可写

mkdir aa

 

//system2

2)挂载:

mkdir /mnt/multi

yum whatprovides */smbpasswd

yum install  samba-client-4.1.1-31.el7.x86_64

smbclient -L //system1 -U andy%redhat

 

vim /etc/fstab

//system1/miscellaneous  /mnt/multi cifs defaults,username=silene,password=redhat,multiuser,sec=ntlmssp 0 0

 

yum install cifs-u*  (smb权限共享)

mount -a

df -hT 查看挂载点

验证:

useradd tom1

useradd tom2

su - tom1

cd /mnt/multi

ls 没有权限

cifscreds add system1 -u silene

ls有权限

Touch 没有权限

exit

su - tom2

cd /mnt/multi

cifscreds add system1 -u akira

ls 有权限

touch有权限

exit

 

 

10.配置nfs服务(服务端 system1) 重启后存在问题

NFS就是Network File System的缩写,它最大的功能就是可以通过网络,让不同的机器、不同的操作系统可以共享彼此的文件。

在 system1 配置 NFS 服务,要求如下:

以只读的方式共享目录 /public 同时只能被 rhce.cc 域中的系统访问 以读写的方式共享目录 /protected 能被 rhce.cc 域中的系统访问

访问 /protected 需要通过 Kerberos 安全加密, 您可以使用下面 URL 提供的密钥

http://host.rhce.cc/materials/nfs_server.keytab.

目录 /protected 应该包含名为 confidential 拥有人为 ldapuser11 的子目录 用户 ldapuser11 能以读写方式访问 /protected/confidential

systemctl start nfs-server

systemctl enable nfs-server

systemctl  is-enabled nfs-server.service

 

写两遍 不带和带permanent

firewall-cmd --add-rich-rule  'rule family="ipv4" source address="192.168.122.0/24" service name="nfs" accept' --permanent

firewall-cmd --add-rich-rule  'rule family="ipv4" source address="192.168.122.0/24" service name="rpc-bind" accept' --permanent

firewall-cmd --add-rich-rule  'rule family="ipv4" source address="192.168.122.0/24" service name="mountd" accept' --permanent

 

mkdir /public

vim /etc/exports

/public  *(ro,sync)

 

exportfs -arv  (nfs服务修改配置、共享等)

firewall-cmd  --add-service=mountd

 

mount system1:/public  /mnt

umount  /mnt

 

mkdir /protected

vim /etc/exports

/protected  *(rw,sync)

 

exportfs -arv

wget -O  /etc/krb5.keytab  http://host.rhce.cc/materials/nfs_server.keytab

(不要删除自带的 /etc/krb5.conf /etc/krb5.keytab)

vim /etc/exports

/protected    *(rw,sync,sec=krb5p)

验证:cat /etc/exports

 

vim /etc/sysconfig/nfs

RPCNFSDARGS = “-V 4.2”(有空格)

 

chocon https://ipcmen.com/chcon

chcon命令 是修改对象(文件)的安全上下文,比如:用户、角色、类型、安全级别。

 

 

chcon -R -t public_content_t /protected/

mkdir /protected/confidential

chcon -R -t  public_content_t /protected/

chown ldapuser11 /protected/confidential/

 

systemctl  restart nfs-server

systemctl  restart nfs-secure-server

systemctl  enable nfs-secure-server

systemctl  is-enabled nfs-server.service

 

验证:ls mkdir 。。

 

11.nfs客户端共享 (system2)

在 system2 上挂载一个来自 system1.rhce.cc 的 NFS 共享, 并符合下列要求:

/public 挂载在下面的目录上 /mnt/nfsmount

/protected 挂载在下面的目录上 /mnt/nfssecure 并使用安全的方式,密钥下载 URL 如 下: http://host.rhce.cc/materials/nfs_client.keytab.

用户 ldapusre11 能够在 /mnt/nfssecure/confidential 上创建文件

这些文件系统在系统启动时自动挂载

 

showmount -e system1

mkdir /mnt/nfsmount

 

vim /etc/fstab

system1.rhce.cc:/public /mnt/nfsmount nfs  defaults 0 0

 

验证public:

mount -a

df -hT

 

mkdir /mnt/nfssecure

wget -O /etc/krb5.keytab http://host.rhce.cc/materials/nfs_client.keytab

systemctl restart nfs-secure

systemctl enable nfs-secure

 

vim /etc/fstab

system1.rhce.cc:/protected /mnt/nfssecure nfs   defaults,v4.2,sec=krb5p 0 0

 

验证:

mount -a

df -hT (存疑 没有显示)

说明:不要su过来,没有权限。要走ssh,也就是

System1登录:

ssh [email protected],基于krb5p进行认证

说明:这个报错没有问题,ld not chdir to home directory /home/guests/ldapuser11: No such file or directory

验证结论:

cd /mnt/nfssecure/confidential

touch 123

 

12.配置web站点

system1 上配置一个站点 http://system1.rhce.cc 然后执行下述步骤:

从 http://rhgls.rhce.cc/materials/station.html 下载文件,并且将文件重命名为 index.html 不要修改此文件的内容 将文件 index.html 拷贝到您的 web 服务器的 DocumentRoot 目录下 来自于 rhce.cc 域的客户端可以访问此 Web 服务

来自于 my133t.org 域的客户端拒绝访问此 Web 服务

 

yum groupinstall web* -y

systemctl start httpd

systemctl enable httpd

 

cd /etc/httpd/conf

vim http.conf

ServerName system1.rhce.cc:80

 

wget -O /var/www/html/index.html   http://rhgls.rhce.cc/materials/station.html

写两遍 一遍带permanent

firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.122.0/24" service name="http" accept' --permanent

systemctl restart httpd

 

防止重启失效:

ping system1.rhce.cc

vim /etc/hosts

192.168.122.100 system1.rhce.cc

验证: system1.rhce.cc my133t.org  来进行验证

 

13.配置站点加密

为站点 http://system1.rhce.cc 配置 TLS 加密 一个已签名证书从 http://host.rhce.cc/materials/system1.crt 获 取 此 证 书 的 密 钥 从 http://host.rhce.cc/materials/system1.key 获 取 此 证 书 的 签 名 授 权 信 息 从 http://host.rhce.cc/materials/domain11.crt 获取

cd /etc/httpd/conf/

wget  http://host.rhce.cc/materials/system1.crt

wget  http://host.rhce.cc/materials/system1.key

wget  http://host.rhce.cc/materials/domain11.crt

 

ssh root@system1

cd /etc/httpd/conf.d/

 

vim ssl.conf

SSLCertificateFile /etc/httpd/conf/system1.crt (私人客户端证书)

SSLCertificateKeyFile /etc/httpd/conf/system1.key  (加密的公钥)

SSLCertificateChainFile /etc/httpd/conf/domain11.crt (公共机构证书)

systemctl restart httpd

firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.122.0/24" service name="https" accept'  --permanent

验证: https://system1.rhce.cc

 

 

 

14.配置虚拟主机

在 system1 上扩展您的 web 服务器,为站点 http://www..rhce.cc 创建一个虚拟主机,然后 执行下述步骤:

设置 DocumentRoot 为 /var/www/virtual

从 http://rhgls.rhce.cc/materials/www.html

下载文件并重命名为 index.html 不要对文件 index.html 的内容做任何修改 将文件 index.html 放到虚拟主机的 DocumentRoot 目录下

确保 andy 用户能够在 /var/www/virtual 目录下创建文件

注意:原始站点 http://system1.rhce.cc 必须仍然能够访问, 名称服务器 rhce.cc 提供对主 机名 www.rhce.cc 的域名解析

 

ping www.rhce.cc (确定环境ip地址)

cat /etc/hosts

cd /etc/httpd/conf.d

mkdir /var/www/virtual

wget -O /var/www/virtual/index.html  http://rhgls.rhce.cc/materials/www.html

//添加andy

setfacl -m u:andy:rwx /var/www/virtual

 

cp /usr/share/doc/httpd-2.4.6/httpd-vhosts.conf vhosts.conf

vim vhosts.conf

DocumentRoot /var/www/virtual

ServerName www.rhce.cc

DocumentRoot /var/www/html

ServerName system1.rhce.cc

 

Vim /etc/hosts

192.168.122.100 system1.rhce.cc

192.168.122.100 www.rhce.cc

 

 

systemctl restart httpd

systemctl enable httpd

 

验证:

system1.rhce.cc

https://system1.rhce.cc

www.rhce.cc(https 已被设定)

 

15.配置web内容访问

在您的 system1 上的 web 服务器的 DocumentRoot 目录下 创建一个名为 secret 的目录, 要求如下:

从 http://rhgls.rhce.cc/materials/private.html 下载一个文件副本到这个目录,并且重命名 为 index.html。

  不要对这个文件的内容做任何修改。

从 system1 上,任何人都可以浏览 secret 的内容, 但是从其它系统不能访问这个目 录的内容

 

mkdir /var/www/html/secret /var/www/virtual/secret

wget -O /var/www/html/secret/index.html http://rhgls.rhce.cc/materials/private.html

wget -O /var/www/virtual/secret/index.html http://rhgls.rhce.cc/materials/private.html

 

vim vhosts.conf

        AllowOverride None

        Require local

        AllowOverride None

        Require local

 

验证:

systemctl restart httpd

外网不可访问 www.rhce.cc/secret system1.rhce.cc/secret

本机(system1)可访问:

curl -s system1.rhce.cc/secret/index.html

curl -s www.rhce.cc/secret/index.html

 

 

16.动态配置网站

在 system1 上配置提供动态 Web 内容,要求如下:

动态内容由名为 dynamic.rhce.cc 的虚拟主机提供

虚拟主机侦听在端口 8998

从 http://rhgls.rhce.cc/materials/webapp.wsgi 下载一个脚本,然后放在适当的位置, 无

论如何不要求修改此文件的内容

客户端访问 http://dynamic.rhce.cc:8998/ 时 应该接收到动态生成的 web 页面 此 http://dynamic.rhce.cc:8998/ 必须能被 rhce.cc 域内的所有系统访问

wsgi是一套协议,约定web服务器和应用(或者叫应用服务器)如何进行通信

 

vim /etc/hosts

192.168.122.100 dynamic.rhce.cc dynamic

firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.122.0/24" port port="8998" protocol="tcp" accept' --permanent

 

vim httpd.conf

Listen 8998

 

vim vhosts.conf

DocumentRoot /var/www/html/yy

ServerName dynamic.rhce.cc

mkdir /var/www/html/yy

yum install mod_wsgi

cd /var/www/html/yy/

wget  -P /var/www/html/yy  http://rhgls.rhce.cc/materials/webapp.wsgi

 

cd /etc/httpd/conf.d

vim vhosts.conf

DocumentRoot /var/www/html/yy

ServerName dynamic.rhce.cc

WSGIScriptAlias / /var/www/html/yy/webapp.wsgi

vim /etc/ssh/sshd_config  寻找模板

yum whatprovides */semanage

yum install  policycoreutils-python-2.2.5-11.el7.x86_64

semanage port -a -t http_port_t -p tcp 8998

systemctl restart httpd

如果重启失败,说明被占用,应该是执行顺序出了问题,可用如下命令

semanage port -m -t http_port_t -p tcp 8998

原因:http://www.kbase101.com/question/35273.html

验证,访问浏览器:dynamic.rhce.cc:8998

 

17.创建一个脚本

在 system1 上创建一个名为 /root/script 的脚本, 让其提供下列特性:

当运行 /root/script foo,输出为 bar

当运行 /root/script bar,输出为 foo

当没有任何参数或者参数不是 foo 或者 bar 时, 其错误输出产生以下的信息:

/root/script foo|bar

vim script

#!/bin/bash

 

case $1 in

        foo)

                echo bar

                ;;

        bar)

                echo foo

                ;;

        *)      

                echo '/root/script foo|bar'

                ;;

esac

验证:

chmod +x script

./script

./script bar

./script foo

 

18.创建一个添加用户的脚本

在 system1 上创建一个脚本,名为 /root/mkusers , 此脚本能实现为系统 system1 创建本地 用户, 并且这些用户 的用户名来自一个包含用户名列表的文件。同时满足下列要求:

此脚本要求提供一个参数,此参数就是包含用户名列表的文件

如果没有提供参数,此脚本应该给出下面的提示信息 Usage: /root/mkusers 然后退出并 返回相应的值

如果提供一个不存在的文件名,此脚本应该给出下面的提示信息 Input file not found 然 后退出并返回相应的值

创建的用户登录 shell 为 /bin/false

此脚本不需要为用户设置密码

您可以从下面的 URL 获取用户名列表作为测试用 http://rhgls.rhce.cc/materials/userlist

 

vim mkusers

#!/bin/bash

if 空格 [空格 表达式 空格];then

 

if  [ $# -eq 0 ] ; then

                echo  "Usage:/root/mkusers"

                exit 1

fi

 

if  [ ! -f $1 ] ; then

                echo "Input file not found"

                exit 1

fi

 

while read aa

do

        useradd -s /bin/false $aa

done < $1

 

 

wget http://rhgls.rhce.cc/materials/userlist

cat userlist

chmod +x mkusers

验证:./mkusers userlist

 

19.配置iSCSI 服务器 (system1)

iSCSI 是网络云盘

配置 system1 提供一个 iSCSI 服务 磁盘名为 iqn.2014-09.com.example.domain11:system1 , 并符合下列要求:

服务端口为 3260

使用 iscsi_vol 作其后端卷 其大小为 3G 此服务只能被 system2.rhce.cc 访问

 

yum install target*

systemctl start target

systemctl enable target

lsblk

fdisk /dev/vda

p n p enter +3G

partprobe /dev/vda

targetcli

/backstores/block create iscsi_vol /dev/vda4

ls

/iscsi create iqn.2014-09.com.example.domain11:system1

cd /iscsi/iqn.2014-09.com.example.domain11:system1/tpg1/

ls

acls/ create iqn.2014-09.com.example.domain11:system1:xx

luns/ create /backstores/block/iscsi_vol

portals/ create 0.0.0.0 3260

exit

防火墙可视化界面:(如果无法进入可视化界面,则退出再重新登录)

yum install firewall-config  -y

LANG=C firewall-config

 

尝试改成命令行

配置:永久

区域:public

富规则:添加

这个 192.168.122.200 是来自system2里头的

 

 

firewall-cmd --add-rich-rule ‘rule family=ipv4 source address=192.168.122.200 port port=3260  protocol=tcp accept’ --permanent

 

systemctl restart firewalld

说明:注意IP地址  ifconfig eth0 或者 hostname 后 ping 域名(system2)

验证:ls -hT or login 进去ls

 

20.配置 iSCSI 客户端 (system2)

配置 system2 使其能连接在 system1 的上提供的 iqn.2014-09.com.example.domain11:system1 并符合以下要求:

iSCSI 设备在系统启动的期间自动加载

块设备 iSCSI 上包含一个大小为 1700 MiB 的分区,并格式化为 xfs 此分区挂载在 /mnt/data 上 同时在系统启动的期间自动挂载

 

lsblk

yum install iscsi*

vim /etc/iscsi/initiatorname.iscsi

InitiatorName=iqn.2014-09.com.example.domain11:system1:xx

systemctl start iscsid

systemctl enable iscsid

iscsiadm -m discovery -t st -p system1.rhce.cc -l (system1 防火墙需要配置正确)

lsblk

fdisk /dev/sda

n p enter

+1700M

w

 

mkfs.xfs  /dev/sda1

 

vim /etc/fstab

/dev/sda1 /mnt/data xfs defaults,_netdev 0 0

 

mkdir /mnt/data

 

验证结论:

mount -a

df -hT

 

 

21.配置mariadb

在 system1 上创建一个 MariaDB 数据库, 名为 Contacts ,并符合以下条件:

数据库应该包含来自数据库复制的内容,复制文件的 URL 为 http://rhgls.rhce.cc/materials/users.mdb 。

数据库只能被 localhost 访问。

除了 root 用户, 此数据库只能被用户 Luigi 查询。 此用户密码为 redhat。 root 用户的密码为 redhat , 同时不允许空密码登录。

 

yum install mariadb-server mariadb -y

systemctl start mariadb

systemctl enable mariadb

mysql

create database Contacts

wget  http://rhgls.rhce.cc/materials/users.mdb

use Contacts

source /root/users.mdb

show tables;

grant select on Contacts.*  to Luigi@'localhost' identified by 'redhat';

set password=password('redhat');

 

22.sql查询

在系统 system1 上使用数据库 Contacts , 并使用相应的 SQL 查询以回答下列问题:

密码是 tangerine 的人的名字?

有多少人的姓名是 John 同时居住在 Santa Clara?

 

mysql -u root -p'redhat'

use Contacts;

desc table

select * from name join pass where name.aid = pass.bid and password = 'tangerine';

select count(*) from name join loc where name.aid = loc.cid and firstname = 'John' and loction = 'Santa Clara';

说明:区别 firstname 和 lastname,选择语言为英文,如果时间不够,蒙猜个数为1

 

 

你可能感兴趣的:(rhcsa+rhce)