博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ftp安装和虚拟用户创建(终于搞清楚了)
阅读量:6409 次
发布时间:2019-06-23

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

安装

 

 一.安装

  sudo apt-get install vsftpd

 

二.查看安装结果

  安装完毕,检查vsftpd进程是否已启动,可以查看进程或者查看监听端口  

1 ps  -eaf|grep  vsftpd 2  3 tony@T:~$ ps -eaf | grep vsftpd 4  5 root      2244     1  0 21:08 ?        00:00:00 /usr/sbin/vsftpd 6  7 tony      2408  2104  0 21:11 pts/0    00:00:00 grep --color=auto vsftpd 8  9 netstat -tnl | grep :2110 11 tony@T:~$ netstat -tnl | grep :2112 13 tcp        0      0 0.0.0.0:21              0.0.0.0:*               LISTEN14 15 端口21正在被监听16 17   

 

 三. 尝试匿名用户登录

  安装完后不用做任何配置既可用匿名方式进行访问,默认的ftp文件夹为/srv/ftp。

  登录可以在浏览器中,文件夹输入框中以及类型windows/Linux终端中进行测试。

  建议使用windows/Linux终端测试,失败了会有错误输出,可以根据错误进行调试。

  更改配置文件vsftpd.conf

anonymous_enable=YES

 

  匿名登录,用户名称ftp,密码不输入,直接回车

1 C:\Users\Tony>ftp 192.168.1.108 2  3 连接到 192.168.1.108。 4  5 220 (vsFTPd 2.2.2) 6  7 用户(192.168.1.108:(none)): ftp 8  9 331 Please specify the password.10 11 密码:12 13 230 Login successful.

  登录到的目录就是/srv/ftp目录,在里面的文件就能够查看到

 

 四. 使用ubuntu的账户登录

  此时就访问ftp账户,默认是linux的账户,使用cmd中登录。

  需要注意的是,ftp服务器端文件路径是用户的家目录

1 C:\Users\Tony>ftp 192.168.1.108 2  3 连接到 192.168.1.108。 4  5 220 (vsFTPd 2.2.2) 6  7 用户(192.168.1.108:(none)): tony 8  9 331 Please specify the password.10 11 密码:12 13 230 Login successful.

 

  五. 在ubuntu中,vsftpd的主要配置文件分布如下:

 

  /etc/vsftpd.conf      vsftpd服务器的配置文件  /usr/sbin/vsftpd      vsftpd服务器的进程文件  /etc/pam.d/vsftpd     vsftpd服务器的PAM接口配置文件  /var/ftp              vsftpd服务器匿名用户的工作目录

 

 

 

  六. vsftpd的开始、关闭和重启

 

  sudo /etc/init.d/vsftpd  start   #开始  sudo /etc/init.d/vsftpd  stop    #关闭  sudo /etc/init.d/vsftpd  restart #重启

 

 

 

创建虚拟账户

 一.安装生成虚拟帐号数据库工具db

  sudo apt-get install db4.8-util

 

 二. 更改vsftp.conf的配置

  修改配置之前,先备份当前配置

  sudo cp /etc/vsftp.conf /etc/vsftp.conf.old

 

  配置的服务器中 vsftpd.conf的参数使用如下:

1   listen=YES 2  3   #listen_ipv6=YES 4  5   anonymous_enable=NO //允许匿名用户访问,若禁止使用NO 6  7   local_enable=YES    //允许本地用户访问,若禁止则使用NO 8  9   write_enable=YES //表示是否允许本地用户有上传权限的,YES表示可以,NO表示禁止,也取决于客户端连接时使用的客户端工具10 11   #local_umask=022 //设置本地用户上传建立文件时的权限掩码12 13   #anon_upload_enable=YES //匿名用户上传文件使能14 15   #anon_mkdir_write_enable=YES //匿名用户可以创建目录16 17   dirmessage_enable=YES //用户切换进入目录时显示.message(如果存在)文件的内容18 19   message_file=Welcome20 21   xferlog_enable=YES      //是否开启传输日志的22 23   connect_from_port_20=YES ////连接控制端口为2024 25   chown_uploads=YES26 27   chown_username=ftp28 29   chroot_local_user=YES //所有的本地用户都被锁定在家目录下30 31   chroot_list_enable=YES32 33   chroot_list_file=/etc/vsftpd/vsftpd.chroot_list34 35   xferlog_file=/var/log/vsftpd.log36 37   xferlog_std_format=YES38 39   idle_session_timeout=60040 41   data_connection_timeout=120 //#数据连接的超时时间42 43   #nopriv_user=ftpsecure44 45   #async_abor_enable=YES46 47   ascii_upload_enable=YES48 49   ascii_download_enable=YES50 51   ftpd_banner=Welcome to blah FTP service. //login欢迎信息52 53   #deny_email_enable=YES54 55   max_clients=1056 57   max_per_ip=558 59   local_max_rate=25600060 61   #hide_ids=YES62 63   idle_session_timeout=300064 65   guest_enable=YES66 67   guest_username=ftp68 69   user_config_dir=/etc/vsftpd/vsftpd_user_conf70 71   pam_service_name=vsftpd.vu72 73   

 

   三. 建立各账户的home目录

  在/home目录建立ftp的账户ftpdir目录

1 cd /home/ftp/2 3   sudo  mkdir  ftpdir

 

  然后在ftpdir目录下创建admin, tony目录

