day11(nfs+samba)

1、环境准备

(1)yum源 (一个云仓库+pepl仓库)

(2)防火墙和selinux

2、安装配置web服务器

(1)使用自建的yum仓库下载nginx

1、先只安装不下载nginx

[root@web ~]# yum -y install --downloadonly --downloaddir=./soft/ nginx

2、下载cteaterepo,自建仓库

[root@web ~]# yum -y install createrepo

[root@web ~]# createrepo ./soft/

[root@web ~]# ls soft/

[root@web ~]# vim /etc/yum.repos.d/nginx.repo

[nginx]

name=nginx

baseurl=file:///root/soft/

gpgcheck=0

enable=1

[root@web ~]# yum clean all

[root@web ~]# yum makecache

3、使用自己建造的仓库下载nginx

[root@web ~]# yum -y install nginx

[root@web ~]# nginx   //启动nginx

检查服务是否启动:

[root@web ~]# netstat -lnput | grep nginx

[root@web ~]# ps -aux | grep nginx

浏览器访问测试:

(2)在nginx的首页中插入自己的图片与视频

1、查找nginx的配置文件位置

[root@web html]# find / | grep nginx

/usr/share/nginx/html

[root@web html]# rpm -ql nginx

/usr/share/nginx/html/404.html

[root@web nginx]# cd /usr/share/nginx/html/

[root@web html]# ls

404.html 50x.html en-US icons img index.html nginx-logo.png poweredby.png

2、将图片与视频放到指定路径下

        可以将其直接拖拽到vm中,也可以使用scp进行传输文件。

3、安装配置nfs服务器

NFS(Network File System,网络文件系统)是一种分布式文件系统协议,允许一个系统在网络上 与他人共享目录和文件。

rpcbind 是一个用于支持 RPC(Remote Procedure Call,远程过程调用)的服务。在一些操作系统 中,如 CentOS 8,NFS(Network File System,网络文件系统)的实现依赖于 RPC 机制,而 rpcbind 充当了 NFS 服务器和客户端之间的中介,用于完成从远程到本地的映射过程。

搭建 NFS 服务器时,需要安装 rpcbind 以及 nfs-utils 软件包来提供 NFS 共享服务。

(另起一台机子)

(1)下载nfs软件与其依赖软件

[root@nfsserver ~]# yum -y install nfs-utils.x86_64 rpcbind.x86_64

(2)创建一个目录/share并创建文件/share/passwd

[root@nfsserver ~]# mkdir /share

[root@nfsserver ~]# touch /share/passwd

(3)将web机子的图片和视频拷贝过来到/share目录下

[root@nfsserver ~]# scp root@10.0.0.30:/usr/share/nginx/html/3.jpg /share/

[root@nfsserver ~]# scp root@10.0.0.30:/usr/share/nginx/html/1.mp4 /share/

(4)编辑配置文件/etc/exports指定要暴露的文件(/share)

[root@nfsserver ~]# vim /etc/exports

/share   *(rw,sync)

这段配置的含义是,将 /share 目录共享给所有的客户端(* 代表所有),并且赋予客户端可读写 (rw)和数据同步(sync)的权限。

4.自动监控备份静态文件

(1)修改hostname

[root@beifen ~]# hostnamectl set-hostname bakserver

[root@beifen ~]# reboot

(2)关闭防火墙与selinux

[root@bakserver ~]# systemctl stop firewalld

[root@nfsserver ~]# systemctl disable firewalld

[root@bakserver ~]# setenforce 0

[root@nfsserver ~]# vim /etc/selinux/config

SELINUX=permissive

(3)安装rsync,2个主机都有安装

[root@bakserver ~]# yum -y install rsync

[root@nfsserver ~]# yum -y install rsync

(4)安装inotify监控

[root@nfsserver ~]# yum -y install inotify-tools-devel.x86_64

(5)同步一份文件到bakserver上

(每次都需要输入密码不方便,设置免密)

[root@nfsserver ~]# rsync -av /share/ root@10.0.0.31:/tmp/

(6)设置免密

root@nfsserver ~]# ssh-keygen

[root@nfsserver ~]# ssh-copy-id root@10.0.0.31

(将公钥字符串添加到对方家目录中的authorized_keys文件中

也可以使用scp将id_rsa.pub文件上传到bakserver主机,手工将文件中的字符串复制到 authorized_keys)

(7)确定全部都免密,测试实时rsync是否能够免密备份

[root@nfsserver ~]# rsync -av /share/ root@10.0.0.31:/tmp/

(8)在备份主机上创建/bakpu目录

[root@bakserver ~]# mkdir /bakpu   //同步的信息都存放在这里

(9)在nfs上编辑脚本,并进行监控,实现自动同步

(10)查看是否同步成功

[root@bakserver ~]# ls /bakpu/

1.mp4 1.txt 3.jpg a.txt passwd

5.SAMBA文件共享

Samba 是在 Linux 和 Unix 系统上实现 SMB(Server Message Block)协议的一个免费软件。

