配置/etc/vsftpd/vsftpd.conf文件
匿名访问模式
用安装时候生成的ftp用户进行登录,操作的目录是/var/ftp
anonymous_enable=YES
anon_umask=022
anon_mkdir_write_enable=YES
anon_other_write_enable=YES #修改目录和删除目录权限
anon_upload_enable=YES
write_enable=YES
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=YES #standlone模式运行
userlist_enable=YES
tcp_wrappers=YES
本地用户模式
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=YES
pam_service_name=vsftpd #pam插入式认证模块,这行不能少
userlist_enable=YES
tcp_wrappers=YES
虚拟用户模式
创建用于虚拟用户的系统本地用户virtual
useradd -d /var/ftproot -s /sbin/nologin virtual
chmod -Rf 755 /var/ftproot
ls -ld /var/ftproot
查看db4-untils是否安装
rpm -qa|grep db4
如果没有则安装
yum install -y db4-untils
创建帐号密码文件,奇数行是帐号,偶数行是密码
创建账号密码数据库文件
db_load -T -t hash -f vuser.txt vuser.db
chmod 600 vuser.db
rm -f vuser.txt
注释掉/etc/pam.d/vsftp里原有配置,添加如下两行:
auth required pam_userdb.so db=/etc/vsftpd/vuser
account required pam_userdb.so db=/etc/vsftpd/vuser
创建虚拟用户的配置文件路径和各自的权限文件
mkdir /etc/vsftpd/vuser_dir
touch zhangsan
touch lisi
权限配置如下:
vim zhangsan
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_enable=YES
/etc/vsftpd/vsftpd.conf配置如下
anonymous_enable=NO
local_enable=YES
guest_enable=YES
guest_username=virtual
allow_writeable_chroot=YES #不启用的话无法登录
#local_root=/var/ftproot
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
user_config_dir=/etc/vsftpd/vuser_dir #虚拟用户权限配置文件的存放路径
注意
- 本文的按照过程未做说明
- 本文的防火墙和selinux已关闭
- 本文的ftp文件存放目录权限设置未说明