网络文件共享服务及YUM仓库服务器搭建

本文详细介绍了在CentOS系统中使用FTP(如vsftpd)进行文件传输,NFS网络文件系统以及搭建和配置YUM仓库(包括本地、FTP和HTTP方式)的过程,涉及存储类型、用户认证、服务配置和软件安装等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一、网络文件共享服务

1、存储类型

2、FTP文件传输协议

两种模式

FTP服务状态码

用户认证

FTP服务器端软件

vsftpd基础操作

1、安装服务端

 2、启动服务

 3、客户端连接

vsftpd服务常见配置

1、修改默认命令端口

 2、 主动模式和被动模式端口

 3、匿名用户登陆

 4、匿名用户上传和创建目录

 5、匿名用户下载和删除文件

 6、指定匿名用户的上传文件的默认的所有者和权限

 7、Linux系统用户

 8、将所有系统用户映射为指定的guest用户

 3、NFS

实际操作

 1、客户端和服务端都需要安装nfs软件

 2、服务端创建共享文件

 3、启动NFS服务,并查看详细的nfs信息

 4、客户端打开nfs服务,并测试

 二、YUM仓库

1、仓库设置文件

2、日志文件 

 3、主配置文件

4、yum命令详解

5、搭建本地yum仓库

1)挂载光驱

 2)切换到仓库文件夹中,并将其他源都给移动到新建的文件夹中

 3)手动编辑本地源文件

 4)清理yum缓存,并重新获取元数据

 5)安装一个软件测试

6、 ftp方式搭建yum仓库

1)客户端ftp软件,服务端下载vsftp软件

2)在服务端切换到/var/ftp目录下,新建一个centos7目录 

3)服务端将光驱里的文件包全部拷到centos7里面

4)建立数据库文件

5)服务端开启vsftp服务,关闭防火墙和selinux

6)客户端关闭防护墙和selinux,启动ftp服务

7)编写yum仓库

8)安装一个软件测试

7、http方式搭建

1)服务端安装httpd软件

2)将光驱挂载到/var/www/html目录下,然后启用httpd服务

3)客户端编辑http源 

4)安装个软件测试一下


一、网络文件共享服务

1、存储类型

存储类型分为三种

  • 直连式存储:Direct-Attached Storage,简称DAS

  • 网络附加存储:Network-Attached Storage,简称NAS(存储和管理空间都在远程)

  • 存储区域网络:Storage Area Network,简称SAN(可以使用空间,管理也是你来管理)

DASNASSAN
传输类型SCSI、FCIPIP、FC、SAS
数据类型数据块文件数据块
典型应用任何文件服务器数据库应用
优点

硬盘与服务器分离,

便于统一管理

不占用应用服务器资源

广泛支持操作系统

扩展较容易、

即插即用,安装简单方便

高扩展性

高可用性

数据集中,易管理

缺点

连接距离短

数据分散,共享困难

存储空间利用率不高

扩展性有限

不适合存储量大的块级应用

数据备份及恢复占用网络带宽

相比NAS成本较高

安装和升级比NAS复杂

三种存储架构的应用场景

  • DAS虽然比较古老了,但是还是很适用于那些数据量不大,对磁盘访问速度要求较高的中小企业

  • NAS多适用于文件服务器,用来存储非结构化数据,虽然受限于以太网的速度,但是部署灵活,成本低

  • SAN则适用于大型应用或数据库系统,缺点是成本高、较为复杂

2、FTP文件传输协议

基于C/S结构

数据传输格式:二进制(默认)和文本

双通道协议:命令和数据连接 21 命令端口(权限,认证) 20数据端口(真实传数据)

两种模式

从服务器角度

  • 主动(PORT style):服务器主动连接客户端

    命令(控制):客户端:随机port ---> 服务器:21/tcp

    数据:客户端:随机port <---服务器:20/tcp

  • 被动(PASV style):服务器被动等待客户端连接

    命令(控制):客户端:随机port ---> 服务器:21/tcp

    数据:客户端:随机port ---> 服务器:随机port /tcp

