1.安装
apt-get install vsftpd
2.配置 conf
vim /etc/vsftpd.conf
--禁止匿名用户
sed -i "s/anonymous_enable=YES/anonymous_enable=NO/g" '/etc/vsftpd/vsftpd.conf'
是否允许匿名上传文件
sed -i "s/#anon_upload_enable=YES/anon_upload_enable=NO/g" '/etc/vsftpd/vsftpd.conf'
是否允许匿名用户有创建目录的权利
sed -i "s/#anon_mkdir_write_enable=YES/anon_mkdir_write_enable=YES/g" '/etc/vsftpd/vsftpd.conf'
是否修改匿名用户所上传文件的所有权
sed -i "s/#chown_uploads=YES/chown_uploads=NO/g" '/etc/vsftpd/vsftpd.conf'
是否允许运行特殊的ftp命令
sed -i "s/#async_abor_enable=YES/async_abor_enable=YES/g" '/etc/vsftpd/vsftpd.conf'
sed -i "s/#ascii_upload_enable=YES/ascii_upload_enable=YES/g" '/etc/vsftpd/vsftpd.conf'
sed -i "s/#ascii_download_enable=YES/ascii_download_enable=YES/g" '/etc/vsftpd/vsftpd.conf'
空白行新加
listen_port=2103
chroot_local_user=YES
allow_writeable_chroot=YES
idle_session_timeout=300
data_connection_timeout=1
guest_enable=YES
guest_username=vsftpd
user_config_dir=/etc/vsftpd/vconf
virtual_use_local_privs=YES
pasv_enable=YES
pasv_min_port=10060
pasv_max_port=10090
accept_timeout=5
connect_timeout=1
3.虚拟用户名单
apt install db-util 如果已有可省略
touch /etc/vsftpd/virtusers
编辑虚拟用户名单文件:(第一行账号,第二行密码,注意:不能使用root做用户名,系统保留)
vi /etc/vsftpd/virtusers
db_load -T -t hash -f /etc/vsftpd/virtusers /etc/vsftpd/virtusers.db
chmod 600 /etc/vsftpd/virtusers.db #设定PAM验证文件,并指定对虚拟用户数据库文件进行读取
================PAM=================
在/etc/pam.d/vsftpd的文件头部加入以下信息(在后面加入无效)
修改前先备份 cp /etc/pam.d/vsftpd /etc/pam.d/vsftpdbak
vi /etc/pam.d/vsftpd
auth sufficient /lib/x86_64-linux-gnu/security/pam_userdb.so db=/etc/vsftpd/virtusers
account sufficient /lib/x86_64-linux-gnu/security/pam_userdb.so db=/etc/vsftpd/virtusers
注意 pam_userdb.so 不同的系统位置可能不同
4.建立用户
建系统用户vsftpd,用户目录为/home/wwwroot, 用户登录终端设为/bin/false(即使之不能登录系统)
useradd vsftpd -d /home/wwwroot -s /bin/false
chown vsftpd:vsftpd /home/wwwroot -R
5.建立虚拟用户个人Vsftp的配置文件
mkdir /etc/vsftpd/vconf
cd /etc/vsftpd/vconf
touch user1
vi user1#编辑用户web1配置文件,其他的跟这个配置文件类似
local_root=/home/wwwroot/web1/http/
write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
更改目录所属
chown vsftpd:vsftpd /home/wwwroot/web1/http -R
6.新增用户的情况
6.1增加虚拟用户及密码
vi /etc/vsftpd/virtusers
db_load -T -t hash -f /etc/vsftpd/virtusers /etc/vsftpd/virtusers.db
6.2用户的配置文件
cp /etc/vsftpd/vconf/web1 /etc/vsftpd/vconf/web2
vim /etc/vsftpd/vconf/web2 修改主目录及权限
6.3 建立 对应目录并改变所有者为vsftpd
mkdir /data1/wwwroot/2007/aaa
chown vsftpd:vsftpd /data1/wwwroot/2007/aaa -R
6.4 service vsftpd restart 重启