由於網上不少虛擬帳號配置都是複製黏貼,根據網上一些資料,及Ubuntu-ftp中文說明,肯定能夠用.linux
注意紅色及相同顏色的部分。vim
安裝環境:centos
[root@centos7 ~]# hostnamectl app
Static hostname: centos7tcp
Icon name: computer-vmide
Chassis: vm工具
Machine ID: 3d699a16ee944b6b987ec307f9d977c0oop
Boot ID: a96f4d1ca556465cb9510e2cfd2e8e03ui
Virtualization: vmwareurl
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配置有空格,刪除手敲