标题1.设置Selinux
方法:
vi /etc/selinux/config
修改为enforcing即可
2.配置防火墙
方法:
查看防火墙帮助的命令
【system1 system2】
man firewalld
找到: firewalld.richlanguage 然后man firewalld.richlanguage -->Example4 复制到firewalld-cmd --permanent --add-rich-rule=‘xxxxxxx’
**firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="172.13.8.0/24" service name="ssh" reject'
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="172.24.8.0/24" service name="ssh" accept'**
**firewall-cmd --reload
firewall-cmd --list-all**
如果规则写错了删除
firewall-cmd --permanent --remove-rich-rule ‘rule family=“ipv4” source address=“172.13.8.0/24” service name=“ssh” reject’
firewall-cmd --reload
查看一下是否删除了
firewall-cmd --list-all
3.自定义用户环境
方法:
vi /etc/bashrc
alias qstat=’/bin/ps -Ao pid,tt,user,fname,rsz’
source /etc/bashrc
qstat
4.配置端口转发
方法:
man firewalld.richlanguage #example 查看帮助
firewall-cmd --permanent --add-rich-rule ‘rule family=“ipv4” source address=“172.24.8.0/24” forward-port to-port=“80” protocol=“tcp” port=“5423”’
firewall-cmd --reload #一定要reload不然无法立刻生效
firewall-cmd --list-all
配置一下YUM仓库
cd /etc/yum.repos.d/
vim rhce.repo
写入
[rhce]
name=rhce
baseurl=http://server.group8.example.com/yum
enabled=1
gpgcheck=0
清空一下系统中yum的缓存
yum clean all
yum list all
测试一下端口转发
yum -y install httpd
systemctl enable httpd
systemctl start httpd
firewall-cmd --permanent --add-service=http
firewall-cmd --reload
firewall-cmd --list-all
cd /var/www/html/
vim index.html
写入
hello world
在非本地主机上访问一下,本地访问不能进行转发,直接是5423
在浏览器中输入
172.24.8.11:5423
或者用
curl http://172.24.8.11:5423
5.配置链路聚合
方法:
第一步:读题
两块网卡在物理层必须处于同一网络【实验中两个网卡在物理层均为“仅主机模式”】
查看一下man帮助
man 5 teamd.conf
第二步:【在 system1 和 system2 上】创建网卡绑定
nmcli connection add type team con-name team0 ifname team0 config '{“runner”:{“name”:“activebackup”}}'
第三步:
【在 system1 】指定IPv4地址
nmcli connection modify team0 ipv4.addresses 172.16.3.40/24 ipv4.method manual connection.autoconnect yes
【在 system2 上】指定IPv4地址
nmcli connection modify team0 ipv4.addresses 172.16.3.45/24 ipv4.method manual connection.autoconnect yes
第四步:【在 system1 和 system2 上】将两块网卡加入到网卡绑定
nmcli connection add type team-slave con-name team0-port1 ifname eth1 master team0
nmcli connection add type team-slave con-name team0-port2 ifname eth2 master team0
第五步:【在 system1 和 system2 上】先启动两个网络接口,然后再启动网卡绑定
nmcli connection up team0-port1; nmcli connection up team0-port2; nmcli connection up team0;
第六步:【在 system1 和 system2 上】验证网卡绑定的状态是否启用
teamdctl team0 state; ifconfig team0;
第七步:【在 system1 在 system2 上】测试本机的网卡绑定能否连通另外一台虚拟机的网卡绑定
ping 172.16.3.45
ping 172.16.3.40
######如果有问题,删除重新设置:nmcli connection show && nmcli connection delete xxxxx
6.配置IPV6地址
方法:
第一步:读题
• 考试的时候要看清楚是对哪一个网卡做IPv6设置!
• 注意两台虚拟机的IPv6地址要对应,不要弄错!
第二步:【在 system1 上】使用命令行方式配置eth0的IPv6地址
nmcli connection modify eth0 ipv6.addresses 2003:ac18::305/64 ipv6.method manual connection.autoconnect yes
第三步:【在 system2 上】使用命令行方式配置eth0的IPv6地址
nmcli connection modify eth0 ipv6.addresses 2003:ac18::30a/64 ipv6.method manual connection.autoconnect yes
第四步:【在 system1 和 system2 上】重启eth0网卡
nmcli connection down eth0;
nmcli connection up eth0;
第五步:【在 system1 上】查看IPv6地址设置是否生效,然后ping 另外一台主机的IPv6地址,测试是否可以连通
ifconfig eth0
ping6 2003:ac18::30a
第六步:【在 system2 上】查看IPv6地址设置是否生效,然后ping 另外一台主机的IPv6地址,测试是否可以连通
ifconfig eth0
ping6 2003:ac18::305
7.配置本地邮件服务
方法:
第一步:解题思路
系统默认已经安装了Postfix邮件服务器(如果没有装,手动装上即可)
立即启动邮件服务并使邮件服务在下一次系统重启后仍然生效
设置邮件服务监听在本地的25端口上,(只接收来自本地发来的邮件,不接收外部发来的邮件)
重写本地邮件显示的来源域,使得从本地两个虚拟机系统上发送的邮件都显示为“来自于
server.group8.example.com”
设置邮件中继服务器,使得从本地两个虚拟机系统上发送的任何邮件都会自动路由到
mail.group8.example.com
在两个虚拟机上都要做配置
第二步:【在 system1 和 system2 上】安装Postfix邮件服务器,立即启动邮件服务并使邮件服务在下一次系统重启后仍然生效
$ rpm -qa postfix
$ systemctl enable postfix
$ systemctl start postfix
第三步:【在 system1 和 system2 上】设置邮件服务监听在本地的25端口上,(只接收来自本地发来的邮件,不接收外部发来的邮件)
$ postconf -e "inet_interfaces=loopback-only"
注意:此处是 - 横杠连接符,不是 _ 下划线!
$ postconf -e “mydestination=”
第四步:【在 system1 和 system2 上】重写本地邮件显示的来源域,使得从本地两个虚拟机系统上发送的邮件都显示为“来自于 server.group8.example.com”
$ postconf -e “myorigin=server.group8.example.com”
$ postconf -e "mydomain=server.group8.example.com"
第五步:【在 system1 和 system2 上】设置邮件中继服务器,使得从本地两个虚拟机系统上发送的任何邮件都会自动路由到 mail.group8.example.com
$ postconf -e "relayhost=mail.group8.example.com"
第六步:【在 system1 和 system2 上】立即重启邮件服务,使得上面的配置立即生效
$ systemctl restart postfix
第七步:【在 system1 和 system2 上】发送测试邮件到本地 dave 用户
$ mail -s “Test Mail” dave << EOF
This is a test mail from hostname
EOF
第八步:【在 system1 和 system2 上】通过查看测试邮件来判断本地的邮件服务配置是否成功
curl http://server.group8.example.com/pub/received_mail/8
备注:多试几次该命令,知道可以看到邮件为止
8.通过SMB共享目录
方法:
第一步:解题思路:
隐藏条件:需要自行设置yum仓库配置文件!
立即启动SMB服务并使SMB服务在下一次系统重启后仍然生效
“group8.example.com域”的网段地址是 172.24.8.0/24
在防火墙和服务自身的访问控制的条目配置时,一定要写IP地址!
只允许 172.24.8.0/24 网段内的主机访问 common 共享
本题的所有设置操作必须在 system1 上配置!
(除了配置yum仓库的操作)
第二步:【在 system1 和 system2 上】创建yum仓库配置文件
$ cat > /etc/yum.repos.d/base.repo << EOF
[base]
name=redhat
baseurl=http://server.group8.example.com/yum/
gpgcheck=0
EOF
第三步:【在 system1 和 system2 上】清理yum缓存并重新获取新的metadata
$ { yum clean all; yum repolist; }
第四步:【在 system1 上】安装Samba服务端和Samba客户端,立即启动SMB服务并使SMB服务在下一次系统重启后仍然生效
$ yum install -y samba samba-client && systemctl enable smb nmb && systemctl start smb nmb
第五步:【在 system1 上】创建一个空目录 /common ,并把目录的传统权限设为 777 ,方便作为 Samba 服务的共享目录使用
具体的用户读写权限控制由Samba服务配置文件来设定
mkdir /common && chmod 777 /common/
第六步:【在 system1 上】编辑SMB服务的主配置文件,将Samba服务器的所属组更改为 STAFF 工作组
$ grep workgroup /etc/samba/smb.conf
$ sed -ri ‘s/(workgroup = )MYGROUP/\1STAFF/’ /etc/samba/smb.conf
$ grep workgroup /etc/samba/smb.conf
第七步:【在 system1 上】编辑SMB服务的主配置文件,添加一段共享名为 common 的配置项
注意:只允许 172.24.8.0/24 网段内的主机访问 common 共享
172.24.8.0/24 网段 在此处写作 172.24.8.
$ cat >> /etc/samba/smb.conf << EOF
[common]
# 共享名
comment = hello rhce exam
# 描述
path = /common/
# 共享目录路径
writable = no
# 共享目录设置为不可写(只读)
hosts allow = 172.24.8.
# 允许 group8.example.com 域内的机器访问,强烈建议写成IP地址
# 网段:172.24.8.0/24
# 注意:IP网段比较奇特!
browseable = yes
# 共享目录设置为可浏览
EOF
第八步:【在 system1 上】重启SMB服务
$ systemctl restart smb nmb
第九步:【在 system1 上】在firewalld防火墙服务添加“允许Samba服务通过防火墙”的规则,并重读firewalld服务条目
$ firewall-cmd --permanent --add-service samba && firewall-cmd --reload && firewall-cmd --list-all
第十步:【在 system1 上】设置共享目录的context值
$ semanage fcontext -a -t “samba_share_t” ‘/common(/.*)?’
# 更改共享目录的SELinux默认值,方便使用restore还原context值
# 建议使用这种比较保险的方法!
$ restorecon -Rv /common/
# 还原context值
$ ls -Zd /common/
# 验证context值是否已经设置
第十一步:【在 system1 上】创建用于访问共享的用户,并且设置共享访问密码
$ smbpasswd -a andy
# 注意:此处的密码必须手动键入,无法通过重定向导入!
redhat
redhat
第十二步:【在 system2 上】安装共享服务客户端工具,以方便测试用
$ yum install -y samba-client
第十三步:【在 system2 上】以匿名方式列出共享目录的描述信息
$ smbclient -L //172.24.8.11
# 遇到要输入root访问密码时直接回车,即可以匿名用户访问共享
[Enter]
第十四步:【在 system2 上】以 andy 身份访问共享目录
$ smbclient //172.24.8.11/common/ -U andy
# 遇到要输入andy访问密码,请手动键入redhat
redhat
ls
quit
# 按 Ctrl+d 等效
第十五步:【在 system1 上】验证samba共享服务是否已经配置成功
systemctl is-active smb nmb
systemctl is-enabled smb nmb
9.配置多用户SMB挂载
方法:
第一步:读题
由系统开机自动挂载共享目录
不同用户访问共享目录会有不同的权限
第二步:【在 system1 上】创建共享目录,并且为 akira 用户设置可读写的ACL权限
$ mkdir /devops && setfacl -m u:akira:rwx /devops/
第三步:【在 system1 上】设置共享目录的SELinux context值
semanage fcontext -a -t “samba_share_t” ‘/devops(/.*)?’
# 更改共享目录的SELinux默认值,方便使用restore还原context值
# 建议使用这种比较保险的方法!
restorecon -Rv /devops/
# 还原context值
ls -Zd /devops/
# 验证context值是否已经设置
第四步:【在 system1 上】编辑SMB服务的主配置文件,添加一段共享名为 devops 的配置项
$ cat >> /etc/samba/smb.conf << EOF
[devops]
comment = Magedu devops
# 描述
path = /devops/
# 共享目录
public = yes
# 设置为公开
hosts allow = 172.24.8
# 仅允许 172.24.8.0/24 网段内的主机访问
writable = no
# 拒绝所有用户的写入操作
write list = akira
# 仅允许 akira 用户的写入操作
browseable = yes
# 设置为可浏览
EOF
第五步:【在 system1 上】添加两个共享访问用户,并设置密码
$ smbpasswd -a silene
redhat
# 输入两遍密码
redhat
$ smbpasswd -a akira
redhat
# 输入两遍密码
redhat
设置共享目录的权限
ll -d /devops/
chmod 777 /devops/
setfacl -m u:akira:rwx /devops/
第六步:【在 system1 上】重启smb共享服务
$ systemctl restart smb nmb
测试本地是否可访问
smbclient //172.24.8.11/devops -U silene
第七步:【在 system2 上】以 akira 身份访问共享目录,测试目录是否可读写
在system2上实现共享
smbclient -L //172.24.8.11
测试一下是否可登陆
smbclient //172.24.8.11/devops -U akira
# 遇到要输入访问密码,请手动键入redhat
redhat
put file.txt#上传一个本地文件到/devops
ls
quit
第八步:【在 system2 上】安装微软CIFS协议程序包,使 system2 支持CIFS挂载
$ yum install -y cifs-utils
第九步:【在 system2 上】创建用于挂载的目录
$ mkdir /mnt/dev/
第十步:【在 system2 上】在“文件系统开机自动挂载”配置文件追加一个新项
使用只读用户做自动挂载
ntlmssp 全称: NT LAN Manager (NTLM) Security Support Provider
$ cat >> /etc/fstab << EOF
//172.24.8.11/devops/ /mnt/dev/ cifs defaults,multiuser,username=silene,password=redhat,sec=ntlmssp 0 0
EOF
第十一步:【在 system2 上】使“文件系统开机自动挂载”配置文件中所有的挂载关系立即生效
$ mount -a
第十二步:【在 system2 上】测试 silene 用户对挂载的共享目录是否仅有只读权限
$ su - silene
$ cd /mnt/dev/
$ cifscreds add 172.24.8.11
# 必须先通过服务器的授权验证
# 注意:IP地址不要写错!
redhat
# 手动输入验证密码
$ ls -l
$ touch silenefile
# 没有写权限则配置成功
$ exit
第十三步:【在 system2 上】测试 akira 用户对挂载的共享目录是否具有可读可写权限
$ su - akira
$ cd /mnt/dev/
$ cifscreds add 172.24.8.11
# 必须先通过服务器的授权验证
# 注意:IP地址不要写错!
redhat
# 手动输入验证密码
$ ls -l
$ echo hello > akirafile
# 可以写入文件则配置成功
$ cat akirafile
$ exit
10.配置NFS服务
方法:
第一步:读题
group8.example.com 域的IP地址:172.24.8.0/24
Kerberos安全加密:krb5p
所有操作都在system1上完整
默认都已经安装 nfs-utils 的啦,rpm -qa|grep nfs-utils
第二步:【在 system1 上】编辑NFS主配置文件
grep RPCNFSDARGS /etc/sysconfig/nfs
sed -ri ‘s/(RPCNFSDARGS=).*/\1"-V 4.2"/’ /etc/sysconfig/nfs
# 注意:版本的 V 前面带有一个横杠!!!
# 是 -V 4.2
第三步:【在 system1 上】添加防火墙规则,允许NFS服务的访问
firewall-cmd --permanent --add-service nfs
firewall-cmd --permanent --add-service rpc-bind
firewall-cmd --permanent --add-service mountd
# 注意:服务名mount的守护进程,只带一个d,不带e!
firewall-cmd --reload
firewall-cmd --list-all
第四步:【在 system1 上】创建共享目录,并修改目录的SELinux context值
mkdir -pv /public /protected/project
chown andres /protected/project/
# 必须更改 /protecte/project 的属主为 andres ,否则 andres 用户无法在此目录下创建文件
semanage fcontext -a -t “public_content_t” ‘/public(/.)?’
semanage fcontext -a -t “public_content_t” '/protected(/.)?’
semanage fcontext -a -t “public_content_t” ‘/protected/project(/.*)?’
restorecon -Rv /public/ /protected/ /protected/project/
ls -Zd /public/ /protected/ /protected/project/
第五步:【在 system1 上】下载证书
wget -O /etc/krb5.keytab http://server.group8.example.com/pub/keytabs/system1.keytab
#-O 指明下载到哪里
ls -l /etc/krb5.keytab
第六步:【在 system1 上】编辑NFS服务的配置文件
cat >> /etc/exports << EOF
/public/ *.group8.example.com(ro,sec=sys,sync)
/protected/ *.group8.example.com(rw,sec=krb5p,sync)
EOF
第七步:【在 system1 上】启动NFS服务,并设置开机自启动
systemctl start nfs-server nfs-secure-server
systemctl enable nfs-server nfs-secure-server
第八步:【在 system1 上】刷新共享目录信息
exportfs -ra
exportfs
第九步:【在 system1 上】手动同步时间两次!
ntpdate server.group8.example.com
ntpdate server.group8.example.com
11.挂载一个NFS共享
方法:
第一步:读题
第二步:【在 system2 上】手动同步时间两次!
ntpdate server.group8.example.com
ntpdate server.group8.example.com
第三步:【在 system2 上】
mkdir -pv /mnt/nfs{mount,secure}
第四步:【在 system2 上】下载证书
wget -O /etc/krb5.keytab http://server.group8.example.com/pub/keytabs/system2.keytab
ls -l /etc/krb5.keytab
第五步:【在 system2 上】
cat >> /etc/fstab << EOF
172.24.8.11:/public/ /mnt/nfsmount/ nfs defaults 0 0
172.24.8.11:/protected/ /mnt/nfssecure/ nfs defaults,sec=krb5p,v4.2 0 0
EOF
第六步:【在 system2 上】
systemctl enable nfs-secure
systemctl start nfs-secure
第七步:【在 system2 上】
mount -a
df -h
第八步:【在 system2 上】验证写入操作,看andres用户能否写入文件
su - andres
kinit
# 获取票
redhat
# 输入验证密码
klist
# 查看获取到的票
cd /mnt/nfssecure/project/
touch hello
ls -l
exit
12.实现一个web服务器
方法:
第一步:读题
第二步:【在 system1 上】
yum install -y httpd
systemctl enable httpd
systemctl start httpd
第三步:【在 system1 上】
cat >> /etc/httpd/conf.d/httpd-vhosts.conf << EOF
<VirtualHost *:80>
DocumentRoot "/var/www/html/"
ServerName system1.group8.example.com
<Directory "/var/www/html/">
<RequireAll>
Require all granted
Require not host .my133.org
# 注意:此行的 not host 与 .my133.org 之间至少有一个空格
</RequireAll>
</Directory>
</VirtualHost>
EOF
第四步:【在 system1 上】
wget -O /var/www/html/index.html http://server.group8.example.com/pub/system1.html
ls -Z /var/www/html/index.html
# 查看SELinux的context值是否为 httpd_sys_content_t
第五步:【在 system1 上】重启服务
systemctl restart httpd
ss -ntlp | grep :80
第六步:【在 system1 上】添加防火墙规则,允许http服务访问
firewall-cmd --permanent --add-service http
firewall-cmd --reload
firewall-cmd --list-all
第七步:【在 system2 上】测试网页访问
curl system1.group8.example.com
13.配置安全web服务
方法:
第一步:读题
第二步:【在 system1 上】
yum install -y httpd
systemctl enable httpd
systemctl start httpd
第三步:【在 system1 上】
cat >> /etc/httpd/conf.d/httpd-vhosts.conf << EOF
<VirtualHost *:80>
DocumentRoot “/var/www/html/”
ServerName system1.group8.example.com
<Directory “/var/www/html/”>
Require all granted
Require not host .my133.org
# 注意:此行的 not host 与 .my133.org 之间至少有一个空格
EOF
第四步:【在 system1 上】
wget -O /var/www/html/index.html http://server.group8.example.com/pub/system1.html
ls -Z /var/www/html/index.html
# 查看SELinux的context值是否为 httpd_sys_content_t
第五步:【在 system1 上】重启服务
systemctl restart httpd
ss -ntlp | grep :80
第六步:【在 system1 上】添加防火墙规则,允许http服务访问
firewall-cmd --permanent --add-service http
firewall-cmd --reload
firewall-cmd --list-all
第七步:【在 system2 上】测试网页访问
curl system1.group8.example.com
薄荷森林(806596491) 23:26:06
第一步:读题
第二步:【在 system1 上】
yum install -y mod_ssl
第三步:【在 system1 上】
cat >> /etc/httpd/conf.d/httpd-vhosts.conf << EOF
<VirtualHost *:443>
DocumentRoot “/var/www/html”
ServerName system1.group8.example.com
<Directory “/var/www/html/”>
Require all granted
Require not host .my133.org
SSLEngine on
SSLProtocol all -SSLv2 -SSLv3
SSLCertificateFile /etc/pki/tls/certs/system1.crt
SSLCertificateKeyFile /etc/pki/tls/private/system1.key
SSLCACertificateFile /etc/pki/tls/certs/ssl-ca.crt
EOF
第四步:【在 system1 上】下载证书
wget -O /etc/pki/tls/certs/system1.crt http://server.group8.example.com/pub/tls/certs/system1.crt
wget -O /etc/pki/tls/private/system1.key http://server.group8.example.com/pub/tls/private/system1.key
wget -O /etc/pki/tls/certs/ssl-ca.crt http://server.group8.example.com/pub/tls/certs/ssl-ca.crt
ls -l /etc/pki/tls/certs/ssl-ca.crt /etc/pki/tls/private/system1.key /etc/pki/tls/certs/ssl-ca.crt
第五题:【在 system1 上】添加防火墙规则,允许https访问
firewall-cmd --permanent --add-service https
firewall-cmd --reload
firewall-cmd --list-all
第六步:【在 system1 上】重启Apache服务
systemctl restart httpd
第七步:【在 system2 上】测试https网页访问
curl -k https://system1.group8.example.com
14.配置虚拟主机
方法:
第一步:读题
第二步:【在 system1 上】
mkdir /var/www/virtual && cd /var/www/virtual/
wget -O /var/www/virtual/index.html http://server.group8.example.com/pub/www8.html
ls -Z
第三步:【在 system1 上】
setfacl -m u:andy:rwx /var/www/virtual/
第四步:【在 system1 上】
cd /etc/httpd/conf.d/
cat >> httpd-vhosts.conf << EOF
<VirtualHost *:80>
DocumentRoot “/var/www/virtual”
ServerName www8.group8.example.com
<Directory “/var/www/virtual/”>
Require all granted
EOF
第五步:【在 system1 上】
systemctl restart httpd
第六步:【在 system2 上】测试网站是否可被访问,必须保证前面两个网站依然能被正常访问!
curl system1.group8.example.com #确保原来的依然能访问
curl -k https://system1.group8.example.com
curl www8.group8.example.com
15.配置web内容的访问
方法:
第一步:读题
第二步:【在 system1 上】
mkdir /var/www/{html,virtual}/private
wget -O /var/www/html/private/index.html http://server.group8.example.com/pub/private.html
wget -O /var/www/virtual/private/index.html http://server.group8.example.com/pub/private.html
ls -Z /var/www/{html,virtual}/private/index.html
第三步:【在 system1 上】
cd /etc/httpd/conf.d/
cat > httpd-vhosts.conf << EOF
<VirtualHost *:80>
DocumentRoot “/var/www/html”
ServerName system1.group8.example.com
<Directory “/var/www/html”>
Require all granted
Require not host .my133t.org
#add
<Directory “/var/www/html/private”>
Require local
第四步:【在 system1 上】重启Apache服务
systemctl restart httpd
第五步:【在 system1 上】在本地访问测试
curl http://system1.group8.example.com/private/
curl http://www8.group8.example.com/private/
第六步:【在 system2 上】在非本地访问测试
curl http://system1.group8.example.com/private/
curl http://www8.group8.example.com/private/
16.实现动态web内容
方法:
第一步:读题
第二步:【在 system1 上】
cd /etc/httpd/conf.d/
cat >> httpd-vhosts.conf << EOF
Listen 8909
<VirtualHost *:8909>
ServerName wsgi.group8.example.com
WSGIScriptAlias / /var/www/html/webinfo.wsgi
EOF
第三步:【在 system1 上】下载WSGI脚本文件到站点根目录下
wget -O /var/www/html/webinfo.wsgi http://server.group8.example.com/pub/webinfo.wsgi
第四步:【在 system1 上】安装WSGI模块
yum install -y mod_wsgi
第五步:【在 system1 上】添加防火墙规则,允许TCP 8909端口的访问
firewall-cmd --permanent --add-rich-rule ‘rule family=ipv4 port port=8909 protocol=tcp accept’
firewall-cmd --reload
第六步:【在 system1 上】在SELinux上允许TCP 8909端口的访问
semanage port -a -t http_port_t -p tcp 8909
第七步:【在 system1 上】重启Apache服务
systemctl restart httpd
第八步:【在 system2 上】测试WSGI脚本的访问
curl http://wsgi.group8.example.com:8909
17.创建一个脚本
方法1:
#!/bin/bash
case $1 in
redhat)echo “fedora”;;
fedora)echo “redhat”;;
*)echo “/root/foo.sh redhat | fedora” ;;
esac
#注意:redhat | fedora 之间要留有空格
方法2:
#!/bin/bash
if [ “$1” = “redhat” ];then
echo “fedora”
elif [ “$1” = “fedora” ];then
echo “redhat”
else
echo “/root/foo.sh redhat | fedora”
fi
18.创建一个添加用户的脚本
方法:
vi batchusers
#!/bin/bash
if [ $# -eq 1 ];then
if [ -f $1 ];then
for USER in $(cat $1)
do
useradd -s /bin/false $USER
done
else
echo “Input file not found”
exit 1
fi
else
echo “Usage: /root/batchusers userfile”
exit 1
fi
chmod +x batchusers
./batchusers userlist
./batchusers xxxx #提示Input file not found
./batchusers #提示Usage: /root/batchusers userfile
19.配置ISCISI服务端
方法:
第一步:【在system1】安装软件并设置防火墙
[root@system1 ~]# yum install /usr/sbin/iscsiadm -y
[root@system1 ~]# yum install targetcli -y
[root@system1 ~]# systemctl enable iscsid.service target
配置防火墙规则
考试时:172.24.8.12/24 改成172.24.8.12/32
[root@system1 ~]# firewall-cmd --permanent --add-rich-rule ‘rule family=“ipv4” source address=“172.24.8.12/24” port port=“3260” protocol=“tcp” accept’
[root@system1 ~]# firewall-cmd --reload
第二部:【在system1】磁盘分区并创建逻辑卷
[root@system1 ~]# fdisk /dev/sda
n–>p选择主分区–>Enter回车–>Enter回车–>+3G–>p查看–>t选择格式–>8e -->wq
partprobe #通知系统分区表的变化
[root@system1 ~]# pvcreate /dev/sda3
[root@system1 ~]# vgcreate iscsi_vg /dev/sda3
[root@system1 ~]# lvcreate iscsi_vg -n iscsi_store -l 100%FREE
第三步:【在system1】配置ISCSI
targetcli
/backstores/block create dev=/dev/mapper/iscsi_vg-iscsi_store name=iscsi_store
Created block storage object iscsi_store using /dev/mapper/iscsi_vg-iscsi_store.
/iscsi create wwn=iqn.2014-08.com.example.group8:system1
/iscsi create wwn=iqn.2014-08.com.example:system1 #模拟环境检测答案
/iscsi delete wwn=iqn.2014-08.com.example.group8:system1 #如果创建错误,则删除
Created target iqn.2014-08.com.example.group8:system1.
Created TPG 1.
Global pref auto_add_default_portal=true
Created default portal listening on all IPs (0.0.0.0), port 3260.
/iscsi/ iqn.2014-08.com.example.group8:system1/tpg1/acls create wwn=iqn.2014-08.com.example.group8:system2
#/iscsi/ iqn.2014-08.com.example.group8:system1/tpg1/acls create wwn=iqn.2014-08.com.example:system2 #模拟环境检测答案
Created Node ACL for
iqn.2014-08.com.example.group8:system2
/iscsi/ iqn.2014-08.com.example.group8:system1/tpg1/luns create /backstores/block/iscsi_store
#/iscsi/ iqn.2014-08.com.example:system1/tpg1/luns create /backstores/block/iscsi_store #模拟环境检测答案
Created LUN 0.
Created LUN 0->0 mapping in node ACL
iqn.2014-08.com.example.group8:system2
exit
20.配置ISCISI客户端
方法:
第一步【在system2上面】安装iscsiadm
yum -y install /usr/sbin/iscsiadm
systemctl enable iscsid
systemctl start iscsid
第二步【在system2上面】 配置ISCSI
vim /etc/iscsi/initiatorname.iscsi
InitiatorName=iqn.2014-08.com.example:system2
参考man iscsiadm
iscsiadm --mode discoverydb --type sendtargets --portal 172.24.8.11 --discover 172.24.8.11:3260,1 iqn.2014-08.com.example:system1
fg
参考man iscsiadm
iscsiadm --mode node --targetname iqn.2014-08.com.example:system1 --portal 172.24.8.11:3260 --login
Logging in to [iface: default, target: iqn.2014-08.com.example:system1, portal: 172.24.8.11,3260] (multiple)
Login to [iface: default, target: iqn.2014-08.com.example:system1, portal: 172.24.8.11,3260] successful.
第二步【在system2上面】分区并格式化和挂载
fdisk /dev/sdb
n–>p–>Enter回车–>Enter回车–>+2100M–>wq
partprobe
mkfs.ext4 /dev/sdb1
mkdir /mnt/data
vim /etc/fstab
/dev/sdb1 /mnt/data ext4 defaults,_netdev 0 0
mount -a
21.配置一个数据库
方法:
第一步:下载数据库,设置服务重启
wget http://server.group8.example.com/pub/users.mdb
安装数据包
yum -y install mariadb*
yum groupinstall mariadb
重启一下服务
systemctl enable mariadb
systemctl start mariadb
设置防火墙
firewall-cmd --permanent -add-service=mysql
firewall-cmd --reload
第二步:【在 system1 上】进行MaiaDB数据库的初始化设置
mysql_secure_installation #做一些初始化
# 当前root用户密码为空,按回车输入当前的“空密码”
• y
# 确认要设置root密码
• redhat
# 输入两遍root密码
• redhat
# 输入两遍root密码
• y
# 删除匿名用户
• [Enter]
# 令其默认不允许root远程登录
• [Enter]
# 删除测试数据库 test
• [Enter]
第三步:【在 system1 上】导入数据库,并设置权限
#删除不必要用户和test库
select host,user from mysql.user;
delete from mysql.user where host<>"localhost";
delete from mysql.user where user="";
drop database test;
#创建数据库并导入数据
create database Contacts;
use Contacts;
source /root/users.mdb;
#创建用户并授权
create user Mary@localhost identified by ‘redhat’;
grant select on Contacts.* to Mary@localhost;
grant all privileges on . to root@localhost identified by ‘redhat’;
flush privileges;
22.数据库查询
方法:
mysql -u root -p
redhat
use Contacts
select u_name.firstname,u_name.lastname from u_name,u_passwd where u_passwd.password=“fadora” and u_passwd.uid=u_name.userid;
select count(*) from u_name,u_loc where u_name.firstname=‘John’ and u_loc.location=‘Santa Clara’ and u_name.userid=u_loc.uid;
#将结果提交到考试系统文本框 内。
做完RHCE练习后,你是不是也觉得非常简单基础的知识呢,考不考认证在于个人噢