网络服务:vsftpd:让虚拟用户使用不同目录
创建虚拟用户
先创建个 ftpuser.txt 内容:
admin passadmin test passtest
装数据库 db (注: db3 没有了 要db4)
apt-get install db4.8-util
生成数据库
db4.8_load -T -t hash -f ftpuser.txt /etc/vsftpd_login.db
设置权限
chmod 600 /etc/vsftpd_login.db
二 配置PAM 修改/etc/pam.d/vsftpd 内容如下:
auth required /lib/security/pam_userdb.so db=/etc/vsftpd_login account required /lib/security/pam_userdb.so db=/etc/vsftpd_login
为虚拟用户创建本地用户
useradd -d /home/ftpsite -s /sbin/nologin virtual mkdir /home/ftpsite chown virtual.virtual /home/ftpsite ls -ld /home/ftpsite drwxr-sr-x 2 virtual virtual 48 2006-08-18 05:48 /home/ftpsite
根据需要创建/etc/vsftpd.conf,但要确保含有一下设置:
anonymous_enable=NO local_enable=YES write_enable=NO anon_upload_enable=NO anon_mkdir_write_enable=NO anon_other_write_enable=NO chroot_local_user=YES guest_enable=YES guest_username=virtual listen=YES listen_port=21 pasv_min_port=30000 pasv_max_port=30999
重启 vsftpd OK
原文 http://debian.linuxsir.org/doc/inthedebianway/vsftpd/vsftpd.conf-7.html
注: vsftp默认 匿名 不能在根目录上传 建立文件 出现500错误的时候 是/home/ftp 的权限问题 ftp用户不能有写的权限 如果需要匿名上传 在 /home/ftp 目录下 建立一个 ftp:ftp 所有的 目录 即可使用匿名上传
例: mkdir upload chown ftp:ftp upload
虚拟用户 如果不能登入 请注释掉 /etc/pam.d/vsftpd 里的
#@include common-account #@include common-session #@include common-auth #auth required pam_shells.so
现在使虚拟用户 使用不同的目录
首先 编辑vsftp.conf 增加
user_config_dir=/etc/vsftpd/vsftpd_user_conf
然后
mkdir /etc/vsftpd mkdir /etc/vsftpd/vsftpd_user_conf
建立 虚拟用户名字的文本文件 例如:你一个虚拟用户名字为 test
touch /etc/vsftpd/vsftpd_user_conf/test
编辑test 加入test的目录
local_root=/home/test
(test的目录 要更改为 virtual用户的权限)
mkdir test chown virtual:virtual test
网络服务/vsftpd/让虚拟用户使用不同目录.txt · 最后更改: 2023/06/13 05:25 由 127.0.0.1