linux --FTP服务器,部署YUM仓库,NFS共享服务

Posted 世界美好與你環環相扣

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux --FTP服务器,部署YUM仓库,NFS共享服务相关的知识,希望对你有一定的参考价值。

linux --FTP服务器,部署YUM仓库,NFS共享服务

一.FTP服务器

1.1概述

①FTP(File Transfer Protocol,文件传输协议)是典型的C/S架构的应用层协议,需要由服务端软件、客户端软件两个部分共同实现文件传输功能。FTP客户端和服务器之间的连接是可靠的,面向连接的,为数据的传输提供了可靠的保证。
②ftp使用tcp的20、21端口,20端口是连接端口,用于传输数据。21端口是控制端口,用于和客户端建立连接。
两种模式,一种方式叫做Standard (也就是Active,主动方式),一种是Passive (也就是PASV,被动方式)。

Standard模式

客户端首先和服务端的21端口建立连接,客户端在这个端口发送请求,服务端收到请求后,从自己的20端口建立一个新连接发送数据

Passive模式

客户端和服务端的21端口建立连接,当客户端发送请求时,服务端打开一个1024-5000之间的端口并通知客户端在这个端口上传送数据,被动方式不需要和客户端新建立一个连接。

二.搭建FTP服务器

2.1安装,开启服务

yum -y  install  vsftpd   安装vsftpd 
systemctl start  vsftpd   启动

2.2登陆

在这里插入图片描述

2.3ftp的配置文件/etc/vsftpd/vsftpd.conf

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

2.4FTP的下载和上传功能

①FTP的下载功能

用户FTP登录时可在自己的家目录下使用get 命令下载家目录下的文件

②FTP的上传功能

★用户FTP登录时可用put 指令上传文件,但由于权限的问题,所以要修改权限才能上传文件

▶▶改配置文件/etc/vsftpd/vsftpd.conf
anon_upload_enable=YES
anon_mkdir_write_enable=YES
在这里插入图片描述
▶▶修改用户家目录下目录的权限

在这里插入图片描述
③匿名用户上传文件

在这里插入图片描述
也可以把家目录权限该成757,再put上传,但值得注意的是若家目录该成777会断开连接,应为vsftpd认为权限过大是很不安全,若是普通用户可在其家目录下可上传文件,这里是ftp登录的,是匿名用户

三.ftp限制普通用户权限

chroot_local_user=YES 绑定普通用户的家目录,只能在自己目录下活动

在这里插入图片描述
★值得注意的是:从2.3.5之后,vsftpd增强了安全检查,如果用户被限定在了其主目录下,则该用户的主目录不能再具有写权限了!如果检查发现还有写权限,就会报该错误。
通常会出现如错误:
500 OOPS: vsftpd: refusing to run with writable root inside chroot() 远程主机关闭连接
要修复这个错误,可以用命令chmod a-w /home/user去除用户主目录的写权限,注意把目录替换成你自己的。或者你可以在vsftpd的配置文件中增加下列两项中的一项
allow_writeable_chroot=YES
在这里插入图片描述

四.ftp允许root登陆

因root具有最大权限,所以ftp是拒绝登陆的,若要root登陆可修改配置文件

①修改配置文件/etc/vsftpd/ftpusers

在这里插入图片描述
②修改配置文件 /etc/vsftpd/user_list
在这里插入图片描述
★值得注意的是:etc/vsftpd/ftpusers的优先级高于/etc/vsftpd/user_list的优先级

五.ftp仅允许某些用户或某个用户登陆

例如只允许zhangsan登陆,不允许lisi登陆
①修改配置文件/etc/vsftpd/user_list增加zhangsan

在这里插入图片描述

②修改配置文件/etc/vsftpd/vsftpd.conf

在这里插入图片描述
③创建用户zhangsan和lisi,此时只有zhangsan可登陆
在这里插入图片描述

六.ftp安全性验证