SMB 协议主要用于 Windows 操作系统的文件和打印共享。通过 Samba,Linux 和 Unix 系统可以 与 Windows 系统进行良好的交互和资源共享。

Samba 的主要特点和优势包括:

        1. 跨平台文件共享:允许 Windows、Linux 和 macOS 等不同操作系统之间共享文件和打印机。

        2. 易于配置:可以通过简单的配置文件和命令来设置共享目录、用户权限等。

        3. 支持多种身份验证方式:例如本地用户、域用户等。

在实际应用中,Samba 常用于以下场景:

企业办公环境:让 Windows 客户端能够访问 Linux 服务器上的共享文件。

家庭网络:在不同操作系统的设备之间共享多媒体文件。

例如,在一个小型办公室中,可以使用 Samba 在一台 Linux 服务器上设置共享目录,使得办公室内 的 Windows 电脑能够方便地访问和存储文件。

配置 Samba 时,需要编辑 /etc/samba/smb.conf 文件来定义共享目录、访问权限、用户等信 息。

(1)下载samba软件

[root@bakserver ~]# yum -y install samba

[root@bakserver ~]# ls /etc/samba/

lmhosts smb.conf smb.conf.example

(2)修改samba的配置文件

(3)设置用户user01,samba认证123密码

window要访问bakpu中的文件,使用user01 123

(4)启动名称管理

[root@bakserver ~]# systemctl start nmb.service

[root@bakserver ~]# systemctl start smb.service

(5)测试

在本机(window)上直接搜索启用或关闭Windows功能,

找到SMB直接全部开启

点击映射网络驱动器

输入备份主机的地址与配置文件【】里的信息

输入用户名和密码

即可看到samba文件共享的内容

发现并无修改权限

为共享文件添加可写的权限 (完成以后在window中可以读写)

[root@bakserver ~]# setfacl -m u:user01:rwx /bakpu/*

6、在linux系统中安装samba客户端

(1)安装客户端软件包

[root@web ~]# yum -y install samba-client

(2)使用smb客户端访问服务器

(3)挂载smb共享文件

       cifs-utils 是一个包含一系列实用工具的软件包,主要用于在 Linux 系统上实现对 CIFS(Common Internet File System,通用 Internet 文件系统)共享的挂载和管理。

      CIFS 是 SMB(Server Message Block)的一种变体,它允许 Linux 系统与其他支持 CIFS/SMB 协议 的设备(如 Windows 系统)进行文件和打印机的共享访问。

     通过 cifs-utils 包中的 mount.cifs 命令,可以将远程的 CIFS 共享目录挂载到 Linux 本地的某个目录 上,从而像操作本地文件一样对共享目录中的文件进行操作,例如查看、编辑、复制等。    

     要使用 cifs-utils,通常需要进行以下步骤(具体命令可能因 Linux 发行版而略有不同):

. 安装 cifs-utils 包:

        在 Ubuntu 或 Debian 系统上,使用命令 sudo apt-get install cifs-utils 。

        在 CentOS 或 Fedora 系统上,使用命令 sudo dnf install cifs-utils 。

2. 创建用于挂载共享目录的本地目录(例如 /mnt/share ): sudo mkdir /mnt/share 。

3. 使用 mount.cifs 命令挂载共享目录: sudo mount.cifs //server/share /mnt/share -o username=user,password=pass 。其中, //server/share 是共享目录的UNC路径(包括服 务器地址和共享目录名称), /mnt/share 是本地挂载目录, -o 后面指定了连接共享所需的用 户名和密码。

此外,还可以设置其他选项,如工作组域名等。例如,如果用户在 Windows 工作组或域中,可以这 样设置: sudo mount.cifs -o username=,domain= //win_share_ip/ /mnt/share 。

      为了提高安全性,也可以使用凭证文件来保存用户名、密码和域名等信息,而不是直接在命令行中 指定。首先创建凭证文件(如 /etc/win-credentials ),设置正确的权限和所有者(如 sudo chown root: /etc/win-credentials && sudo chmod 600 /etc/win-credentials ),然后在挂载命令中 使用 Credentials=/etc/win-credentials 选项来指定凭证文件。 如果希望在系统启动时自动挂载共享目录,可以编辑 /etc/fstab 文件,在其中添加相应的挂载信 息。 需要注意的是,在使用 CIFS 共享时,要确保具有足够的权限访问远程共享目录,并且网络连接正 常。同时,出于安全考虑,在公共网络环境中使用 CIFS 共享时要谨慎。另外,CIFS 协议已逐渐被 SMB2 和 SMB3 协议所取代,它们提供了更好的安全性和性能。但 cifs-utils 通常也支持这些较新的协议版本。 实际使用中,还需根据具体的网络环境和需求进行配置和调整。

总结

1. ftp 局域⽹和外⽹都可以

2. nfs 局域⽹ 挂载⽅式访问 mount.nfs 侧重于Linux与Linux之间

3. samba 局域⽹ 直接访问(smbclinet)挂载的⽅式mount.cifs 侧重于Windows与 Linux之间

  • 24
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值