基于虚拟帐号 的vsftpd服务器-阿里云开发者社区

开发者社区> 余二五> 正文

基于虚拟帐号 的vsftpd服务器

简介:
+关注继续查看

关于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,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
vscode插件快餐教程(4) - 语言服务器协议lsp
在有lsp之前,存在三个主要问题: 一是语言相关的扩展都是用该语言母语写的,不容易集成到插件中去。毕竟现在大量的语言都带有运行时。 二是语言扫描相关的工作都比较占用CPU资源,运行在vscode内部不如放在独立进程,甚至远程服务器上更好。
2862 0
DevOps的支撑服务:K8s容器管理与应用部署
本文讲的是DevOps的支撑服务:K8s容器管理与应用部署,大家好,本期微课堂介绍在新一代数字化企业云平台中对于Kubernetes的学习以及使用的总结。
2990 0
micro_httpd服务器实现机制分析
micro_httpd是一个轻量级的http服务器 (http://www.acme.com/software/micro_httpd/),micro_httpd从xinetd运行,性能较差,但对于负载较小的网站,micro_httpd是能胜任的,其实现了http服务器的一些基本特征功能: 1.  .
875 0
上传文件到服务器端后进一步推送到sftp服务器
扩展安装 要想sftp服务端发送文件,就需要php脚本具有作为ssh客户端的能力,所以需先为php安装如下扩展 openssl openssl-dev libssh php ssh 扩展 按照下面的命令进行安装 1 rpm -qa | grep openssl 2 wget http://www.
942 0
RHEL5中配置vsftpd搭建FTP服务器
RHEL5中配置vsftpd搭建FTP服务器 RPM安装包名:vsftpd-2.0.5-10.el5.i386.rpm (第二张光盘) 下载地址:http://vsftp.
589 0
+关注
20382
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载