FTP服务状态码

1XX:信息                 125:数据连接打开
2XX:成功类状态       200:命令OK       230:登录成功
3XX:补充类              331:用户名OK
4XX:客户端错误       425:不能打开数据连接
5XX:服务器错误       530:不能登录

用户认证

  • 匿名用户:ftp,anonymous,对应Linux用户ftp

  • 系统用户:Linux用户,用户/etc/passwd,密码/etc/shadow

  • 虚拟用户:特定服务的专用用户,独立的用户/密码文件

FTP服务器端软件

Wu-ftpd,Proftpd,Pureftpd,Filezilla Server,Serv-U,Wing FTP Server,IIS

vsftpd:Very Secure FTP Daemon,CentOS 默认FTP服务器,高速,稳定,下载速度是WU-FTP的两倍,由 vsftpd 包提供。

用户认证配置文件:/etc/pam.d/vsftpd

用户和其共享目录

  • 匿名用户(映射为系统用户ftp )共享文件位置:/var/ftp

  • 系统用户共享文件位置:用户家目录

  • 虚拟用户共享文件位置:为其映射的系统用户的家目录

vsftpd基础操作

1、安装服务端

[root@heitui ~]#yum install -y vsftpd

 [root@heitui ~]#yum install -y ftp.x86_64

 2、启动服务

[root@heitui ~]#systemctl start vsftpd

 3、客户端连接

[root@server1 ~]#ftp 192.168.3.100

vsftpd服务常见配置

1、修改默认命令端口

在/etc/vsftpd/vsftpd.conf添加一行listen_port=2121,就可以将默认端口修改。

如:服务端修改默认命令端口,然后重启

[root@server1 ~]#vim /etc/vsftpd/vsftpd.conf

[root@server1 ~]#systemctl restart vsftpd


 服务端访问

 2、 主动模式和被动模式端口

主动模式

connect_from_port_20=YES 主动模式端口为20
ftp_data_port=20 (默认) 指定主动模式的端口

被动模式

pasv_min_port=6000   0为随机分配,端口范围会影响客户端的并发数
pasv_max_port=6010

 3、匿名用户登陆

anonymous_enable=YES 支持匿名用户,CentOS8 默认不允许匿名
no_anon_password=YES 匿名用户略过口令检查 , 默认NO

 4、匿名用户上传和创建目录

anon_upload_enable=YES 匿名上传,注意:文件系统权限
anon_mkdir_write_enable=YES 匿名建目录

 5、匿名用户下载和删除文件

anon_world_readable_only=NO        只能下载全部读的文件, 默认YES

anon_other_write_enable=YES        可删除和修改上传的文件,默认NO

 6、指定匿名用户的上传文件的默认的所有者和权限

匿名用户上传文件默认的所有者是ftp 用户 是可以修改的

chown_uploads=YES        #默认NO
chown_username=zhangsan


 7、Linux系统用户

 local_enable=YES 是否允许linux用户登录
write_enable=YES 允许linux用户上传文件
local_umask=022 指定系统用户上传文件的默认权限对应umask


 8、将所有系统用户映射为指定的guest用户

guest_enable=YES                         所有系统用户都映射成guest用户
guest_username=ftp                       配合上面选项才生效,指定guest用户
local_root=/ftproot                     指定guest用户登录所在目录,但不影响匿名用户的登录目录
user_config_dir=/etc/vsftpd/conf.d/     每个用户独立的配置文件目录

 将所有用户的都映射成ftp匿名用户


 让每个用户拥有独立的配置

[root@server1 ~]#mkdir -p /etc/vsftpd/conf.d                #先建立好配置文件夹


#编写子配置文件

[root@server1 ~]#vim /etc/vsftpd/conf.d/lisi

local_root=/data/lisi

[root@server1 ~]#vim /etc/vsftpd/conf.d/heitui

local_root=/data/heitui

