安装环境:CentOS 6.5 64位 vsftpd 2.2.2
- 输入命令rpm -qa | grep vsftpd 检查是否安装过vsftpd
- yum -y install vsftpd
- 启动服务 service vsftpd start
配置文件 在 /etc/vsftpd/vsftpd.conf
把anonynous_enable=YES 改成 NO
最后再加上这四条语句
pasv_enable=YES #开启被动模式
pasv_min_port=24500 #被动模式最小端口号
pasv_max_port=24600 #被动模式最大端口号
accept_timeout=60 #被动模式超时时间
- 限制本地用户只能访问主目录
打开配置文件中的语句
chroot_local_user=YES
- 限制指定用户可以访问全部目录
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
手工建立chroot_list,把目标用户写进文件
最后执行 service vsftpd restart
配置文件中本来就有userlist_enable=YES这句。在其后面加上两行语句/etc/vsftpd/use_list的作用就变成白名单了
配置虚拟用户
准备工作:将之前添加配置文件语句注释掉
配置虚拟用户登陆的步骤:
1 添加虚拟用户口令文件
2 生成虚拟用户口令认证文件
3 编辑vsftpd的PAM认证文件
4 建立本地映射用户并设置宿主目录权限
5 修改配置文件
6 重启vsftpd服务,并测试
7 调整虚拟用户权限
- 添加虚拟用户口令文件
vi /etc/vsftpd/vexample.txt
test1 #用户名
123 #密码
test2 #用户名
123 #密码
- 生成虚拟用户口令认证文件
yum -y install db4-utils
[如果没有安装口令认证命令,需要安装]
db_load -T -t hash -f /etc/vsftpd/vexample.txt /etc/vsftpd/vexample.db
[把文本文档变为认证的数据库]
- 编辑vsftpd的PAM认证文件
vi /etc/pam.d/vsftpd
- 建立本地映射用户并设置宿主目录权限,注意图片中的操作一共为两个步骤
- 修改配置文件
- 重启服务,测试
经过测试,发现报错530登录失败,最后在网上找到解决方法
http://blog.csdn.net/u010566813/article/details/42550483
-
调整虚拟用户权限
进入配置文件,加上这三句话
然后指定保存虚拟用户配置文件的目录
添加这句:user_config_dir=/etc/vsftpd/vusers
mkdir /etc/vsftpd/vuser
cd /etc/vsftpd/vuser
vi test1
添加以下内容:
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
#允许此用户上传
local_root=/tmp/vsftpd/test1
#给xuniyonghu指定独立的上传目录
保存退出
mkdir /tmp/vsftpd/test1
注意,在虚拟用户配置文件目录中单独添加的虚拟用户遵循单独的配置文件,没有添加单独配置文件的虚拟用户遵从主配置文件的权限控制[/etc/vsftpd/vsftpd.conf为主配置文件]