热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

CentOS安装vsFTPd的过程以及遇到的问题

准备工作:检查下是否安装了vsftpd,db4-utils方法:rpm-qa|grepvsftpdrpm-qa|grepdb4开始安装:安装vsftpd,方法:yum-yinstallvsftpd安装db4-utils;方法:yum-yinstalldb4-utils开始设置vsftpd:anonymous_enabl

准备工作:

检查下是否安装了vsftpd,db4-utils

方法:

rpm -qa | grep vsftpd

rpm -qa | grep db4

开始安装:

安装vsftpd,方法:yum -y install vsftpd

安装db4-utils;方法:yum -y install db4-utils

开始设置vsftpd:

anonymous_enable=YES/NO  是否允许匿名用户访问
chroot_list_enable=YES   限定用户不可以离开主目录
chroot_list_file=/etc/vsftpd/chroot_list
loca_enable=YES/NO 本地用户是否可以访问 注:如果为NO 则所有虚拟用户都将不能访问原因:虚拟用户访问在主机上其实是以本地用户访问的
pam_service_name=vsftpd  pam认证文件名 在/etc/pam.d/vsftpd
guest_enable=YES    启用虚拟用户功能
guest_username=vsftpd  指定虚拟用户的宿主用户
user_config_dir=/etc/vsftpd/vuser_conf 设置虚拟用户个人vsftp的服务配置文件
listen_port=21000 修改默认的端口

vuser_conf文件夹,文件配置样例:
—————————————————————
local_root=/var/www/html/hello
write_enable=YES
anon_world_readable_Only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
—————————————————————

生成虚拟用户数据库vsftpd.db,方法如下:

第一步:创建用户和密码文件ftplogins.txt,奇数行为用户名,偶数行为密码。

第二步:生成虚拟用户数据库 db_load -T -t hash -f /etc/vsftpd/ftplogins.txt /etc/vsftpd/vsftpd.db

建立vsftpd的宿主用户:

useradd vsftpd -s /sbin/nologin

设置vsftpd的验证方法:

打开/etc/pam.d/vsftpd

# vi  /etc/pam.d/vsftpd

去除里面的所有验证方式,添加以下两行

auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd #(第二是vsftpd是我们生成的vsftpd.db)

account required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd

启动vsftpd,方法如下

service vsftpd start (restart/stop/status)

解释:start 是启动,stop 是停止,restart是重启,status是查看vsftpd的运行状态

遇到的问题

问题1:500 OOPS:cannot change directory:/var/www/html

解决办法:

1、 查看 SELinux 的状态:  sestatus -b | grep ftp      确切地说,只是查看了ftp的状态。

2、 在出现的结果中可以看到  ftp_home_dir        off     tftpd_disable_trans   off之类。我们现在只要把其中之一设置为on就可以啦。

3、 setsebool -P ftpd_disable_trans on      或者 setsebool -P  ftp_home_dir  on

4、 重启vsftpd:  service vsftpd restart

问题2:500 OOPS: cannot open user list file:/etc/vsftpd/user_list

解决办法:这个情况是没有user_list文件

第一种办法:建立这个文件, 采用 echo root >> /etc/vsftpd/user_list

第二种办法:编辑vsftpd.conf,注释掉userlist_enable=YES

问题3:500 OOPS: cannot open chroot() user list file Login failed

解决办法:建立vsftpd.chroot_list文件,touch /etc/vsftpd/vsftpd.chroot_list

问题4:sftpd 启动 报错: vsftpd:500 OOPS: bad bool value in config file for: anonymous_enable

解决办法:vi /etc/vsftpd.conf 时,:每行的值都不要有空格,否则启动时会出现错误,举个例子,假如我在listen=YES后多了个空格,那我启动时就出现…


推荐阅读
author-avatar
fedfedfv_249
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有