rhce

作者: 断水流大师兄vs魔鬼筋肉人 | 来源:发表于2018-07-04 11:05 被阅读0次

模拟环境:server0、desktop0
root密码:redhat
example.com: 172.25.0.0/24
cracker.com: 172.24.3.0/24
YUM: http://content.example.com/rhel7.0/x86_64/dvd
======================================================

# lab nfskrb5 setup            //仅模拟环境
rht-vmctl fullreset                重启环境

隐藏操作:

  1. 配置server0和desktop0 YUM
vim  /etc/yum.repos.d/yum.repo
[yum]
name = yum
baseurl = http://content.example.com/rhel7.0/x86_64/dvd
gpgcheck = 0

两台都做server0 和 desktop0

  1. 配置SELinux环境,将SELinux设为enforcing模式
vim /etc/selinux/config
image.png

修改为:enforcing
测:getenforce


image.png

两台都做server0 和 desktop0
===============================================

  1. 配置server0和desktop0上的访问控制,拒绝cracker.com域中的主机访问SSH
firewall-config

如果远程有问题就——直接用本机


image.png

测:


image.png

两台都做

  1. server0和desktop0针对所有用户创建自定义命令psnew,执行该命令是将执行ps -Ao user,pid,ppid,command
vim /etc/profile
底部添加:
alias psnew='ps -Ao user,pid,ppid,command'

测:exit 重连接后 # psnew

两台做

  1. 配置server0服务器SMB,工作组为STAFF,共享目录/smb1, 共享名smb1,只有example.com域中主机访问
    共享smb1,smb1必须可浏览;用户ldapuser1必须能够读取共享中的内容,密码tianyun。
yum -y install samba samba-client cifs-utils
mkdir /smb1                                                          创建目录
chcon -R -t samba_share_t /smb1                                       给权限
smbpasswd -a ldapuser1                                                配置samba密码
vim /etc/samba/smb.conf                                   配置samba                                         

查找: workgroup 改写工作组


image.png

最后一行添加配置


image.png
systemctl restart nmb smb     重启服务
systemctl enable nmb smb      开机自启
firewall-cmd --permanent --add-service=samba       防火墙——开门
firewall-cmd --reload                 重启防火墙

=====================================================

  1. 配置server0服务器samba,共享目录/smb2,共享名smb2,只有example.com域中主机访问。用户ldapuser1读取, ldapuser2读写,密码都为tianyun;desktop0以multiuser方式自动挂接到/mnt/smb2

server0服务器

smbpasswd -a ldapuser2              添加密码:tianyun
mkdir /smb2
chcon -R -t samba_share_t /smb2                 权限
 查看
[root@server0 ~]# ll -dZ /smb2                      
drwxr-xr-x. root root unconfined_u:object_r:samba_share_t:s0 /smb2

setfacl -m u:ldapuser2:rwx /smb2                   权限
vim /etc/samba/smb.conf                                配置
[smb2]
path= /smb2
hosts allow= 172.25.0.
valid users= ldapuser1,ldapuser2
write list= ldapuser2
systemctl restart nmb smb
systemctl enable nmb smb
image.png

desktop0

yum -y install samba-client cifs-utils
mkdir /mnt/smb2
vim /etc/fstab 
//server0/smb2     /mnt/smb2    cifs    defaults,user=ldapuser1,pass=tianyun,multiuser  0 0

image.png
mount -a
测: df -Th  

======================================================

  1. 配置server0 NFS服务
    以只读的方式共享目录/nfs1,只能被example.com域中主机访问;
    以读写的方式共享目录/nfs2,能被example.com域中主机访问
    访问/nfs2需要Kerberos安全加密,密钥为 http://classroom.example.com/pub/keytabs/server0.keytab
    目录/nfs2应包含名为private拥有者为ldapuser5的子目录,用户ldapuser5能以读写的方式访问/nfs2/private

server0

yum  -y install nfs-utils
mkdir  /nfs1
mkdir -pv /nfs2/private
chown ldapuser5  /nfs2/private

vim /etc/exports
/nfs1   172.25.0.0/24(ro,sync)

systemctl restart nfs-server
 systemctl enable nfs-server
firewall-cmd --permanent --add-service=nfs
firewall-cmd --reload

=============================================

desktop0

yum -y install nfs-utils
mkdir /mnt/nfs1

vim /etc/fstab 

