ftp服务 20181104

一、ftp文件传输协议

文件传输协议(英文:File Transfer Protocol,缩写:FTP)是用于在网络上进行文件传输的一套标准协议,使用客户/服务器模式。它属于网络传输协议的应用层。文件传送(file transfer)和文件访问(file access)之间的区别在于:前者由FTP提供,后者由如NFS等应用系统提供。

FTP是一个8位的客户端-服务器协议,能操作任何类型的文件而不需要进一步处理,就像MIME或Unicode一样。但是,FTP有着极高的延时,这意味着,从开始请求到第一次接收需求数据之间的时间,会非常长;并且不时的必须执行一些冗长的登录进程。

1. 安装服务

通过配置好的yum 源进行安装

在客户端安装lftp 服务

在服务器端需要安装vsftpd 服务

启动服务,并查看服务状态

设置开机自启动

关闭防火墙和selinux (内核级的防火墙)

对selinux 配置文件进行编辑,以关闭服务

将SELINUX 从原来的enforcing 改为disabled

然后重启生效

重启生效后,发现vsftpd 服务可以自启动

防火墙和selinux 均已关闭

此时,客户端便可通过lftp 服务来连接服务器端

虽然连接上却不能上传文件

2. vsftpd 服务的配置参数

1)匿名用户的设定

通过编辑配置文件/etc/vsftpd/vsftpd.conf

设定anonymous_enable=NO,表示匿名用户不能连接

重启vsftpd 服务生效

无法连接服务端

匿名用户上传

设定:

write_enable=YES

anon_upload_enable=YES

重启服务生效

设定 /var/ftp/pub/ 目录的权限为775,所属组为ftp

连接服务器端

上传文件

虽然此时,能够上传文件,但却不能创建目录,删除文件和获取文件

匿名用户建立目录

对配置文件进行编辑,然后重启服务生效

anon_mkdir_write_enable=YES  表示匿名用户可在pub 下建立目录

匿名用户删除文件

anon_other_write_enable=YES  表示匿名用户可以删除pub中的文件

匿名用户下载自己上传的文件(修改配置文件后,重启服务后即可生效,之前上传的文件也能下载,与修改权限的方式有所不同)

anon_world_readable_only=NO  NO,表示匿名用户可以下载

匿名用户上传文件默认权限修改,修改此权限后,便可以下载自己上传的文件(在修改权限后上传的文件才能生效)

匿名用户使用的身份修改

chown_uploads=YES    #拥有者可以下载

chown_username=student    #拥有者设定为student

客户端上传文件后,文件拥有者为student

匿名用户的最大上传速率

重建一个文件,让此文件所占空间为10MB

用户最大连接数

最大连接数设为1

一个客户端连接成功后,其他客户端则无法连接

匿名用户家目录修改(默认家目录为/var/ftp/pub)

anon_root=/mnt

二、本地用户连接

500报错:权限过大

530报错:认证失败

550报错:服务本身不允许

553报错:文件系统权限过小

本地用户登录格式:lftp   ip   -u   username

1. 本地用户家目录修改

local_root=/mnt

2. 本地用户上传文件权限

此时便可上传文件

local_umask=xxx

3. 限制本地用户浏览根目录

在未限制本地用户时,本地本地用户可以浏览根目录

chroot_local_user=YES

用户权限过大,还需更改家目录权限

4. 用户黑名单建立

chroot_local_user=NO

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/chroot_list

5. 用户白名单建立

chroot_local_user=YES

chroot_list_enable=YES

6. 限制本地用户登录

vim   /etc/vsftpd/ftpusers   ##永久黑名单

vim   /etc/vsftpd/user_list   ##临时黑名单

用户白名单设定

userlist_deny=NO

/etc/vsftpd/user_list   ##此参数设定,此文件变成用户白名单

三、ftp 虚拟用户的设定

vim   /etc/vsftpd/westosfile   ##文件名称任意

生成加密文件

db_loab   -T   -t   hash   -f   /etc/vsftpd/westosfile   /etc/vsftpd/westosfile.db

设定策略文件

vim   /etc/pam.d/westos

vim   /etc/vsftpd/vsftpd.conf

pam_service_name=westos   ##虚拟用户身份指定

测试登录

2. 虚拟用户家目录独立设定

在/etc/vsftpd/vsftpd.conf 配置文件中编辑:

其中,$USER 为显示当前所处的用户

重启服务

登录不同的目录

3. 虚拟用户独立配置

ftp 服务默认登录后,用户为ftp

更改目录所属组为ftp 

然后更改虚拟用户家目录内目录的权限

编辑/etc/vsftpd/vsftpd.conf 配置文件

user_config_dir=/etc/vsftpd/userconf

在配置文件中加入如下配置,使用户可写,则user1 可写,user2 不可写

 

猜你喜欢

转载自blog.csdn.net/weixin_43369306/article/details/83759496