因为网上很多虚拟账号配置都是复制黏贴,根据网上一些资料,及Ubuntu-ftp中文说明,确定可以用.
注意红色及相同颜色的部分。
安装环境:
[root@centos7 ~]# hostnamectl
Static hostname: centos7
Icon name: computer-vm
Chassis: vm
Machine ID: 3d699a16ee944b6b987ec307f9d977c0
Boot ID: a96f4d1ca556465cb9510e2cfd2e8e03
Virtualization: vmware
Operating System: CentOS Linux 7 (Core)
CPE OS Name: cpe:/o:centos:centos:7
Kernel: Linux 3.10.0-514.16.1.el7.x86_64
Architecture: x86-64
安装Vsftp......Berkeley DB工具(很多人找不到db_load的问题就是没有安装这个包)
yum install vsftpd -y
yum install db4 -y (安装系统时,默认安装了,所以不需要.)
配置vsftpd.conf文件.
\cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak ###备份
#编辑vsftpd.conf文件
# Example config file /etc/vsftpd/vsftpd.conf
anonymous_enable=NO
local_enable=YES
write_enable=YES
allow_writeable_chroot=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
ascii_upload_enable=YES
ascii_download_enable=YES
listen=YES
pam_service_name=vsftpd #pam认证文件
userlist_enable=YES
tcp_wrappers=YES
guest_enable=YES #启用虚拟用户功能
guest_username=ftp #vsftp默认创建的主目录/可以自己创建
user_config_dir=/etc/vsftpd/virtual_conf
配置虚拟用户(创建虚拟用户及虚拟配置存放目录)
mkdir /etc/vsftpd/virtual_conf
cd /etc/vsftpd/virtual_conf
cat >vsftp_passwd.txt<<EOF 编辑虚拟账号,奇数行为账号,偶数为密码
test
123456
EOF
生产虚拟用户,用db
cd /etc/vsftpd/virtual_conf
db_load -T -t hash -f vsftp_passwd.txt vsftp_passwd.db
备份pam.d下认证文件vsftpd文件
\cp /etc/pam.d/vsftpd /etc/pam.d/vsftpd.bak
编辑vsfpd
cd /etc/pam.d/ && echo > vsftpd
cat /etc/pam.d/vsftpd
auth required pam_userdb.so db=/etc/vsftpd/virtual_conf/vsftp_passwd
account required pam_userdb.so db=/etc/vsftpd/virtual_conf/vsftp_passwd
创建虚拟用配置文件(test--对应虚拟账号txt文件--一个账号一个配置文件)
vim /etc/vsftpd/virtual_conf/test
local_root=/ftp/lianxi //虚拟用户根目录,根据实际情况修改
write_enable=YES //可写
anon_umask=022 //掩码
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
创建虚拟用户上传目录 /ftp/lianxi 赋予权限
chmod 755 /ftp
cd /ftp && chmod 777 lianxi
配置防火墙,配置selinux
启动vsftpd即可.
启动报错,请查看vsftpd.conf每行是否有空格后面,请手敲---ftp登陆报错(500oops:bad bool value in config file)
/etc/vsftpd/virtual_conf/test配置有空格,删除手敲