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
wentai@111.com
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
新建个资料夹,然后从我的电脑复制个档案,贴上过去,有许可权表示测试成功