搭建过程

1 安装环境

yum install vsftp* pam* db4* -y

cat /etc/vsftpd/vsftpd.conf

anonymous_enable=NO

chroot_list_enable=YES

xferlog_file=/var/log/vsftpd.log

ascii_upload_enable=YES

ascii_download_enable=YES

nopriv_user=vsftpd

pam_service_name=vsftpd

local_enable=YES

anon_umask=022

write_enable=YES

guest_enable=YES

guest_username=vsftpd

virtual_use_local_privs=YES

dirmessage_enable=YES

xferlog_enable=YES

connect_from_port_20=YES

xferlog_std_format=YES

listen=YES

userlist_enable=YES

tcp_wrappers=YES

user_config_dir=/etc/vsftpd/vuser_conf

chroot_local_user=NO

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/chroot


2 创建秘钥文档

cd /etc/vsftpd/

cat vuser_passwd.txt

user

123456

3 生成数据库文件

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

chmod 600 vuser_passwd.db

4 修改vsftp的pam认证配置文件

[root@localhost vsftpd]# cat /etc/pam.d/vsftpd

#%PAM-1.0

#session    optional     pam_keyinit.so    force revoke

#auth       required    pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed

#auth       required    pam_shells.so

#auth       include     system-auth

#account    include     system-auth

#session    include     system-auth

#session    required     pam_loginuid.so

auth required pam_userdb.so db=/etc/vsftpd/vuser_passwd

account required pam_userdb.so db=/etc/vsftpd/vuser_passwd

5 创建虚拟用户配置文件

mkdir /etc/vsftpd/vuser_conf  根据vsftpd.conf下user_config_dir=/etc/vsftpd/vuser_conf创建

vim  user

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

local_root=/opt/var/ftp

mkdir /opt/var/ftp -pv


6 vi chroot

user


7/etc/init.d/vsftpd restart

useradd vsftpd -s /sbin/nologin 根据配置文件里 guest_username=vsftpd 创建

注意所有的用户文件必须要给600权限

如果添加一个用户的话流程如下

在/etc/vsftpd/vuser_passwd.txt文件下追加用户名和追加密码

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

cd /opt/var/ftp/

mkdir linyi

cd linyi

mkdir ftp

vi /etc/vsftpd/vuser_conf/linyi

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

local_root=/opt/var/ftp/linyi

vim /etc/vsftpd/chroot 添加用户名

mount --bind 要挂载的目录 ftp用户的目录

service vsftpd restart