1. 安装软件
yum -y install vsftpd* yum -y install pam* yum -y install db4*
2. 建立虚拟账号相关联的系统账号
useradd virftp -s /sbin/nologin
3. 建立虚拟账户相关的文件
touch /etc/vsftpd/vsftpd_login
并把你要建立的用户写到里面,奇数行是用户名,偶数行是密码
例如:
ftpuser1 121212 ftpuser2 12121212
然后生成对应的库文件
db_load -T -t hash -f/etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db
4. 建立虚拟账号相关的目录以及配置文件
mkdir /etc/vsftpd/vsftpd_user_conf
然后在该目录下,建立虚拟账号相对应的配置文件,账号和文件名对应
cd /etc/vsftpd/vsftpd_user_conf
vim ftpuser1 内容如下:
local_root=/home/virftp/ftpuser1 anonymous_enable=NO write_enable=YES local_umask=022 anon_upload_enable=NO anon_mkdir_write_enable=NO idle_session_timeout=600 data_connection_timeout=120 max_clients=10 max_per_ip=5 local_max_rate=50000
建立配置文件中提及的ftpuser1的家目录
mkdir /home/virftp/ftpuser1
修改权限:
chown -R virftp:virftp/home/virftp/
5. 修改验证文件
vim /etc/pam.d/vsftpd
在最开头添加两行
auth sufficient /lib/security/pam_userdb.sodb=/etc/vsftpd/vsftpd_login account sufficient/lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
6. 修改vsftpd.conf
内容如下:
anonymous_enable=NO local_enable=YES write_enable=YES local_umask=022 anon_upload_enable=NO anon_mkdir_write_enable=NO dirmessage_enable=YES xferlog_enable=YES connect_from_port_20=YES xferlog_file=/var/log/vsftpd.log xferlog_std_format=YES nopriv_user=vsftpd async_abor_enable=YES ascii_upload_enable=YES ascii_download_enable=YES ftpd_banner=Welcome to FTP service. listen=YES chroot_local_user=YES pam_service_name=vsftpd userlist_enable=YES tcp_wrappers=YES guest_enable=YES guest_username=virftp virtual_use_local_privs=YES user_config_dir=/etc/vsftpd/vsftpd_user_conf
7. 启动vsftpd服务
/etc/init.d/vsftpd start
8. 关闭selinux
setenforce 0 //这一步操作是临时关闭,如果想永久关闭,需修改配置文件 vim /etc/selinux/config 把SELINUX=enforcing改为 SELINUX=disabled
9. 测试
lftp localhost -u ftpuser1,121212
看是否能正常登录,如果不正常,请查看/var/log/secure文件,分析日志
转载于:https://blog.51cto.com/syklinux/1730994