# 建立两个文件测试
[root@server1 ~]#mkdir -p /da/{lisi,heitui}
[root@server1 ~]#touch /da/lisi/lisi.txt
[root@server1 ~]#touch /da/heitui/heitui.txt


 3、NFS

 NFS:Network File System 网络文件系统,基于内核的文件系统。Sun 公司开发,通过使用 NFS,用户和程序可以像访问本地文件一样访问远端系统上的文件,基于RPC(Remote Procedure Call Protocol 远程过程调用)实现。

NFS优势:节省本地存储空间,将常用的数据,如:/home目录,存放在NFS服务器上且可以通过网络访问,本地终端将可减少自身存储空间的使用。

 NFS工作原理:

        1)用户通过本地的rpcbind服务,向网络中的另一台服务器rpcbind服务查找NFS服务的方式;

        2)通过rpcbind服务反馈的信息,是本机使用网络中的另一台服务器的NFS服务。

在访问NFS服务时,双方都得打开NFS服务。

实际操作

 1、客户端和服务端都需要安装nfs软件

yum install nfs-utils.x86_64 -y


 2、服务端创建共享文件

[root@server1 ~]#vim /etc/exports                #编辑配置文件


/share   192.168.3.0/24(rw,sync,no_root_squash)        

共享目录        共享网段        读写,同步,无root权限


[root@server1 ~]#mkdir   /share                #创建共享目录


 3、启动NFS服务,并查看详细的nfs信息

 [root@server1 ~]#systemctl start nfs
[root@server1 ~]#exportfs -v

 4、客户端打开nfs服务,并测试

[root@heitui ~]#systemctl start nfs

[root@heitui ~]#showmount -e 192.168.3.101

 二、YUM仓库

yum是一个基于RPM包(是Red-Hat Package Manager红帽软件包管理器的缩写)构建的软件更新机制,能够自动解决软件包之间的依赖关系。解决了日常工作中的大量查找安装依赖包的时间

yum安装,必须要有两个文件夹,一个是Packages文件夹(RPM包),一个是repodata文件夹(元数据,软件的目录、依赖关系和软件位置)

1、仓库设置文件

