第2次作业
准备:
需要先安装nginx工具并启动:
-
[root@server ~]# yum install nginx -y
-
[root@server ~]# systemctl start nginx
关闭防火墙和selinux防火墙(子防火墙)以便对编辑的网站进行访问:
-
[root@server ~]# systemctl stop firewalld
-
[root@server ~]# setenforce 0
需求一
基于域名[www.openlab.com](http://www.openlab.com)可以访问网站内容为 welcome to openlab!!!
添加子配置文件进行编辑:
[root@server ~]# vim /etc/nginx/conf.d/test.conf
-
server {
-
listen 192.168.91.129:80;
-
root /www/home;
-
server_name www.openlab.com;
-
location / {
-
index index.html;
-
}
-
}
创建/www/home/index.html文件并写入内容:
-
[root@server ~]# mkdir /www/home -pv
-
mkdir: 已创建目录 '/www'
-
mkdir: 已创建目录 '/www/home'
-
[root@server ~]# echo welcome to openlab! ! ! > /www/home/index.html
因为我们没有在正规的dns服务器中添加过该域名信息,所以无法直接访问。可以在Windows主机的C:\Windows\System32\drivers\etc文件下的一个叫做 hosts的文件中手动添加一个域名信息,我们也直接使用Linux主机进行访问。Linux主机可以在/etc/hosts这个文件里进行写入:
192.168.91.129 www.openlab.com
完成后重启nginx服务即可进行访问:
-
[root@server ~]# systemctl restart nginx
-
[root@server ~]# curl www.openlab.com
-
welcome to openlab! ! !
需求二
给该公司创建三个子界面分别显示学生信息,教学资料和缴费网站,基于[www.openlab.com/student](http://www.openlab.com/student) 网站访问学生信息,[www.openlab.com/data](http://www.openlab.com/data)网站访问教学资料,
[www.openlab.com/money](http://www.openlab.com/money)网站访问缴费网站。
打开并配置配置文件:
-
server {
-
listen 192.168.91.129:80;
-
root /www/home;
-
server_name www.openlab.com;
-
location / {
-
index index.html;
-
}
-
location /student {
-
alias /www/student;
-
}
-
location /data {
-
alias /www/data;
-
}
-
location /money {
-
alias /www/money;
-
}
-
}
创建文件并写入信息:
-
[root@server ~]# mkdir /www/{student,data,money} -pv
-
mkdir: 已创建目录 '/www/student'
-
mkdir: 已创建目录 '/www/data'
-
mkdir: 已创建目录 '/www/money'
-
[root@server ~]# echo student! ! ! > /www/student/index.html
-
[root@server ~]# echo data! ! ! > /www/data/index.html
-
[root@server ~]# echo money! ! ! > /www/money/index.html
重启服务:
[root@server ~]# systemctl restart nginx
访问:
需求三
(1)学生信息网站只有song和tian两人可以访问,其他用户不能访问。
(2)访问缴费网站实现数据加密基于https访问。
用户加密:
安装用户管理工具:
[root@server ~]# yum install httpd-tools -y
编配置信息:
-
server {
-
listen 192.168.91.129:80;
-
root /www/home;
-
server_name www.openlab.com;
-
location / {
-
index index.html;
-
}
-
location /student {
-
alias /www/student;
-
auth_basic on;
-
auth_basic_user_file /etc/nginx/users;
-
}
-
location /data {
-
alias /www/data;
-
}
-
location /money {
-
alias /www/money;
-
}
-
}
/etc/nginx/users文件用于储存允许访问用户的信息。
添加用户(这一步需要用到用户管理工具):
-
[root@server ~]# htpasswd -c /etc/nginx/users song
-
New password:
-
Re-type new password:
-
Adding password for user song
-
[root@server ~]# htpasswd /etc/nginx/users tian
-
New password:
-
Re-type new password:
-
Adding password for user tian
重启服务:
[root@server ~]# systemctl restart nginx
访问:
输入设置账号和密码正常访问:
数据加密:
生成密钥(私钥):
[root@server ~]# openssl genrsa -out /etc/pki/tls/private/openlab.key
/etc/pki/tls/private/openlab.key用于存储私钥。
基于私钥提取公钥:
[root@server ~]# openssl req -utf8 -new -key /etc/pki/tls/private/openlab.key -x509 -days 365 -out /etc/pki/tls/certs/openlab.crt
/etc/pki/tls/certs/openlab.crt用于存储公钥。
在输入基本信息后即注册成功
配置信息:
-
server {
-
listen 192.168.91.129:80;
-
root /www/home;
-
server_name www.openlab.com;
-
location / {
-
index index.html;
-
}
-
location /student {
-
alias /www/student;
-
auth_basic on;
-
auth_basic_user_file /etc/nginx/users;
-
}
-
location /data {
-
alias /www/data;
-
}
-
}
-
server {
-
listen 192.168.91.129:443 ssl;
-
root /www/home;
-
ssl_certificate /etc/pki/tls/certs/openlab.crt;
-
ssl_certificate_key /etc/pki/tls/private/openlab.key;
-
location /money {
-
alias /www/money;
-
}
-
}
重启服务:
[root@server ~]# systemctl restart nginx
访问:
第3次作业
准备:
安装需要的软件(服务端和客户端都需要安装):
[root@server ~]# yum install rpcbind -y
[root@server ~]# yum install nfs-utils -y
关闭防火墙以及selinux:
-
[root@server ~]# systemctl stop firewalld
-
[root@server ~]# setenforce 0
启动程序:
-
[root@server ~]# systemctl start rpcbind
-
[root@server ~]# systemctl start nfs-server
因为nfs服务需要rpc服务为其确定端口号,所以我们先启动rpc服务。
需求一:
开放/nfs/shared目录,供所有用户查询资料
先创建该目录文件:
-
[root@server ~]# mkdir /nfs/shared -pv
-
mkdir: 已创建目录 '/nfs'
-
mkdir: 已创建目录 '/nfs/shared'
配置nfs服务文件:
[root@server ~]# vim /etc/exports
/nfs/shared *(ro)
/etc/exports文件默认不存在,创建就好。
*表示允许所有人共享,ro表示只读。
读取一下配置:
[root@server ~]# exportfs -r
查询一下:
-
[root@client ~]# showmount -e 192.168.91.129
-
Export list for 192.168.91.129:
-
/nfs/shared *
可以看到服务端有共享文件。
在服务端创建一个文件并且写入123:
[root@server ~]# echo 123 > /nfs/shared/1
在客户端创建一个挂载文件并挂载查看:
-
[root@client ~]# mkdir /m1
-
[root@client ~]# mount 192.168.91.129:/nfs/shared /m1
-
[root@client ~]# ll /m1
-
total 4
-
-rw-r--r--. 1 root root 4 Jan 9 15:34 1
-
[root@client ~]# cat /m1/1
-
123
需求二:
开放/nfs/upload目录,为192.168.xxx.0/24网段主机可以上传目录,并将所有用户及所属的组映射为nfs-upload,其UID和GID均为210
创建文件:
-
[root@server ~]# mkdir /nfs/upload -pv
-
mkdir: 已创建目录 '/nfs/upload'
创建用户:
-
[root@server ~]# groupadd -g 210 nfs-upload
-
[root@server ~]# useradd -u 210 -g nfs-upload nfs-upload
-
useradd warning: nfs-upload's uid 210 outside of the UID_MIN 1000 and UID_MAX 60000 range.
-
[root@server ~]# cat /etc/passwd |grep 210
-
nfs-upload:x:210:210::/home/nfs-upload:/bin/bash
设置用户相对文件权限:
[root@server ~]# setfacl -m u:nfs-upload:rwx /nfs/upload
配置文件:
-
/nfs/shared *(ro)
-
/nfs/upload 192.168.91.0/24(rw,all_squash,anonuid=210,anongid=210)
读取配置:
[root@server ~]# exportfs -r
查看:
-
[root@client ~]# showmount -e 192.168.91.129
-
Export list for 192.168.91.129:
-
/nfs/shared *
-
/nfs/upload 192.168.91.0/24
客户端挂载并写入文件:
-
[root@client ~]# mount 192.168.91.129:/nfs/upload /m1
-
[root@client ~]# echo 456 > /m1/2
-
[root@client ~]# ll /m1
-
total 4
-
-rw-r--r--. 1 210 210 4 Jan 9 2024 2
服务端查看:
-
[root@server ~]# ll /nfs/upload/
-
总计 4
-
-rw-r--r--. 1 nfs-upload nfs-upload 4 1月 9日 16:36 2
-
[root@server ~]# cat /nfs/upload/2
-
456
需求三:
将/home/tom目录仅共享给192.168.xxx.xxx这台主机,并只有用户tom可以完全访问该目录
配置文件:
-
/nfs/shared *(ro)
-
/nfs/upload 192.168.91.0/24(rw,all_squash,anonuid=210,anongid=210)
-
/home/tom 192.168.91.133/24(rw,root_squash)
读取配置:
[root@server ~]# exportfs -r
创建tom用户(客户端和服务端都需要):
[root@server ~]# useradd tom
自动生成权限完全属于tom的目录文件 。
客户端挂载并尝试创建文件:
-
[root@client ~]# mount 192.168.91.129:/home/tom /m1
-
[root@client ~]# echo 789 > /m1/3
-
-bash: /m1/3: Permission denied
-
[root@client ~]# su tom
-
[tom@client root]$ echo 789 > /m1/3
-
[tom@client root]$ ll /m1
-
total 4
-
-rw-r--r--. 1 tom tom 4 Jan 9 2024 3
-
[tom@client root]$ cat /m1/3
-
789
服务端擦查看:
-
[root@server ~]# ll /home/tom
-
总计 4
-
-rw-r--r--. 1 tom tom 4 1月 9日 16:56 3
-
[root@server ~]# cat /home/tom/3
-
789