安装生成虚拟帐号数据库工具db
包可以私聊我要
dpkg -i db5.3-util_5.3.28-11kord0.1_amd64.deb libdb5.3_5.3.28-11kord0.1_amd64.deb
或者 自己下载
apt-get install db5.3-util -y
启动服务
service vsftpd restart
修改配置之前,先备份当前配置
cp /etc/vsftpd.conf /etc/vsftpd.conf.bak
现在下面见建一个vsftp的目录
mkdir /etc/vsftpd
在目录中新建密码箱文件
vim /etc/vsftpd/loginuser.txt
注意不要多空格和空行,其中奇数行为用户名,偶数行为密码。最后一行需要回车(否则建立数据库文件时无法识别最后一行,导致报奇数行错误)。
新建↑的用户test1和test2 adduser test1 adduser test2 在/etc/vsftpd目录下新建↓用户文件 touch /etc/vsftpd/test1 /etc/vsftpd/test2 test1个人用户权限 anon_world_readable_only=NO local_root=/home/test1 guest_username=test1 anon_world_readable_only=NO local_root=/home/test1 write_enable=YES anon_upload_enable=YES guest_username=test1
test2 超级管理员权限 anon_world_readable_only=NO write_enable=YES anon_mkdir_write_enable=YES anon_upload_enable=YES anon_other_write_enable=YES guest_username=root local_root=/
然后执行(用db5对目标文件加密,生成.db)
为了安全:生成之后可以吧.txt删除掉,因为里面是明文密码,如果用户要更改密码,则需要重新生成文件↓命令 db5.3_load -T -t hash -f /etc/vsftpd/loginuser.txt /etc/vsftpd/vsftpd_login.db 给生成的密码文件权限 chmod 600 /etc/vsftpd/vsftpd_login.db 下面在/etc目录下新建vsftpd.chroot_list文件 touch /etc/vsftpd.chroot_list 在/etc/pam.d目录下新建vsftpd.vu vi /etc/pam.d/vsftpd.vu root@test2:/etc/pam.d# cat vsftpd.vu !!注意下面的非空格为TAB auth sufficient /lib/x86_64-linux-gnu/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login account sufficient /lib/x86_64-linux-gnu/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
下面修改ftp的配置文件/etc/vsftpd.conf
vim /etc/vsftpd.conf listen=YES listen_ipv6=NO anonymous_enable=YES local_enable=YES write_enable=YES local_umask=022 dirmessage_enable=YES use_localtime=YES xferlog_enable=YES connect_from_port_20=YES chroot_local_user=YES chroot_list_enable=YES chroot_list_file=/etc/vsftpd.chroot_list allow_writeable_chroot=YES pam_service_name=vsftpd.vu user_config_dir=/etc/vsftpd secure_chroot_dir=/var/run/vsftpd/empty rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key ssl_enable=NO guest_enable=YES
测试:
在/home/test1(普通用户)下新建目录和文件
重启服务service vsftpd restart