Linux下FTP服务(一)—— Ubuntu安装
参考:http://www.cnblogs.com/likwo/p/3154868.html
实验环境:Ubuntu 14.04 VMware虚拟机1. 安装
apt-get install vsftpd
2. 创建用户、目录
创建FTP目录
# mkdir /srv/ftp/data
注:/srv/ftp/ 默认创建
创建FTP用户
# useradd -d /srv/ftp/data/ -s /usr/sbin/nologin -M pwftp
注:
-d :指定用户家目录,
-s:指定用户登入后所使用的shell,/usr/sbin/nologin即为不允许登录,
-M:不要自动建立用户的登入目录,即不复制默认用户文件等。
添加密码
# passwd pwftp
更改分享目录所属
# chown -R pwftp.pwftp /srv/ftp/data/
3. 配置vsftp
# vi /etc/vsftpd.conf
将配置文件中”anonymous_enable=YES “改为 “anonymous_enable=NO”
取消如下配置前的注释符号:
local_enable=YES
write_enable=YES
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
保存退出
编辑/etc/vsftpd.chroot_list文件,将ftp的账户名(pwftp)添加进去,保存退出.
注意:每个账户名独占一行。
若无此文件,则创建
# vi /etc/vsftpd.chroot_list
pwftp
4. 配置防火墙
在配置文件/et/vsftpd.conf中,有这样的配置:
所以,需要同时开启20,21两个端口。
# ufw allow 20
# ufw allow 21
此命名同时开启20,21的tcp和udp协议的端口,也可执行协议端口。
# ufw allow 21/tcp
5. 修改shell配置
编辑/etc/shells,如果该文件里没有/usr/sbin/nologin 或者/sbin/nologin(具体看当前系统配置)则追加进去
# vi /etc/shells
5. 重启服务
# service vsftpd restart
6. 客户端连接
1)Linux
以本机为例:
# ftp localhost
连接本机ftp服务。提示登录用户名,及其密码。
输入:pwftp 及密码
输入:
pwd :查看当前目录
ls : 查看目录
上传文件:put local-file [remote file]
在/tmp/下,存在文件test
ftp> put /tmp/test /srv/ftp/data/test
其他命令,请自行查阅
2)Windows
使用Xftp、WinSCP、Filezila等客户端进连接。下以Xftp为例:
打开终端
点击上图按钮,新建或打开已有会话。
选项注解:
名称:即为会话名称,以区分其他连接
主机:即为目标主机的主机名或IP
协议:即为使用的协议,默认FTP,SFTP建立在SSH基础之上,加密传输。
端口:FTP使用21,SFTP使用22
代理服务器:无
说明:对该会话连接做说明
登录选型:
匿名登录: 需要主机配置,在主机配置文件中/etc/vsftpd.conf中。
默认不允许,不安全。
方法:默认为Password,密码登录
用户名:即上述创建的用户,pwftp
密码:即为用户pwftp的密码
参考下图,实际配置:
连接后,显示内容:
测试:
在主机分享目录(/srv/ftp/data)下创建文件,Xftp中显示。如下图所示:
在分享目录中创建文件text.txt,同时在Xftp会话中刷新,即可看见新建文件。
如有不当之处,请不吝指正!!
Linux下FTP服务(一)—— Ubuntu安装的更多相关文章
- linux下FTP服务搭建(1)
1.FTP介绍: FTP (File Transfer Protocol,文件传输协议)主要用来文件传输,尤其适用于大文件传输,提供上传下载功能 FTP官方网站:https://filezilla-p ...
- linux下Ftp服务安装
安装vsftp 使用yum命令安装vsftp #yum install vsftpd -y 如果yum安装不成功,可以到 http://pkgs.org/centos-6/centos-x86_64/ ...
- linux下ftp、telnet的安装和使用
1.ftp的安装和使用 一般在各种linux的发行版中,默认带有的ftp软件是vsftp. 使用如下命令#rpm -qa | grep vsftpd可以检测出是否安装了vsftpd软件,如果没有安装, ...
- <Linux下FTP服务的搭建>
默认安装好ftp软件包匿名用户是可以下载的.匿名以后可以上传:anon_upload_enable=YES# getsebool -a | grep ftpallow_ftpd_anon_write ...
- Linux下MongoDB服务安装
Linux下MongoDB服务安装 MongoDB是一个基于分布式文件存储的数据库.由C++语言编写.旨在为WEB应用提供可扩展的高性能数据存储解决方案.MongoDB是一个介于关系数据库和非关系数据 ...
- Linux 下Telnet 服务安装
Linux 下Telnet 服务安装 注:以下所有命令均在root用户下执行. 命令测试在Linxu版本6.x下完成,部分命令不适用Linux 7.0以上 1.简介 默认情况下Linux只安装了Tel ...
- linux下搭建lamp环境以及安装swoole扩展
linux下搭建lamp环境以及安装swoole扩展 一.CentOS 6.5使用yum快速搭建LAMP环境 准备工作:先更新一下yum源 我安装的环境是:apache2.2.15+mysql5 ...
- Linux下非root用户如何安装软件
Linux下非root用户如何安装软件 从windows转移到Linux的用户最开始总会有各种不适,因为这种不适最终放弃linux的不在少数.对于这类人只能说可惜,还没有领略到linux的美好就过早放 ...
- 《Linux下FTP服务器搭建及FTP使用》
.LOGAndy:mxtd114 <Linux下FTP服务器搭建> 0.root登录 1.安装ftp # yum -y install ftp 2.安装vsftpd # yum -y in ...
随机推荐
- 组合数学 - 母函数的变形 --- hdu 1171:Big Event in HDU
Big Event in HDU Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others ...
- [CLR via C#]11. 事件
一. 设计要公开事件的类型 如果类型定义了事件成员,那么类型(或类型实例)就可以通知其他对象发生了一些特定的事情. 例如,Button类提供了一个名为Click的事件.应用程序中的一个或多个对象可能想 ...
- 泛函编程(24)-泛函数据类型-Monad, monadic programming
在上一节我们介绍了Monad.我们知道Monad是一个高度概括的抽象模型.好像创造Monad的目的是为了抽取各种数据类型的共性组件函数汇集成一套组件库从而避免重复编码.这些能对什么是Monad提供一个 ...
- ahjesus C# 4.0 Parallel 并行运算
Parallel.For - for 循环的并行运算 Parallel.ForEach - foreach 循环的并行运算 Parallel.Invoke - 并行调用多个任务 Task - 任务,基 ...
- JavaScripts 基础详细笔记整理
一.JS简介 JavaScript 是 Web 的编程语言,浏览器内置了JavaScript语言的解释器,所以在浏览器上按照JavaScript语言的规则编写相应代码之,浏览器可以解释并做出相应的处理 ...
- [.NET] SQL数据分页查询
[.NET] SQL数据分页查询 程序下载 范例下载:点此下载 原始码下载:点此下载 NuGet封装:点此下载 数据查询 开发系统时,使用C#执行SQL查询指令,就可以从SQL数据库里查询所需数据. ...
- 如何rename sqlserver database
Problem Sometimes there is a need to change the name of your database whether this is because the or ...
- python基础之基本算法和装饰器
1.冒泡排序 关于冒泡排序实现大小比较,大索引会向后移动,这次循环将最大数值直接移动至最后. li = [,,,,] ): ]: temp = li[i] li[i] = li[i + ] li[i ...
- ASP.NET MVC 微信公共平台开发之 微信接入
ASP.NET MVC 接入微信公共平台 申请微信公共账号 既然要接入微信公共平台,微信公共号是必须的(当然如果只是测试的话也可以申请微信公共平台接口测试账号),来这里微信公共平台 申请微信公共号(注 ...
- android 事件
package com.example.yanlei.my2; import android.app.Activity; import android.content.Context; import ...