server0:nfs1  /mnt/nfs1    nfs      defaults  0  0 
mount -a

测:df -Th

  1. 配置desktop0挂载NFS
    /nfs1挂载到/mnt/nfs1
    /nfs2挂载到/mnt/nfssecure,并使用安全的方式,密钥为:
    http://classroom.example.com/pub/keytabs/desktop0.keytab
    ldapuser5用户能在/mnt/nfssecure/private上创建文件

server0中操作

wget http://classroom.example.com/pub/keytabs/server0.keytab -O /etc/krb5.keytab
vim /etc/exports                         添加
/nfs2     172.25.0.0/24(rw,sync,sec=krb5p)
image.png
vim /etc/sysconfig/nfs            第二行  添加   -V 4.2
image.png
systemctl restart nfs-secure-server               重点
systemctl enable nfs-secure-server
systemctl restart nfs-server
systemctl enable nfs-server

desktop

wget http://classroom.example.com/pub/keytabs/desktop0.keytab -O /etc/krb5.keytab 

mkdir /mnt/nfssecure
vim /etc/fstab                               添加
server0:/nfs2    /mnt/nfssecure nfs     defaults,v4.2,sec=krb5p  0 0
image.png
systemctl restart nfs-secure                       注意服务名·
systemctl enable nfs-secure
mount -a

===============================================
模拟准备——考试不用

virt-manager 密码:yangge

server0与desktop 手动添加两个网卡


image.png
image.png

===============================================

 nm-connection-editor
===>Team
唯一添加:{"runner":{"name":"activebackup"}}
image.png
image.png
image.png
 nmcli connection up "System eth0"

两台做

  1. 配置server0端口转发,从172.25.10.0/24网段访问server0端口6666/tcp时,转发到80/tcp
firewall-config
image.png
  1. 配置server0和desktop0上的IPv6,使用接口eth0,相互可以ping通,原IPv4仍然有效。
nm-connection-editor
nmcli connection up "System eth0"           重启

server0: 2012:ac18::1205/64
desktop0: 2012:ac18::120a/64


image.png
image.png

测: ip a

desktop同上 2012:ac18::120a/64

  1. 配置server0和desktop0邮件服务
    server0和desktop0不接收外部邮件
    本地发送的邮件会路由到 smtp.example.com
    本地发送的邮件显示来自 example.com
    可以通过发送邮件到本地用户ldapuser0来测试配置,可通过http://smtp.example.com/received_mail/0查看

server0

查:rpm -q postfix 没有安装

vim /etc/postfix/main.cf
image.png

最后找到该路径 : 添加 STAND ( stand ) Tab

vim /usr/share/doc/postfix2.10.1/README_FILES/STANDARD_CONFIGURATION_README

找 /null client


image.png

复制模板 + /error


image.png
结果
myhostname = server0.example.com
myorigin = example.com
relayhost = [smtp.example.com]
inet_interfaces = loopback-only
mydestination =
local_transport = error:local mail delivery is disabled
image.png
systemctl restart postfix
systemctl enable postfix

dosktop0

vim /etc/postfix/main.cf                     复制server0
systemctl restart postfix
systemctl enable postfix
image.png
  1. 配置server0 ISCSI 服务端
    提供iscsi磁盘名为 iqn.2017-04.com.tianyun:server0
    使用iscsi_store作为其后端卷,其大小为2G
    此服务只能被desktop0.example.com访问
    提供服务的端口为3260
fdisk /dev/vdb          +2G  w保存
partprobe /dev/vdb             更新

ll /dev/vdb* 查询


yum -y install targetcli
 systemctl restart target
 systemctl enable target
targetcli                         进入
backstores/block create iscsi_store  /dev/vdb1
/iscsi create iqn.2017-04.com.tianyun:server0
iscsi/iqn.2017-04.com.tianyun:server0/tpg1/acls create iqn.2017-04.com.tianyun:desktop0
iscsi/iqn.2017-04.com.tianyun:server0/tpg1/luns create /backstores/block/iscsi_store 
iscsi/iqn.2017-04.com.tianyun:server0/tpg1/portals create 172.25.0.11 3206
cd
 saveconfig
exit
 做错了:/> clearconfig
              /> clearconfig  confirm=True            删除重做
