设为首页 收藏本站
查看: 760|回复: 0

[经验分享] VSFTP虚拟用户的配置

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-11-3 08:31:12 | 显示全部楼层 |阅读模式
VSFTP虚拟用户的配置
环境:rhel6.5-x64
方法一:使用预设配置
首先安装vsftpd软件包 yum -y install vsftpd //有可用的yum源
然后cd  /usr/local/doc/vsftpd-2.2.2/EXAMPLE/VIRTUAL_USERS
然后查看置README按步骤即可完成设
#######简单的操作是将设置好的配置文件全部拷贝到相应的目录重启服务即可
方法二:自己手动配置
1、创建一个本地的用户,用于虚拟用户的授权
useradd -d /home/ftpsite -s /sbin/nologin virtual   //指定ftp站点和本地用户名
目录会自动创建,注意指定的ftp站点virtual必须有完全权限
可以在下面创建一个文件便于一会测试使用,文件virtual需有权限
2、建立虚拟用户的数据库文件
首先先建立一个用户名和密码的文本文件,用户名和密码各占一行,如:login.txt
tom
123
zhangsan
456
然后生成数据库文件(前提是必须安装了db4-utils-4.7.25-18.el6_4.x86_64,某些系统是db3)
db_load -T -t hash -f login.txt /etc/vsftpd/login.db   //这里-f后面的文件必须是前面的用户名和密码文件,后面生成数据库文件下面设置PAM模块的时候会使用
chmod 600 /etc/vsftpd/login.db   //在生成数据库后就可以将前面的使用过的文本删除了
3、设置pam模块,认证虚拟用户
cp vsftpd.pam /etc/pam.d/ftp   //直接拷贝软件文档所给模版时,需要将pam_userdb.so前面的路径去掉或者改成正确的或者直接删除pam_userdb.so前面的路径
或者修改/etc/pam.d/vsftpd,在文件中添加如下两行
auth required pam_userdb.so db=/etc/vsftpd/login
account required pam_userdb.so db=/etc/vsftpd/login
###db就是指定虚拟用户数据库文件所在的路径,不需要加后缀.db
###FTP服务默认识别名为ftp的pam文件,如果名称不是ftp,则需要修改配置文件添加
pam_service_name=vsftpd   //vsftpd就是pam文件的名称
4、修改配置文件
直接拷贝模版中的配置文件cp vsftpd.conf /etc/vsftpd/
###如果上述pam文件不是ftp,需要拷贝之后修改模版
或者是在原有的配置文件中修改一下主要参数
anonymous_enable=NO
local_enable=YES
write_enable=NO
anon_upload_enable=NO
anon_mkdir_write_enable=NO
anon_other_write_enable=NO
chroot_local_user=YES   /禁锢家目录,就是前面设置的/home/ftpsite
guest_enable=YES     //启用来宾用户,必须打开
guest_username=virtual  //设置用于虚拟授权的本地用户名称,本次为vritual
listen=YES
listen_port=10021    //设置监听的端口,默认为21
pasv_min_port=30000   
pasv_max_port=30999   //设置用于传输数据的临时端口的范围
#pam_service_name=vsftpd  //设置pam认证的文件名称,如果为ftp则可以不写这项
5、启服务
Service vsftpd start
6、测试
ftp localhost 10021
然后输入虚拟用户测试下载
7、拓展:可以为每个用户设置单独的配置文件
在配置文件中添加下面这行,指定用户配置文件所在目录
user_config_dir=/etc/vsftpd_user_conf

然后创建这个目录mkdir /etc/vsftpd_user_conf

设置tom可以列出目录,在/etc/vsftpd_user_conf目录下创建文件tom
在tom文件中添加属于tom的配置
anon_world_readable_only=NO
设置zhangsan有查看,和上传的权限,在/etc/vsftpd_user_conf目录下创建文件zhangsan
在zhangsan配置文件中添加
anon_world_readable_only=NO
write_enable=YES
anon_upload_enable=YES

这样的优势就是可以分别设置用户的权限,灵活,而且易于控制。



常见错误:
1、login fail
检测pam文件的名称看是否与配置文件中的一致,或者是看来宾用户是否开启
2、500 OOPS: cannot change directory:/home/virtual
这是因为开启了selinux后,ftp的布尔值没有开启
解决方法:要不关闭selinux
要不就设置setsebool -P ftpd_disable_trans 1
          setsebool -P ftp_home_dir 1
###-P是永久生效的参数
然后查看getsebool -a | grep ftp
看上面修改的两项是否为on状态
然后重启服务
3、查看后报出一下错误
ls
227 Entering Passive Mode (192,168,4,150,120,110).
150 Here comes the directory listing.
226 Transfer done (but failed to open directory).
###列取目录失败,但是下载没有任何问题
解决方法:
在配置文件中添加一行anon_world_readable_only=NO,但可能涉及到安全问题



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-134287-1-1.html 上篇帖子: centos7 vsftpd 虚拟用户 pam模块认证 下篇帖子: VSftp常规服务配置 用户
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表