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 内核源码 | 使用 VSCode 阅读 Linux 内核源码 )