cd  ftpdir   sudo  mkdir admin tony

 

  四.为虚拟用户创建本地系统用户

  虚拟用户家目录为/home/ftpdir, 用户登录终端设为/bin/false(即使之不能登录系统)

  sudo useradd ftp -d /home/ftpdir -s /bin/false  sudo chown -R ftp:ftp /home/ftpdir

 

  五. 创建虚拟用户数据库

  新建loguser.txt文件,

  sudo vi /home/loguser.txt

  里面输入虚拟用户名和密码,格式如下

  admin  admin  tony  tony

 

  注意不要多空格和空行,其中奇数行为用户名,偶数行为密码。

  最后一行需要回车(否则建立数据库文件时无法识别最后一行,导致报奇数行错误)。

  新建一个文件夹/etc/vsftpd,放置配置文件  sudo  mkdir  /etc/vsftpd  然后执行  sudo db4.8_load -T -t hash -f /home/loguser.txt /etc/vsftpd/vsftpd_login.db  最后设置一下数据库文件的访问权限  sudo chmod 600 /etc/vsftpd/vsftpd_login.db

 

 六. 配置PAM文件

 

1   新建/etc/pam.d/vsftpd.vu,并编辑, 2  3   sudo touch /etc/pam.d/vsftpd.vu 4  5   sudo vi /etc/pam.d/vsftpd.vu 6  7   输入内容如下: 8  9   auth  required  /lib/security/pam_userdb.so  db=/etc/vsftpd/vsftpd_login10 11   account  required  /lib/security/pam_userdb.so  db=/etc/vsftpd/vsftpd_login

   七.新建etc/vsftpd /vsftpd_user_conf文件夹

 

  sudo  mkdir  /etc/vsftpd/vsftpd_user_conf  现在,我们要把各个用户的配置文件放到目录/etc/vsftpd/vsftpd_user_conf中  cd  /etc/vsftpd/vsftpd_user_conf  sudo touch admin tony  

 

 

 

   八. 配置admin虚拟用户

   权限:上传,下载删除,重命名.

1   sudo vi /etc/vsftpd/vsftpd_user_conf/admin 2  3   里面添加 4  5   write_enable=YES 6  7   anon_world_readable_only=NO 8  9   anon_upload_enable=YES10 11   anon_mkdir_write_enable=YES12 13   anon_other_write_enable=YES14 15   local_root=/home/ftpdir16 17   

 

九. 配置tony虚拟用户

  权限:上传,下载

1   sudo vi /etc/vsftpd/vsftpd_user_conf/tony 2  3   里面添加 4  5   write_enable=YES 6  7   anon_world_readable_only=NO 8  9   anon_upload_enable=YES10 11   anon_mkdir_write_enable=NO12 13   anon_other_write_enable=NO14 15   local_root=/home/ftpdir/tony

 

  

  十. 新建/etc/vsftpd/vsftpd.chroot_list

 

1   sudo touch /etc/vsftpd/vsftpd.chroot_list2 3   sudo vi /etc/vsftpd/vsftpd.chroot_list4 5   里面添加6 7   admin

 

 

 

在按照以上的过程去安装,有可能Linux的数据源里面根本就找不到对应的安装包,可以通过手动安装的方法;网上找了篇db4的安装问题,分享一下:

1、下载安装文件:

  下载地址直达:

2、dpkg - i  db4.8-util_4.8.30-11ubuntu1_amd64.deb

即可

命令使用:这里针对Vsftpd虚拟用户的创建

sudo db4.8_load -T -t hash -f /home/user.txt /etc/vsftpd_login.db

当然也有命令安装db的方法:

已解决了  sudo apt-get install  db-util
 
在这又不得不来句粗口,尼玛,之前找了那么久的解决办法,原来是没有找对方法,网上一大堆也是无用的,有些方法更本用不了,回头想想当你的知识积累起来了之后,你就会忽然想起来这问题的解决方法,自己都会被自己惊呆,当年这么简单的问题居然都不会,当年真是傻呆笨啊!
总结:知识积累是多么地重要啊!

 

转载于:https://www.cnblogs.com/cqlb/p/9540747.html

你可能感兴趣的文章
数据库分库分表
查看>>
腾讯Hermes设计概要——数据分析用的是列存储,词典文件前缀压缩,倒排文件递增id、变长压缩、依然是跳表-本质是lucene啊...
查看>>
小程序模板嵌套以及相关遍历数据绑定
查看>>
Systemd入门教程:命令篇(转)
查看>>
java随机范围内的日期
查看>>
linux包之diff
查看>>
spring事务学习(转账案例)(二)
查看>>
[官方教程] [ES4封装教程]1.使用 VMware Player 创建适合封装的虚拟机
查看>>
http协议与http代理
查看>>
【iOS开发-91】GCD的同步异步串行并行、NSOperation和NSOperationQueue一级用dispatch_once实现单例...
查看>>
Redis+Spring缓存实例
查看>>
Storm集群安装详解
查看>>
centos7.x搭建svn server
查看>>
原码编译安装openssh6.7p1
查看>>
项目实战:自定义监控项--监控CPU信息
查看>>
easyui-datetimebox设置默认时分秒00:00:00
查看>>
蚂蚁分类信息系统5.8多城市UTF8开源优化版
查看>>
在django1.2+python2.7环境中使用send_mail发送邮件
查看>>
“Metro”,移动设备视觉语言的新新人类
查看>>
PHP源代码下载(本代码供初学者使用)
查看>>