ftp安装和虚拟用户创建(终于搞清楚了)
安装
一.安装
sudo apt-get install vsftpd
二.查看安装结果
安装完毕,检查vsftpd进程是否已启动,可以查看进程或者查看监听端口
ps -eaf|grep vsftpd tony@T:~$ ps -eaf | grep vsftpd root : ? :: /usr/sbin/vsftpd tony : pts/ :: grep --color=auto vsftpd netstat -tnl | grep : tony@T:~$ netstat -tnl | grep : tcp 0.0.0.0: 0.0.0.0:* LISTEN 端口21正在被监听
三. 尝试匿名用户登录
安装完后不用做任何配置既可用匿名方式进行访问,默认的ftp文件夹为/srv/ftp。
登录可以在浏览器中,文件夹输入框中以及类型windows/Linux终端中进行测试。
建议使用windows/Linux终端测试,失败了会有错误输出,可以根据错误进行调试。
更改配置文件vsftpd.conf
anonymous_enable=YES
匿名登录,用户名称ftp,密码不输入,直接回车
C:\Users\Tony>ftp 192.168.1.108 连接到 192.168.1.108。 (vsFTPd 2.2.) 用户(192.168.1.108:(none)): ftp Please specify the password. 密码: Login successful.
登录到的目录就是/srv/ftp目录,在里面的文件就能够查看到
四. 使用ubuntu的账户登录
此时就访问ftp账户,默认是linux的账户,使用cmd中登录。
需要注意的是,ftp服务器端文件路径是用户的家目录
C:\Users\Tony>ftp 192.168.1.108 连接到 192.168.1.108。 (vsFTPd 2.2.) 用户(192.168.1.108:(none)): tony Please specify the password. 密码: 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.-util
二. 更改vsftp.conf的配置
修改配置之前,先备份当前配置
sudo cp /etc/vsftp.conf /etc/vsftp.conf.old
配置的服务器中 vsftpd.conf的参数使用如下:
listen=YES #listen_ipv6=YES anonymous_enable=NO //允许匿名用户访问,若禁止使用NO local_enable=YES //允许本地用户访问,若禁止则使用NO write_enable=YES //表示是否允许本地用户有上传权限的,YES表示可以,NO表示禁止,也取决于客户端连接时使用的客户端工具 #local_umask= //设置本地用户上传建立文件时的权限掩码 #anon_upload_enable=YES //匿名用户上传文件使能 #anon_mkdir_write_enable=YES //匿名用户可以创建目录 dirmessage_enable=YES //用户切换进入目录时显示.message(如果存在)文件的内容 message_file=Welcome xferlog_enable=YES //是否开启传输日志的 connect_from_port_20=YES ////连接控制端口为20 chown_uploads=YES chown_username=ftp chroot_local_user=YES //所有的本地用户都被锁定在家目录下 chroot_list_enable=YES chroot_list_file=/etc/vsftpd/vsftpd.chroot_list xferlog_file=/var/log/vsftpd.log xferlog_std_format=YES idle_session_timeout= data_connection_timeout= //#数据连接的超时时间 #nopriv_user=ftpsecure #async_abor_enable=YES ascii_upload_enable=YES ascii_download_enable=YES ftpd_banner=Welcome to blah FTP service. //login欢迎信息 #deny_email_enable=YES max_clients= max_per_ip= local_max_rate= #hide_ids=YES idle_session_timeout= guest_enable=YES guest_username=ftp user_config_dir=/etc/vsftpd/vsftpd_user_conf pam_service_name=vsftpd.vu
三. 建立各账户的home目录
在/home目录建立ftp的账户ftpdir目录
cd /home/ftp/ 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 /etc/vsftpd/vsftpd_login.db
六. 配置PAM文件
新建/etc/pam.d/vsftpd.vu,并编辑, sudo touch /etc/pam.d/vsftpd.vu sudo vi /etc/pam.d/vsftpd.vu 输入内容如下: auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login 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虚拟用户
权限:上传,下载删除,重命名.
sudo vi /etc/vsftpd/vsftpd_user_conf/admin 里面添加 write_enable=YES anon_world_readable_only=NO anon_upload_enable=YES anon_mkdir_write_enable=YES anon_other_write_enable=YES local_root=/home/ftpdir
九. 配置tony虚拟用户
权限:上传,下载
sudo vi /etc/vsftpd/vsftpd_user_conf/tony 里面添加 write_enable=YES anon_world_readable_only=NO anon_upload_enable=YES anon_mkdir_write_enable=NO anon_other_write_enable=NO local_root=/home/ftpdir/tony
十. 新建/etc/vsftpd/vsftpd.chroot_list
sudo touch /etc/vsftpd/vsftpd.chroot_list sudo vi /etc/vsftpd/vsftpd.chroot_list 里面添加 admin
在按照以上的过程去安装,有可能Linux的数据源里面根本就找不到对应的安装包,可以通过手动安装的方法;网上找了篇db4的安装问题,分享一下:
1、下载安装文件:
下载地址直达:http://cz.archive.ubuntu.com/ubuntu/pool/universe/d/db4.8/
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
在这又不得不来句粗口,尼玛,之前找了那么久的解决办法,原来是没有找对方法,网上一大堆也是无用的,有些方法更本用不了,回头想想当你的知识积累起来了之后,你就会忽然想起来这问题的解决方法,自己都会被自己惊呆,当年这么简单的问题居然都不会,当年真是傻呆笨啊!
总结:知识积累是多么地重要啊!
ftp安装和虚拟用户创建(终于搞清楚了)的更多相关文章
- ftp安装和虚拟用户创建
安装 1.安装 sudo apt-get install vsftpd 2 查看安装结果 安装完毕,检查vsftpd进程是否已启动,可以查看进程或者查看监听端口 ps -eaf|grep vsftpd ...
- FTP原理和虚拟用户映射登录-2019.2.8
FTP主动模式和被动模式 FTP(File Transfer Protocol)是文件传输协议的简称.正如其名所示:FTP的主要作用,就是让用户连接上一个远程计算机(这些计算机上运行着FTP服务器程序 ...
- Ubuntu14 vsftp 的安装和虚拟用户配置
一.介绍 FTP 是 File Transfer Protocol (文件传输协议)的缩写 ,在 Unix/Linux 系统中常用的免费 FTP 服务器软件主要是 VSFTP,vsftp的官方地址:h ...
- vsftpd虚拟用户创建实例(转载)
vsftpd虚拟用户创建实例 发布:theboy 来源:net [大 中 小] vsftpd虚拟用户创建实例,有需要的朋友可以参考下. vsftpd虚拟用户创建实例,有需要的朋友可以参考 ...
- Centos下安装FTP并进行虚拟用户访问方式配置
1. 安装认证所需包 [root@localhost]#yum install pam* [root@localhost]#yum install db4* 首先安装PAM(用于用户认证)和DB4(用 ...
- vsftpd安装及虚拟用户配置
服务器环境:CentOS6.9 Linux 2.6.32-696.10.1.el6.x86_64 安装vsftpd.db4.db4-utils # yum -y install vsftpd db4 ...
- vsftpd服务安装与虚拟用户配置
vsftpd的全名是“Very secure FTP Daemon” 一.安装vsftpd安装db4-util用于生成认证文件 yum -y install db4-utils 安装vsftpd yu ...
- vsftpd安装配置虚拟用户
原文发表于cu:2016-03-11 参考文档: FTP原理:http://vbird.dic.ksu.edu.tw/linux_server/0410vsftpd_1.php FTP配置:http: ...
- CentOS 6.8 ftp服务安装配置 基于本地用户和虚拟用户
CentOS 6.8 ftp服务安装配置 基于本地用户和虚拟用户 一.安装ftp服务 1.检查是否已经安装 # rpm -qa | grep ftp ftp-0.17-54.el6.x86_64 vs ...
随机推荐
- 按下enter触发事件
原理:按下enter的事件属于键盘事件,我们可以先用下面函数来获取enter的键码(键盘上的按键都有各自的键码),通过这个键码可以来判断按下的是哪个键 document.addEventListene ...
- ltelliJ IDEA 创建Maven web项目无src目录的解决方案
https://blog.csdn.net/xiaoke815/article/details/72810976 一.缘由 这几天闲来无事,突然想试试IDEA这个编译器,之前一直都在用Eclipse ...
- 安装Dubbo 并且安装注册中心(Zookeeper-3.3.6)
安装zookeeper 安装Tomcat 载dubbo-admin-2.5.4.war 进入Apache ZooKeeper官方网站进行下载,https://zookeeper.apache.org/ ...
- cgo
package main import ( "unsafe" "fmt") /*#cgo CFLAGS: -I./#cgo LDFLAGS: -L./#incl ...
- js将伪数组转换为标准数组的多种方法
在js中,数组是特殊的对象,凡是对象有的性质,数组都有,数组表示有序数据的集合,而对象表示无序数据的集合. 那伪数组是什么呢,当然它也是对象,伪数组一般具有以下特点: 按索引方式存储数据: 具有len ...
- centos7 禁止root远程ssh直接登录
修改/etc/ssh/sshd_config文件,将 #PermitRootLogin yes 修改为 PermitRootLogin no 查看 more /etc/ssh/sshd_confi ...
- centos7.7下docker与k8s安装(DevOps三)
1.系统配置 centos7.7 docker 1.13.1 centos7下安装docker:https://www.cnblogs.com/pu20065226/p/10536744.html 2 ...
- Linux_Shell基础
目录 目录 查看系统中可以使用的shell 重定向 管道 变量 export指令与echo的不同 算术运算符 用户个性化系统变量文件 通配符 引号 文件比较运算符 查看系统中可以使用的shell ca ...
- mxml 嵌入as代码出错,缺少 CDATA
如果<mx:Script> 中有大于小于符号,代码必须包含在<![CDATA[ 之中,否则会报错
- oracle数据字典视图
数据字典的概念 还记得我们在手工建库的时候,运行的两个脚本文件.一个是catalog.sql,另一个是catproc.sql.catalog.sql是用来创建数据库的内部字典表的.catp ...