1、yum安装vsftpd程序

 yum install vsftpd -y


2、修改配置文件

 vi /etc/vsftpd/vsftpd.conf

#虚拟用户配置文件的目录

user_config_dir=/etc/vsftpd/ftpuser

#是否允许anonymous登录FTP服务器

anonymous_enable=NO

#//是否允许本地用户登录FTP服务器,默认是允许

local_enable=YES

#//是否允许用户具有在FTP服务器文件中执行写的权限,默认是允许

write_enable=YES

local_umask=022

anon_upload_enable=YES

virtual_use_local_privs=yes

anon_mkdir_write_enable=YES

anon_world_readable_only=YES

xferlog_enable=YES

connect_from_port_20=YES

listen_port=21

ftp_data_port=20

xferlog_file=/var/log/xferlog

xferlog_std_format=NO

ftpd_banner=Welcome to FTP service

chroot_local_user=yes

listen=YES

userlist_enable=YES

tcp_wrappers=YES

syslog_enable=yes

port_enable=YES

chown_uploads=YES


#设置PAM认证服务的配置文件名称,该文件存放在/etc/pam.d/目录下

pam_service_name=meizu_ftp

#是否启用来宾用户(也就是启用虚拟用户)

guest_enable=YES

#如果启用了虚拟用户后上传文件修改文件的用户名

guest_username=mzftp

use_localtime=YES

connect_timeout=600

data_connection_timeout=600

idle_session_timeout=600


3、在/etc/vsftpd/下创建存放虚拟用户的认证文件

mkdir /etc/vsftpd/ftpuser

4、为虚拟用户创建对应的文件,如:ftptest

vim /etc/vsftpd/ftpuser/ftptest 

local_root=/data/ftpdata/ftp1

anon_world_readable_only=no

write_enable=yes

anon_upload_enable=yes

anon_mkdir_write_enable=YES

anon_other_write_enable=yes

创建ftptest虚拟用户对应的ftp存放目录: mkdir -p /data/ftpdata/ftp1


5、生成虚拟用户的账号密码db数据库文件

vim /etc/vsftpd/login.txt   #奇数行 用户名,双数行 密码

ftptest

test123456

mzwentai

[email protected]

db_load -T -t hash -f /etc/vsftpd/login.txt /etc/vsftpd/login.db

(ps:增加用户是重复这部操作)

6、更改pam认证模块

vim /etc/pam.d/meizu_ftp  #这个文件名要与主配置文件中的pam_service_name指定的一致,最后面的login就是login.db,但是这里的后缀是不需要写的

auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/login

account required /lib64/security/pam_userdb.so db=/etc/vsftpd/login

7、创建用户mzftp ,赋mzftp目录权限 #这个要与主配置文件中的guest_username指定的一致

useradd -s /sbin/nologin mzftp

chown -R mzftp.mzftp /data/ftpdata/ftp1   

8、启动服务

service vsftpd start

测试:

在我的电脑上输入 ftp://10.3.135.199 登陆,用户密码登陆ftptest/test123456

新建个文件夹,然后从我的电脑复制个文件,粘贴过去,有权限表示测试成功