2. sudo apt-get install db-util
虚拟用户的配置:
vim vusers.list
user1
user1pwd
user2
user2pwd
生成vsftpd的认证文件
db_load -T -t hash -f vusers.list /etc/vsftpd/vsftpd_login.db
chmod 600 /etc/vsftpd/vsftpd_login.db
建立虚拟用户的PAM配置文件:
vim /etc/pam.d/vsftpd (加入下面的内容,其他全部注释)
auth required pam_userdb.so db=/etc/vsftpd/vsftpd_login
account required pam_userdb.so db=/etc/vsftpd/vsftpd_login
建立虚拟用户访问的目录并设置权限
useradd -d /home/ftp -s /sbin/nologin virtual
chmod 777 /home/ftp/
在 vsftpd.conf中添加如下参数配置项:
guest_enable=YES
guest_username=virtual
对不同用户设置不同权限
mkdir /etc/vsftpd/vsftpd_user_conf
vim /etc/vsftpd/vsftpd_user_conf/user1 (建立单独的配置文件,文件名就是用户名)
local_root=/home/ftp/user1 #这里虚拟用户目录根据实际情况修改
write_enable=YES
virtual_use_local_privs=YES #虚拟用户具有写权限
在vsftpd.conf 中添加如下参数配置:
user_config_dir=/etc/vsftpd/vsftpd_user_conf
禁锢FTP用户在宿主目录
将需要禁锢的用户命写入"vsftpd.chroot_list"文件
#vim /etc/vsftpd.chroot_list
user1
user2
在vsftpd.conf 添加如下参数配置:
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
用户的根目录不能有写权限。可以通过在下面建子目录的方式来实现上传。
cmds_allowed=ABOR,CWD,DELE,LIST,MDTM,MKD,NLST,PASS,PASV,PORT,PWD,QUIT,RETR,\
RMD,RNFR,RNTO,SIZE,STOR,TYPE,USER,ACCT,APPE,CDUP,HELP,MODE,\
NOOP,REIN,STAT,STOU,STRU,SYST
cmds_denied=ABOR,CWD,DELE,LIST,MDTM,MKD,NLST,PASS,PASV,PORT,PWD,QUIT,RETR,\
RMD,RNFR,RNTO,SIZE,STOR,TYPE,USER,ACCT,APPE,CDUP,HELP,MODE,\
NOOP,REIN,STAT,STOU,STRU,SYST
不允许覆盖的方法:
在vsftpd.conf 中增加
file_open_mode=0444