博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
基于虚拟帐号 的vsftpd服务器
阅读量:5958 次
发布时间:2019-06-19

本文共 2209 字,大约阅读时间需要 7 分钟。

关于ftp服务器使用tcp链接和tcp端口,在通信时,ftp需要建立两个tcp链接,哟个用于控制信息,tcp端口号缺省为21,一个拥有数据传输,tcp端口号缺省为20,当然vsftp是 基于   GPL发布的类型unix系统上的ftp服务器

确认
 
本机系统上是否安装
db4-utils 
vsftpd
等软件包,如果没有安装请安装这两个软件

启动
vsftpd
服务

# service  vsftpd start

#chkconfig  vsftpd  on

建立虚拟
ftp
用户的账号数据文件,在建立虚拟用户的帐号,及密码是应注意

  
奇数行为用户名,偶数行为密码,当然每一行只能有一个用户
 
或密码;

可以把存放用户帐号及密码的文件,放在任何的目录下面,这里放在
/etc/vsftpd

#cd  /etc/vsftpd

#vim vusers.txt

wendy

123

natasha

 456

 
把保存后的虚拟账户的文件,转化为数据文件

   # Db_load –T –t hash –f  vusers.txt  vusers.db

   #file  vusers.db

      vusers.db: Berkeley DB (Hash, version 8, native byte-order)

修改虚拟账号的文件权限

# chmod  600  vusers.txt  vusers.db

6  
创建
ftp
根目录及虚拟用户映射的系统用户

 

   # mkdir /var/ftproot

   #useradd –d /var/ftproot –s /sbin/nologin  vsftp

   # chmod 755 /var/ftproot

#chown  vsftp:vsftp  /var/ftproot/

建立
pam
认证

   #cd  /etc/pam.d

   #vim  vsftpd.vu

      #%PAM-1.0

      auth required pam_userdb.so db=/etc/vsftpd/vusers

      auth required  pam_userdb.so   db=/etc/vsftpd/vusers

vsftpd.conf
文件中添加支持配置

#cd /etc/vsftpd/vsftpd.conf

 local_enable=YES

 write_enable=YES

 anon_umask=022

 guest_enable=YES

 guest_username=vsftp

 pam_service_name=vsftpd.vu

为个别虚拟用户建立独立的配置文件

     
vsftp.conf
文件中添加用户配置目录支持

          user_config_dir=/etc/vsftpd/vusers

      
为没给用户建立独立的配置目录及文件

     

     # mkdir /etc/vsftpd/vusers

     # cd /etc/vsftpd/vusers

      #vim  wendy

       anon_upload_enable=NO

       anon_mkdir_write_enable=NO

      

 

     #vim  natasha

         anon_upload_enable=YES

         anon_mkdir_write_enable=YES

 

10 
重新读取
vsftpd
的配置文件或者重新启动
vsftpd
服务

     # service vsftd  reload

 
或者

 # service  vsftpd  restart

11 
用虚拟用户访问
ftp
服务器

 # ftp  IP

  
当然有可能报错,例如:

   #ftp 192.168.222.3

     Connected to 192.168.222.3.

220 (vsFTPd 2.0.5)

530 Please login with USER and PASS.

530 Please login with USER and PASS.

KERBEROS_V4 rejected as an authentication type

Name (192.168.222.3:root): natasha 

331 Please specify the password.

Password:

530 Login incorrect.

Login failed.

 

出现该错误的原因是:
 iptables 
在开启,
selinux
在开启

 
首先把
iptables 
的表清空或者停用
iptables

 # service iptables stop

12 selinux
开启是,虽说不能访问
ftp
的服务器

但是可以把
selinux
关闭,这一种方法,

另一种方法是,修改标签

 # chcon –R –t  public_content_t  ftproot

 

13 
修改布尔值

 # allow_ftpd_anon_write --> on

 # ftp_home_dir --> on 
而在默认的情况下该两项的布尔值都是
off
的,
 ftp_home_dir 
不改成
on 
selinux
对其有限制,而致使虚拟用户不能访问
ftp
服务器
在此用虚拟用户访问ftp服务并验证其各自的权限
本文转自 freehat08 51CTO博客,原文链接:http://blog.51cto.com/freehat/303564,如需转载请自行联系原作者
你可能感兴趣的文章
CentOS6.5+mysql5.1源码安装过程
查看>>
Js 笔记
查看>>
C++: find()函数的注意事项
查看>>
js的事件学习笔记
查看>>
leetcode 【 Add Two Numbers 】 python 实现
查看>>
Android接收系统广播
查看>>
将网络中的图片存为NSData并保存到sqlite的BLOB字段中
查看>>
Cocos2d-js-v3.2 在 mac 上配置环境以及编译到 Andorid 的注意事项(转)
查看>>
iOS用三种途径实现一方法有多个返回值
查看>>
python--class test
查看>>
从零开始理解JAVA事件处理机制(3)
查看>>
HttpURLConnection类的使用
查看>>
linux命令分析---SED (二)
查看>>
[INS-32025] 所选安装与指定 Oracle 主目录中已安装的软件冲突。
查看>>
py2与py3差别
查看>>
windows知识点
查看>>
第五章多态课后java_Java程序设计课后练习答案
查看>>
idea无用插件_没用过这些IDEA插件?怪不得写代码头疼
查看>>
linuxliveu盘怎么用_怎么用U盘重装系统?
查看>>
国际学院c语言作业,C语言程序的国际化
查看>>