使用vsftpd搭建ftp服务

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用vsftpd搭建ftp服务相关的知识,希望对你有一定的参考价值。

    FTP,即文件传输协议,它使得主机间可以共享文件。FTP使用TCP生成一个虚拟连接用于控制信息,然后再生成一个单独的TCP连接用于数据传输。控制连接使用类似TELNET协议在主机间交换命令和消息。文件传输协议是TCP/IP网络上两台计算机传送文件的协议,FTP是在TCP/IP网络和INTERNET上最早使用的协议之一,它属于网络协议组的应用层。FTP客户机可以给服务器发出命令来下载文件,上传文件,创建或改变服务器上的目录。


服务端

1、安装软件

[[email protected] ~]# yum install -y vsftpd

2、创建用户

[[email protected] ~]# useradd -s /sbin/nologin vsftpuser

3、调整vsftpd_login文件

[[email protected] ~]# vim /etc/vsftpd/vsftpd_login  ##奇数行是用户名,偶数行是密码
grodd
123456
juispan
123456
[[email protected] ~]# chmod 600 /etc/vsftpd/vsftpd_login
[[email protected] ~]# db_load -T -t hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db  ##转换成二进制文件

4、编辑虚拟用户

[[email protected] ~]# mkdir /etc/vsftpd/vsftpd_user_conf
[[email protected] ~]# cd /etc/vsftpd/vsftpd_user_conf/
[[email protected] vsftpd_user_conf]# vim grodd
local_root=/home/vsftpuser/grodd   ##虚拟用户家目录
anonymous_enable=NO                ##是否允许用户匿名
write_enable=YES                   ##是否可写
local_umask=022                    ##创建的新文件或目录权限
anon_upload_enable=NO              ##是否允许匿名用户可上传
anon_mkdir_write_enable=NO         ##是否允许匿名用户可以创建目录并且写
idle_session_timeout=600           ##FTP超出多少秒重新登录
data_connection_timeout=120        ##数据传输的超出时间
max_clients=10                     ##最大客户端数目
[[email protected] vsftpd_user_conf]# mkdir /home/vsftpuser
[[email protected] vsftpd_user_conf]# mkdir /home/vsftpuser/grodd/
[[email protected] vsftpd_user_conf]# echo "123456" > /home/vsftpuser/grodd/1.txt
[[email protected] vsftpd_user_conf]# chown -R vsftpuser:vsftpuser /home/vsftpuser

5、修改认证文件

[[email protected] vsftpd_user_conf]# vim /etc/pam.d/vsftpd 
#%PAM-1.0
auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login    ##新增行1
account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login ##新增行2
session    optional     pam_keyinit.so    force revoke
auth       required	pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
auth       required	pam_shells.so
auth       include	password-auth
account    include	password-auth
session    required     pam_loginuid.so
session    include	password-auth
[[email protected] vsftpd_user_conf]# ls /lib64/security/pam_userdb.so 
/lib64/security/pam_userdb.so

6、编辑vsftpd.conf文件

[[email protected] vsftpd_user_conf]# vim /etc/vsftpd/vsftpd.conf 
##以下修改##
anonymous_enable=NO
anon_upload_enable=NO
anon_mkdir_write_enable=NO
##以下新增##
chroot_local_user=YES
guest_enable=YES
guest_username=virftp
virtual_use_local_privs=YES
user_config_dir=/etc/vsftpd/vsftpd_user_conf
allow_writeable_chroot=YES

7、启动服务

[[email protected] vsftpd_user_conf]# systemctl start vsftpd
[[email protected] vsftpd_user_conf]# ps aux|grep vsftp
root     123655  0.0  0.0  52708   564 ?        Ss   22:19   0:00 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
root     123667  0.0  0.0 112648   968 pts/0    S+   22:20   0:00 grep --color=auto vsftp
[[email protected] vsftpd_user_conf]# netstat -lntp |grep vsftp
tcp6       0      0 :::21         :::*              LISTEN      123655/vsftpd


客户端

1、安装lftp

[[email protected] vsftpd_user_conf]# yum install -y lftp

2、测试效果

[[email protected] vsftpd_user_conf]# lftp [email protected]
Password: 
lftp [email protected]:~>


本文出自 “Gorilla City” 博客,请务必保留此出处http://juispan.blog.51cto.com/943137/1959173

以上是关于使用vsftpd搭建ftp服务的主要内容,如果未能解决你的问题,请参考以下文章

搭建 FTP 文件服务vsftpd

五十FTP介绍使用vsftpd搭建ftp服务

FTP介绍使用vsftpd搭建ftp使用pure-ftpd搭建ftp服务

39 openEuler搭建FTP服务器-安装管理vsftpd服务

使用vsftpd搭建ftp服务

如何通过Ubuntu搭建并使用vsftpd服务器