位置:/etc/yum.repos.d/*.repo         //yum仓库文件位置

2、日志文件 

位置:/var/log/yum.log //查看日志文件

 3、主配置文件

位置:/etc/yum.conf        //主配置文件

[main]
cachedir=/var/cache/yum/$basearch/$releasever //yum下载的RPM包的缓存目录 $basearch代表硬件架构 $releasever系统版本比如7
keepcache=0                                   //是否保存缓存  0代表不保存,1代表保存
debuglevel=2                                  //调试级别了解即可
logfile=/var/log/yum.log                     // 日志文件位置
exactarch=1                                     //是否允许不同版本的rpm安装
obsoletes=1                                    //update 的一个参数是否可以允许旧版本的运行    
gpgcheck=1                                  //验证秘钥
plugins=1                                   //是否允许插件1代表可以
installonly_limit=5                         //保存几个内核 5代表5个
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=23&ref=http://bugs.centos.org/bug_report_page.php?category=yum
distroverpkg=centos-release

yum的repo配置文件中可用的变量:
$releasever: 当前OS的发行版的主版本号,如:8,7,6
$arch: CPU架构,如:aarch64, i586, i686,x86_64等
$basearch:系统基础平台;i386, x86_64
$contentdir:表示目录,比如:centos-8,centos-7
$YUM0-$YUM9:自定义变量

4、yum命令详解

命令不加关键字加入关键词、软件包、软件包组
yum list显示所有可用包单个的可安装包
yum info显示所有可用包的信息单个具体的信息
yum search\模糊查找所有的相关信息
yum provides\精确查找
yum grouplist显示所有可用包组显示具体的包组
yum groupinfo显示所有的包组具体信息显示具体的包组的具体信息
yum install\安装具体软件包
yum groupinstall\安装具体软件包组
yum update所有软件升级具体软件升级
命令不加关键字加入关键词、软件包、软件包组
yum group update所有包组升级具体包组升级
yum remove\卸载具体软件
yum groupremove\卸载具体包组软件
yum history查看当前yum操作历史\
yum history undo加入序号卸载序号里安装的软件\
yum history redo加入序号重新执行序号里的操作\

yum  remove  卸载软件,卸载的只有软件包,并不卸载依赖关系的包

5、搭建本地yum仓库

1)挂载光驱

[root@heitui ~]#mount /dev/sr0 /mnt

 2)切换到仓库文件夹中,并将其他源都给移动到新建的文件夹中

[root@heitui ~]#cd /etc/yum.repos.d/                #切换到仓库文件夹中

[root@heitui yum.repos.d]#mkdir bak                #创建新文件夹
[root@heitui yum.repos.d]#mv *.repo bak/        #将所有源移动到新文件夹中,减少对本地源的影响

 3)手动编辑本地源文件

[root@heitui yum.repos.d]#vim local.repo

[local]                                #文件名
name=local                        #源的名字
baseurl=file:///mnt                # 安装包的路径
gpgcheck=0                        #不使用密钥核实

 4)清理yum缓存,并重新获取元数据

 [root@heitui yum.repos.d]#yum clean all                #清理yum缓存

[root@heitui yum.repos.d]#yum makecache                #重新构建元数据

 5)安装一个软件测试

[root@heitui yum.repos.d]#yum install -y tree                #安装一个tree软件

6、 ftp方式搭建yum仓库

1)客户端ftp软件,服务端下载vsftp软件

客户端:

[root@heitui yum.repos.d]#yum install -y ftp.x86_64

服务端:

[root@server1 ~]#yum install -y vsftpd


2)在服务端切换到/var/ftp目录下,新建一个centos7目录 

[root@server1 ~]#cd /var/ftp/
[root@server1 ftp]#mkdir centos7
[root@server1 ftp]#ls
centos7  pub

 3)服务端将光驱里的文件包全部拷到centos7里面

此处我已经先将光驱挂载到 了mnt目录下了如有问题参见本地仓库搭建

[root@server1 ftp]#cp -rf /mnt/* centos7/ &


 4)建立数据库文件

 [root@server1 ftp]#createrepo -g /var/ftp/centos7/repodata/repomd.xml  ./

5)服务端开启vsftp服务,关闭防火墙和selinux

[root@server1 ftp]#systemctl stop firewall.service

[root@server1 ftp]#setenforce 0

[root@server1 ftp]#systemctl start vsftpd

6)客户端关闭防护墙和selinux,启动ftp服务

[root@heitui yum.repos.d]#systemctl stop firewall.service

[root@heitui yum.repos.d]#setenforce 0

[root@heitui yum.repos.d]#systemctl start ftp        #下载后,就可以使用ftp,可以不启用ftp 

7)编写yum仓库

[root@heitui yum.repos.d]#vim ftp.repo

[ftp]
name=ftp
baseurl=ftp://192.168.3.101/centos7
gpgcheck=0
 

[root@heitui yum.repos.d]#yum clean all 

[root@heitui yum.repos.d]#yum makecache

8)安装一个软件测试

[root@heitui yum.repos.d]#yum install -y tree.x86_64

7、http方式搭建

1)服务端安装httpd软件

[root@server1 ~]#yum install -y httpd.x86_64

2)将光驱挂载到/var/www/html目录下,然后启用httpd服务

[root@server1 ~]#mount  /dev/sr0   /var/www/html
[root@server1 html]#systemctl start httpd.service

3)客户端编辑http源 

 [root@heitui yum.repos.d]#vim http.repo

[httpd]
name=http
baseurl=http://192.168.3.101
gpgcheck=0


[root@heitui yum.repos.d]#yum clean all

[root@heitui yum.repos.d]#yum makecache


4)安装个软件测试一下

 [root@heitui yum.repos.d]#yum install tree -y

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值