image.png
firewall-config          防火墙必须 ——立即生效,不然检测不出
image.png
  1. 配置desktop0 ISCSI 客户端
    自动连接 iqn.2017-04.com.tianyun:server0
    创建大小为500M的分区,格式化为 ext4文件系统,自动挂载到/mnt/iscsidisk
 yum -y install iscsi*

vim /etc/iscsi/initiatorname.iscsi
复制添加
systemctl restart iscsid.service                注意 iscsi——d
systemctl enable iscsid.service

通过:man iscsiadm
找 EXAMPLE (example)

image.png
systemctl restart iscsi           不启动 不能创磁盘
systemctl enable iscsi     
fdisk /dev/sda
partprobe /dev/sda
ll  /dev/sad*
mkfs.ext4    /dev/sda1
mkdir   /mnt/iscsidisk
blkid          复制UUID
UUID="eb82dbd1-8490-4c5f-a8d5-6ec29134259e"
vim   /etc/fstab
UUID="  ——  "     /mnt/iscsidisk    ext4   defualts,_netdev 0 0
mount -a
  1. 配置server0 web服务,http://www0.example.com
    网页:http://classroom.example.com/content/exam/webs/www.html,命名index.html,勿修改内容
    将index.html拷贝到 DocumentRoot 目录下;
    来自example.com域的客户端可以访问web服务;
    来自cracker.com域的客户端拒绝访问web服务。
yum -y install httpd mod_ssl mod_wsgi
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --reload 
wget http://classroom.example.com/content/exam/webs/www.html -O /var/www/html/index.html
vim vim /etc/httpd/conf.d/www0.example.com.conf     创建网页(网页名)
image.png
<virtualHost *:80>
  servername www0.example.com
  documentroot  /var/www/html
</virtualhost>

<directory "/var/www/html">
  <requireall>
     require all granted
     require not ip 172.24.3.0/24
  </requireall>
</directory>  
可不管大小写        systemctl  restart httpd    重启   enable  

测:desktop0
firefox &


image.png
  1. 配置server0 安全的web服务网站https://www0.example.com 启用TLS加密。
    已签名证书 http://classroom/pub/tls/certs/www0.crt
    此证书的密钥 http://classroom/pub/tls/private/www0.key
    此证书的授权信息从http://classroom/pub/example-ca.crt获取
在/etc/httpd/conf.d   的目录文件下
vim   www0.example.com              改写配置
重开1台   server0
vim /etc/httpd/conf.d/ssl.conf       找配置
image.png
vim www0.example.com            添加配置
<virtualHost *:443>
  servername www0.example.com
  documentroot  /var/www/html

  SSLEngine on
  SSLCertificateFile       /etc/httpd/www0.crt
  SSLCertificateKeyFile    /etc/httpd/www0.key

</virtualhost>
image.png
cd /etc/httpd
wget http://classroom/pub/tls/certs/www0.crt
wget http://classroom/pub/tls/private/www0.key

systemctl restart httpd

测:ss -tnlp |egrep '80|443'


image.png
  1. 配置server0 虚拟主机,http://server0.example.com
    DocumentRoot 为 /var/www/virtual
    网页:http://classroom.example.com/content/exam/webs/server.html,命名index.html,勿修改内容
    将index.html拷贝到虚拟机 DocumentRoot 目录下;
    确保ldapuser5用户能够在 /var/www/virtual下创建文件;
    原始网站 http://www0.example.com 必须仍能访问
mkdir  /var/www/virtual
wget  http://classroom.example.com/content/exam/webs/server.html  -O   /var/www/virtual/index.html
setfacl -m u:ldapuser5:rwx    /var/www/virtual

在 /etc/httpd/conf.d/ 目录的前提下
cp www0.example.com.conf server0.example.com.conf 辅助改配置

<virtualHost *:80>
  servername server0.example.com
  documentroot  /var/www/virtual
</virtualhost>

<directory "/var/www/virtual">
     require all granted
</directory>
systemctl restart httpd
image.png

测:desktop
firefox &


image.png
  1. 配置server0 web内容访问
    在server0的 web服务器的DocumentRoot目录下创建目录private
    网页:http://classroom.example.com/content/exam/webs/private.html,命名为index.html,勿修改内容
    从server0 任何人可以浏览private的内容,但从其它系统不能访问该目录的内容。
mkdir /var/www/virtual/private
wget http://classroom.example.com/content/exam/webs/private.html -O /var/www/virtual/private/index.html
vim server0.example.com.conf          添加配置 

