linux中文件服务器NFS和FTP服务

文件服务器

    • NFS
      • NFS介绍
      • 配置nfs文件共享
        • 服务端
        • 客户端
    • FTP
      • ftp介绍
      • FTP基础
        • ftp主动模式
        • ftp被动模式
      • Vsftp 服务器简介
      • vsftpd配置
        • 安装vsftpd[ftp的服务端]
        • 编辑配置文件
          • 匿名用户设置
          • 创建本地用户使用ftp服务
      • 客户端操作
        • 匿名用户登录
        • 本地用户登录
        • lftp服务

NFS

NFS介绍

文件系统级别共享(是NAS存储) ---------  已经做好了格式化,可以直接用。 速度慢比如:nfs,samba

NFS:Network File System 网络文件系统,NFS 和其他文件系统一样,是在 Linux 内核中实现的,因此 NFS 很难做到与 Windows 兼容。NFS 共享出的文件系统会被客户端识别为一个文件系统,客户端可以直接挂载并使用。

#NFS 文件系统仅支持基于 IP 的用户访问控制,NFS 的客户端主要为Linux。
因为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 删除文件或者目录

你可能感兴趣的:(linux,服务器,linux,运维)