linux下使用Vsftpd服务传输文件

FTP协议占用两个端口号:

21端口:命令控制,用于接收客户端执行的FTP命令。

20端口:数据传输,用于上传,下载文件数据。

过程:

首先安装vsftpd服务程序使用命令 yum install vsftpd 

 Vsftpd 的程序与配置文件:

主程序: /usr/sbin/vsftpd

用户禁止登陆列表:/etc/vsftpd/ftpusers    /etc/vsftpd/user_list

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

接下来我们分别配置Vsftpd的验证方式 分别为:匿名访问 ,本地用户

1.匿名访问模式

FTP匿名访问模式是比较不安全的服务模式,尤其在真实的工作环境中千万不要存放敏感的数据,以免泄露。

vsftpd程序默认已经允许匿名访问模式,我们要做的就是开启匿名用户的上传和写入权限,写入下面的参数:

使用命令 vi /etc/vsftpd/vsftpd.conf

anonymous_enable=YES

anon_umask=022

anon_upload_enable=YES

anon_mkdir_write_enable=YES

anon_other_write_enable=YES

 由于各参数不在同一区域 只截取了部分参数 在配置文件中我们可以在命令模式下输入/anon 查找关键字用n N上下查询。

接下来我们用systemctl restart vsftp重启一下服务 然后使用客户端验证

 现在我们尝试登入FTP服务:

 由图可见我们已经成功登入ftp服务,但是在创建目录的时候失败了,这是因为我们匿名登录是使用root登录的,ftp根目录的所有者/组都是root ,所以匿名用户没有写入权限,我们新建一个用户ftpd 然后将属主改为ftpd 然后再尝试创建目录就成功了。

 

 至此我们匿名访问的配置就ok了。

2.本地用户模式

这次我们直接配置主配置文件

anonymous_enable=NO    禁止匿名访问模式。

local_enable=YES             允许本地用户模式。

write_enable=YES             设置可写入权限。

local_umask=022              本地用户模式创建文件的umask值。

userlist_deny=YES            参数值为YES即禁止名单中的用户,参数值为NO则代表仅允许名单中的用户。

userlist_enable=YES允许“ 禁止登陆名单”,名单文件为ftpusers与user_list。

 

配置完成之后我们重启一下vsftp服务 systemctl restart vsftpd

然后我们新建一个普通用户并设置登录密码

 

 然后我们就可以在客户端尝试登录了

 由图可见我们已经ok了。至此我们的ftp 匿名用户与普通本地用户登录大功告成了。

末尾:

疑惑与问题:1.在配置匿名用户登录的时候,我把客户端pub文件夹设置成属主为sdy后,在客户端就无法创建目录了,而再将属主改为其他新创建的用户后就可以创建目录了。是因为sdy用户和其他普通用户权限不一样吗?

                    2.本地用户登录时,为什么没有权限切换目录,cd pub时提示操作失败。

原文地址:https://www.cnblogs.com/laoxu777/p/11773549.html