常用文件服务器:

(主要说一些基础知识,配置过程简单,可以百度下,小编主要整理下知识点)

一、FTP 服务器

软件包: vsftpd

FTP端口: 控制端口 21/tcp

数据端口 20/tcp (主动模式)

配置文件: /etc/vsftpd/vsftpd.conf

FTP的主被动模式:
%title插图%num

1、主动模式首先,FTP客户端随机开启一个大于1024的端口P(2000)并与服务器的21端口建立连接,然后开放一个P+1号的端口(2001)进行监听,同时向服务器发出PORT 2001命令(PORT)命令包括客户端用什么端口接收数据)。服务器在传送数据的时个,通过自己的TCP20端口发送数据,因此FTP必须和客户端建立一具新的连接用于数据传输。

2、被动模式在被动模式下建立控制通道类似于在主动模式下通道的操作:FTP客户端随机开启一个大于1024的端口P(1999)向服务器的21端口发起连接,同时会开启P+1号端口(2000)然后向服务器端发关PASV命令,通知服务器处于被动模式,服务器收到命令后,开放一个大于1024的端口P(1213)进行监听,然后用PORT P命令通知客户端,自己的数据端口是1213,客户端收到命令后,通过2000端口连接服务器的端品1213,然后在两端口之间进行数据传输。

主要配置文件:/etc/vsftpd/vsftpd.conf文件:

[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf
anonymous_enable=YES //是否允许匿名用户登录
local_enable=YES //是否允许本地用户登录
write_enable=YES //是否允许写(全局)
local_umask=022 //控制本地用户上传文件的默认权限,umask表示要减掉的权限
anon_umask=077 //控制匿名用户上传文件的默认权限

chroot: 锁定本地用户HOME
方法一:部分用户chroot
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
方法二:所有本地用户chroot
chroot_local_user=YES

anon_max_rate=500000 //匿名用户限速
local_max_rate=80000 //本地用户限速
max_clients=500 //ftp*大连接数
max_per_ip=2 //单个IP*大连接数,线程数

local_root=/ftproot //指定本地用户访问的root目录
anon_root=/anonroot //指定匿名用户访问的root目录
相关文件:

/etc/vsftpd/ftpusers //黑名单

/etc/vsftpd/user_list //白名单

二、NFS文件服务

NFS:Network File System 网络文件系统,Unix系统之间共享文件的一种协议,允许网络中的计算机之间通过TCP/IP网络共享资源,但是都是明文发送,安全性能一般(建议只在局域网下使用)

NFS 的客户端主要为Linux

支持多节点同时挂载以及并发写入

首先介绍 一个服务:RPC(Remote Preceduce Call )远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC协议假定某些传输协议的存在,如TCP/IP或UDP,为通信程序之间携带信息数据。RPC将原来的本地调用转变为调用远端的服务器上的方法,给系统的处理能力和吞吐量带来了近似于无限制提升的可能。在OSI网络通信模型中,RPC跨域了传输层和应用层。RPC使得开发包括网络分布式多程序在内的应用程序更加容易。

在NFS上,RPC *主要的功能就是在指定每个 NFS 功能所对应的 port number ,并且回报给客户端,让客户端可以连结到正确的port上去。

NFS原理:

NFS Server服务器上设定/data目录被分享,而客户端可以通过internet将/data目录挂载到本地的挂载点(常用mnt)后,客户端就可以进入挂载点目录进行文件的读写。NFS客户端所开放的端口是随机的我们不知道,那该怎么办呢?那是不是就不能进行数据传输了呢?答案当然是NO了那就需要另外一种服务帮他分配port了,服务是什么呢?那就是RPC服务了!

(简单来说,就是在服务器上共享文件夹,然后客户端本地挂载使用)

主要配置文件:

/etc/exports :默认也是为空的,自己手动创建内容:

# vim /etc/exports /data 192.168.95.0/24(rw,sync,no_root_squash)

权限参数:

rw //可读写的权限

ro //只读的权限

sync(同步) //资料同步写入到内存与硬盘中(慢,不容易丢数据)

rsync(异步) //资料会暂存于内存中,而不是写入硬盘(快,容易丢数据)

no_root_squash //客户端用root用户访问共享文件夹是,root用户不会映射成匿名用户

root_squash //…

all_squash //…

anonuid = XXX //指定匿名用户UID

anongid = XXX //…

insecure //NFS通过1024以上端口发送

secure //…

hide //在NFS共享目录中不共享其子目录

no_hide //…

wdelay //如果多个用户写入NFS目录,则归组写入(默认)

no_wdelay //…

subtree_check //在共享/usr/bin之类的子目录时,强制NFS检查父目录的权限(默认)

no_subtree_check //…

启动服务:

systemctl restart rpcbind

systemctl restart nfs

命令介绍:

exportfs

showmount

%title插图%num

三、samba(不常用)

CIFS: Common Internet File System Windows和Unix系统之间共享文件的一种协议

CIFS:客户端主要是Windows

支持多节点同时挂载以及并发写入

 

Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。

​Samba*大的功能就是可以用于Linux与windows系统直接的文件共享和打印共享

主要配置文件:/etc/samba/smb.conf

smb.conf文件的配置内容

[global]:全局设置

[homes]:用户目录共享设置

[printers]:打印机共享设置

[myshare]:自定义名称的共享目录设置

[root@samba ~]# vim /etc/samba/smb.conf
[data]
path = /data
;valid users = alice jack
;hosts allow = 172.16.30.
writable = yes
FTP和NFS为主要常用的文件服务器,samba 了解就行,前面两个要求原理,配置过程等都得熟悉