通过对ftp登陆过程的抓包可以抓到登陆的用户和密码,说明ftp是不安全的

tcpdump -i ens33 -nnX port 21    // tcpdump 为抓包工具,默认安装

在这里插入图片描述

七.YUM概述

7.1YUM简介

YUM (Yellow dog Updater Modified)
●基于RPM包构建的软件更新机制
●可以自动解决依赖关系
●所有软件包由集中的YUM软件仓库提供

7.2软件仓库的提供方式

●FTP服务:ftp://…
●HTTP服务: http://…
●本地目录:file://…

7.3RPM软件包的来源

●CentOS发布的RPM包集合
●第三方组织发布的RPM包集合
●用户自定义的RPM包集合

7.4YUM的配置文件

●基本设置:/etc/yum.conf
●仓库设置:/etc/yum.repos.d/*.repo
●日志文件:/yar/log/yum.log

7.5YUM缓存目录

●存放下载的软件包、仓库信息等数据
●位于/varlcache/yum/ b a s e a r c h / basearch/ basearch/releasever

八.配置本地YUM源

①将yum 配置文件 /etc/yum.repos.d 备份一份至当面目录下的bak目录

在这里插入图片描述

②编辑local.repo 文件

vim local.repo  编辑local.repo 文件

在这里插入图片描述
file表示本地的yum类型,/munt为挂载路径,gpgcheck为是否要进行校验

③清除之前的源,重新建立源数据

yum clean all

yum clean all  清楚之前的源
yum  makecache 重新建立源数据

④查看是否为本地源

yum repolist 查看当前使用的yum源

在这里插入图片描述

九.配置ftp的YUM源

①在ftp服务器上挂载光盘到 /mnt 目录下

挂载目的:让ftp服务器具有软件包,有条件的情况下也可网络下载

mount /dev/sr0  /mnt

②将光盘中的数据拷贝到 /var/ftp/ 目录下,并把ftp/的所有文件除pub/外移动到centos7/下

cp -pr /mnt/*   /var/ftp/   把/mnt/下的所有文件和目录拷贝

在这里插入图片描述

③将客户端的网络源打包备份,在yum源配置目录/etc/yum.repos.d/下床架修改 ftp.repo

文件

在这里插入图片描述
在这里插入图片描述

④验证客户端是否能访问

ftp服务器开启vsftpd服务,配置好之后在客户端游览器上可验证是否能访问
在这里插入图片描述
也可在客户端查看源标识
在这里插入图片描述

⑤重新确定服务器与客户端的yum索引

目的;当服务端有软件包更新时,客户端可以及时更新到
yum源索引文件所在目录 /var/ftp/centos7/repodata/repomd.xml repomd.xml 为索引文件
所用指令如下

createrepo  --update /var/ftp/centos7/Packages/

▶▶执行完改命令后Packages 目录下会产生新的repodata
在这里插入图片描述
▶▶修改客户的yum源配置文件ftp.repo
在这里插入图片描述
▶▶yum clean all 清楚之前的源
▶▶yum makecache 重新建立源数据
★值得注意的是,刚开始没有更新的的时候repomd.xml 在repodata下跟/Packages是同级别目录。更新之后repomd.xml 在Packages下所以要改变路径

十. 查询软件包组

yum grouplist  包组名    查询软件包组
yum groupinfo 包组名    查询软件包组信息
[root@localhost -]# yum grouplist
[root@localhost-]# yum grouplist gnome-desktop
[root@localhost ~]# yum groupinfo gnome-desktop

十一.NFS共享存储服务

11.1 NFS(网络文件服务)

●NFS 是一种基于 TCP/IP 传输的网络文件系统协议,最初由 Sun 公司开发。通过使用 NFS 协议,客户机可以像访问本地目录一样访问远程服务器中的共享资源
●NFS 是 NAS 存储 设备必然支持的一种协议
●NFS 服务的实现依赖于 RPC(Remote Process Call,远端过程调用)机制,以完成远 程到本地的映射过程。在 CentOS 7 系统中,需要安装 nfs-utils、rpcbind 软件包来提供 NFS 共享服务,前者用于 ●NFS 共享发布和访问,后者用于 RPC 支持。
●手动加载 NFS 共享服务时,应该先启动 rpcbind,再启动 nfs。
★nfs端口号2049
★RPC端口号111

11.2 特点:

①采用TCP/IP传输网络文件
②安全性低
③简单易操作
④适合局域网环境

11.3 搭建NFS

主要步骤:
①安装nfs和rpcbind软件
②修改配置文件设置共享
③创建共享目录
④开启服务
⑤客户端验证共享目录可访问

11.3.1安装nfs和rpcbind软件

yum -y install rpcbind.x86_64 nfs-utils.x86_64

11.3.2修改配置文件设置共享

/etc/exports nfs的配置目录,
/var/lib/nfs/etab 为nfs的权限目录

在这里插入图片描述

11.3.3创建共享目录

在这里插入图片描述

11.3.4开启服务

①先启动rpc,再启动nfs

systemctl start  rpcbind 
systemctl start nfs
rpcinfo -p  localhost 查看nfs在rpc下面注册的端口号

②在客户端刷新结果和验证结果

exportfs -r   //刷新结果
exportfs -v    //验证结果

在这里插入图片描述

11.3.5客户端验证共享目录可访问

①.客户端下载 rpc软件和nfs软件,并查看状态

②查看服务器共享

 showmount -e 192.168.80.1 

在这里插入图片描述
③在客户端挂载

mount -t nfs 192.168.80.1:/opt/web  /var/www/html 

★值得注意的是,需要下载httpd软件,才有html目录

在这里插入图片描述

5.在客户端 /var/www/html 目录下可查看服nfs服务器的目录

在这里插入图片描述

11.4在客户端创建文件设置同步

/var/lib/nfs/etab 为nfs的权限目录,不加root权限默认nfsnobody匿名用户登录,所以应在NFS服务机的nfs的配置文件/etc/exports中增加root权限

在这里插入图片描述
修改号配置文件以后exportfs -r刷新一下,此时在客户端有可创建目录的权限
在这里插入图片描述在这里插入图片描述

11.5 在客户端写入配置文件 /etc/fstab,永久性挂载

在这里插入图片描述
修改过后再 mount -a 若无报错则立即生效

注意:NFS客户端与服务器端的耦合度是非常高的,如果客户端正在杜载使用,服务器端NFS服务突然间停瘁了,那么在客户端就会出现执行df -h命令卡死的现象。这个时候使用umount 命令是无法直接卸载的,需要加上-lf 才能卸载
-I表示解除正在繁忙的文件系统,-f表示强制。

11.3.6 nfs配置文件/etc/exports常用选项

rw 表示允许读写
ro 表示为只读
sync 表示同步写入到内存与硬盘中
no_root_squash 表示当客户机以root身份访问时赋予本地root权限(默认是root_squash)
root_squash 表示客户机用root用户访问该共享目录时,将root用户映射成匿名用户

其它常用选项:
all_squash 所有访问用户都映射为匿名用户或用户组
async 将数据先保存在内存缓冲区中,必要时才写入磁盘
subtree_check(默认) 若输出目录是一个子目录,则nfs服务器将检查其父目录的权限
no_subtree_check 即使输出目录是一个子目录,nfs服务器也不检查其父目录的权限,这样可以提高效率

以上是关于linux --FTP服务器,部署YUM仓库,NFS共享服务的主要内容,如果未能解决你的问题,请参考以下文章

Linux 文件/目录管理(初级)

Linux 内核Linux 内核源码结构 ( 下载 Linux 内核源码 | 使用 VSCode 阅读 Linux 内核源码 )

嵌入式linux怎么学

Linux一步一步学Linux——Linux发展史(01)

鸟哥linux摘要-Linux复习必备(Linux命令)

Linux运维应该怎么去学习?