一、 安装vsftpd-2.3.4 和 pam-devel (没有这个包,pam就不能认证虚拟用户,必须编译前安装)
tar -xzf vsftpd2.3.4.tar.gz
make
make install
二、 安装完成后,把vsftpd vsftpd.conf 分别拷贝到 /usr/local/sbin /etc 目录里,可以先用anonymous登陆测试下是否可以登陆。 /usr/local/sbin/vsftpd /etc/vsftpd.conf
三、 创建虚拟用户
vim /etc/account.txt
zhao 虚拟用户
redhat 密码
chmod 600 /etc/account.txt
四、生成虚拟用户的数据库
db_load -T -t hash -f /etc/account.txt /etc/account.db
db_load命令 需要安装db4-util 工具
chmod 600 /etc/account.db
五、 编辑/etc/pam.d/vsftpd.vu
auth required /lib64/security/pam_userdb.so db=/etc/account
account required /lib64/security/pam_userdb.so db=/etc/account
指定刚才生成的account文件及数据库,没有后缀。如果是32位系统,要把/lib64改为/lib
六、 编辑配置文件
vim /etc/vsftpd.conf
local_enable=YES 开启本地登录
write_enable=YES 开启写权限,如果此权限不开,anon_mkdir_write_enable设置会无效
guest_enable=yes 开启虚拟用户
guest_username=ftpuser 指定虚拟用户映射的本地用户
pam_service_name=vsftpd.vu pam认证的文件名
user_config_dir=/etc/ftp/user_config_dir 针对不同虚拟用户设置不同的权限
七、创建本地用户ftpuser
useradd -d /data/stream ftpuser -s /sbin/nologin
chown ftpuser.ftpuser /data/stream 更改目录所属者,否则不能创建文件等
八、设置虚拟用户的权限,在/etc/ftp/user_config_dir创建跟虚拟用户名字一样的文件
cd /etc/ftp/user_config_dir
vim zhao
write_enable=YES
anon_world_readable_only=NO 是否禁止浏览目录,默认是
anon_upload_enable=YES 是否允许上传文件及文件夹
anon_mkdir_write_enable=YES 是否允许创建文件夹,但不能阻止用户上传文件夹
anon_other_write_enable=YES 是否允许用户修改,删除文件和文件夹
local_root=/data/stream 主目录
九、
#kill掉进程
#重启服务即可
/usr/local/sbin/vsftpd /etc/vsftpd &