文件服务器
-
- NFS
-
- FTP
-
- ftp介绍
- FTP基础
-
- Vsftp 服务器简介
- vsftpd配置
-
- 客户端操作
-
NFS
NFS介绍
文件系统级别共享(是NAS存储) --------- 已经做好了格式化,可以直接用。 速度慢比如:nfs,samba
NFS:Network File System 网络文件系统,NFS 和其他文件系统一样,是在 Linux 内核中实现的,因此 NFS 很难做到与 Windows 兼容。NFS 共享出的文件系统会被客户端识别为一个文件系统,客户端可以直接挂载并使用。
因为NFS有很多功能,不同的功能需要使用不同的端口。因此NFS无法固定端口。而RPC会记录NFS端口的信息,这样就能够通过RPC实现服务端和客户端的RPC来沟通端口信息。
首先当NFS启动后,就会随机的使用一些端口,然后NFS就会向RPC去注册这些端口。RPC就会记录下这些端口。并且RPC会开启111端口,等待客户端RPC的请求,如果客户端有请求,那服务端的RPC就会将记录的NFS端口信息告知客户端。
配置nfs文件共享
服务端
yum -y install nfs-utils rpcbind //下载nfs和rpc应用
systemctl start nfs rpcbind //启动应用
制作共享目录
添加硬盘
挂载
制作nfs文件共享
vim /etc/exports //编辑共享文件
/挂载目录 *(rw,no_root_squash,sync)
参数解释:
ro:只读
rw:读写
sync:所有数据在请求时写入共享
root_squash: 对于使用分享目录的使用者如果是root用户,那么这个使用者的权限将被压缩成为匿名使用者,只读权限。
no_root_squash:使用分享目录的使用者,如果是 root 的话,那么对于这个分享的目录来说,他就具有 root 的权限。
允许访问的范围:
10.12.155.49 单个主机
10.12.155.0 | 10.12.155.* 网段主机
* 所有主机
客户端
yum -y install nfs-utils rpcbind //下载nfs和rpc应用
systemctl start nfs rpcbind //启动应用
挂载:
mount -t nfs 服务端ip:挂载目录 /客户端挂载目录 //-t:挂载指定文件类型的设备分区
开机自动挂载:
vim /etc/fstab //开机自动挂载文件
服务端ip:挂载目录 /客户端挂载目录 nfs defaults 0 0
FTP
ftp介绍
文件传输协议(File Transfer Protocol,FTP),基于该协议FTP客户端与服务端可以实现共享文件、上传文件、下载、删除文件。FTP服务器端可以同时提供给多人共享使用。
FTP服务是Client/Server(简称C/S)模式,基于FTP协议实现FTP文件对外共享及传输的软件称之为FTP服务器源端,客户端程序基于FTP协议,则称之为FTP客户端,FTP客户端可以向FTP服务器上传、下载文件。
FTP Server作用:提供文件共享服务,实现上传下载
端口:
21号,建立tcp连接 默认端口
20号:传输数据
FTP基础
软件包: vsftpd
FTP端口: 控制端口:21/tcp
配置文件: /etc/vsftpd/vsftpd.conf
ftp主动模式
ftp主动模式:客户端开启一个端口N(>1023)向服务端的21端口,建立连接,同时开启一个N+1,告诉服务端,我监听的是N+1端口,服务端接到请求之后,用自己的20端口连接到客户端的N+1端口,进行传输
21端口建立连接
20端口传输数据
ftp被动模式
ftp被动模式:客户端同时开启两个端口(1024,1025),一个端口(1024)跟服务端的21端口建立连接,并请求,大哥,我连上了,你再开一个端口呗。服务端接到请求之后,随机会开启一个端口(1027)并告诉客户端我开启的是1027端口,客户端用另一个端口(1025)与服务端的(1027)端口进行连接,传输数据
Vsftp 服务器简介
安全的FTP服务进程(Very Secure FTP daemon,Vsftpd),Vsftpd在Unix/Linux发行版中最主流的FTP服务器程序,优点小巧轻快,安全易用、稳定高效
vsftpd配置
安装vsftpd[ftp的服务端]
yum install -y vsftpd //安装服务
systemctl start vsftpd //启动服务
systemctl enable vsftpd //设置开机自启动
FTP默认共享目录:/var/ftp
mkdir /var/ftp/upload //创建自己的共享目录
touch /var/ftp/upload/test.txt //创建文件到共享目录
chown ftp.ftp /var/ftp/* -R //修改根目录的属主与属组
重点:改变根目录的属主,如果不改变的话,只能访问,其他权限不能生效。
我们是以ftp用户的身份访问的,而默认的属主属组是root。
修改完配置之后需要重启完服务才能生效
还需要从新从客户端登陆,否则修改后的配置看不到效果。
编辑配置文件
匿名用户设置
anon_upload_enable=YES //允许匿名用户上传文件
anon_mkdir_write_enable=YES //允许匿名用户创建目录
anon_other_write_enable=YES //允许匿名用户对目录进行操作,为新添加配置
anon_umask=022 //匿名用户上传文件的umask码,不添加这个匿名用户上传文件后不能下载
systemctl restart vsftpd //重启ftp服务
创建本地用户使用ftp服务
创建用户useradd 用户名
给用户添加密码 passwd 用户名
vim /etc/vsftpd/vsftpd.conf //ftp配置文件
anonymous_enable=NO //将允许匿名登录关闭
#anon_umask=022 //匿名用户所上传文件的权限掩码
#anon_upload_enable=YES //允许匿名用户上传文件
#anon_mkdir_write_enable=YES //允许匿名用户创建目录
#anon_other_write_enable=YES //是否允许匿名用户有其他写入权(改名,删除,覆盖)
chroot_list_enable=YES //启用限制登陆用户在主目录里面
chroot_list_file=/etc/vsftpd/chroot_list //限制登陆的用户在这个文件列表中,一行一个用户
allow_writeable_chroot=YES //允许限制的用户对目录有写权限
local_root=/home/zhangsan //设置本地用户的FTP根目录,一般为用户的家目录
local_max_rate=0 //限制最大传输速率(字节/秒)0为无限制
systemctl restart vsftpd //重启ftp服务
客户端操作
匿名用户登录
yum -y install lftp //安装lftp服务
lftp ip地址
本地用户登录
yum -y install lftp //安装lftp服务
lftp 用户名:密码@ip地址 //登录方式一
lftp ip地址 -u 用户名 回车输入密码 //登录方式二
lftp服务
get 下载单个文件
mget 下载多个文件
mirror 下载目录
put 上传单个文件
mput 上传多个文件
mirror -R 上传目录
mkdir 创建目录
rm -rf 删除文件或者目录