<directory "/var/www/virtual/private">
   require local
</directory>

systemctl restart httpd     重启

image.png

测:


image.png
  1. 配置server0 实现动态web内容
    动态内容由 webapp0.example.com 虚拟主机提供
    虚拟机监听端口为 8888/tcp
    Python application
    http://classroom.example.com/content/exam/webs/webapp.wsgi
    放置在适当的位置,勿修改脚本中的内容客户端访问http://webapp0.example.com:8888时能接收到动态内容
yum -y install mod_wsgi
 mkdir /var/www/webapp0
wget http://classroom.example.com/content/exam/webs/webapp.wsgi -O /var/www/webapp0/webapp.wsgi

 cp server0.example.com.conf webapp0.example.com.conf      复制改配置
listen 8888
<virtualHost *:8888>
  servername webapp0.example.com
  wsgiscriptalias  /  /var/www/webapp0/webapp.wsgi
</virtualhost>

<directory "/var/www/webapp0">
     require all granted
</directory>
此时httpd重启不了    端口问题   需要授权
image.png
重启报错后 ——journalctl -xn
semanage port -a -t http_port_t -p tcp 8888    给端口开放
firewall-cmd --permanent --add-port=8888/tcp
firewall-cmd --reload
systemctl restart httpd

测:desktop
firefox &

  1. 配置server0 Shell script,/root/script1.sh。
    执行/root/script1.sh foo,输出bar
    执行/root/script1.sh bar 输出foo
    没有任何参数时,输出 Usage /root/script1.sh bar|foo
vim   /root/script1.sh

#!/usr/bin/bash
case "$1" in
foo)
     echo "bar" ;;
bar)
     echo "foo" ;;
*)
     echo "Usage /root/script1.sh bar|foo"
esac

语法检测+给权限

bash -n /root/script1.sh
chmod +x /root/script1.sh 


image.png
  1. 配置server0 添加用户脚本: /root/batchusers
    脚本要求提供一个参数,此参数就是包含用户名列表的文件;
    如果没有参数,应给出提示 Usage: /root/batchusers userfile 然后退出返回相应的值;
    如果提供一个不存在的文件名,应给出提示消息 Input file not found 然后退出返回相应的值;
    设置/bin/false为添加用户默认shell。
 vim /root/batchusers

#!/usr/bin/bash
if  [ $# -eq 0 ];then
      echo "Usage: /root/batchusers userfile"
      exit 1
fi

if  [ ! -f "$1" ];then
      echo "Input file not found"
      exit 2
fi

for user in `cat $1`
do
      id $user &>/dev/null
      if [ $? -eq 0 ];then
           echo "user $user already exits"
      else
           useradd $user -s /bin/false
           echo "user $user is created."
      fi
done

给权限: chmod a+x /root/batchusers
测:


image.png
  1. 配置server0 Mariadb数据库
  1. 安装Mariadb
  2. 配置root户只能从本地登录,密码为tianyun
  3. 禁用匿名用户访问
  4. 创建数据库Concats
  5. 导入数据到Concats, http://classroom.example.com/content/exam/mariadb/mariadb.dump
  6. 授权Luigi用户可以从本地以select方式访问数据库Concats中的表,密码tianyun。
  7. 按要求实现单表查询,提交结果
  8. 按要求实现多表查询,提交结果
yum -y install mariadb mariadb-server
systemctl restart mariadb
systemctl enable mariadb
firewall-cmd --permanent --add-service=mysql      防火墙开门
firewall-cmd --reload 
mysql_secure_installation           建立密码:tianyun
mysql -uroot -ptianyun
create database Concats;    建立表
show databases;    查
image.png
exit           退出
wget   http://classroom.example.com/content/exam/mariadb/mariadb.dump
mysql -uroot -ptianyun Concats < mariadb.dump 
mysql -uroot -ptianyun Concats    直接进入表Concats
show tables;         查看3张表
image.png

help grant; 找命令

 GRANT ALL ON Concats.* TO 'Luigi'@'localhost' IDENTIFIED BY 'tianyun';       给用户密码
flush privileges;     更新

单表查询:
show tables;


image.png

select *from product;

查看信息
select *from product where price>210 按要求单个表格找内容
image.png
多表查询: image.png image.png image.png

相关文章

网友评论

      本文标题:rhce

      本文链接:https://www.haomeiwen.com/subject/rqfdyftx.html