一、今天下午由于课程的要求不得已做了Ubuntu搭建Ftp服务器的实验,但是实验指导书还是N年前的技术,网上搜了一大把,都是模模糊糊的!

在百般困难中终于试验成功,特把经验分给大家 希望大家少走弯路!

二、详细步骤如下:

(1)首先打开终端进入root模式下(在终端中输入:sudo su 回车 提示输入密码  输入密码即可);

(2)安装vsftpd软件(首先要联网,或者通过新http://www.cppcns.com立德软件安装!卸载软件命令:sudo apt-get remove vsftpd)

命令:sudo apt-get install vsftpd

(3)安装成功之后,默认的会在 文件系统下的srv 目录下创建一个ftp文件(和home在同一级目录下的),这里就是ftp服务器的默认文件夹!

(4)在有一些文档上说的是在ftp服务器自动创建的目录是在home目录下的ftp文件夹,但是我始终没有找到(一般home目录下是用户的目录),自己创建的在访问ftp的时候也是没有找到!

(5)向服务器目录添加文件夹和文件,首先在srv/ftp/下创建一个文件夹test(手动无法创建,只能通过命令实现!)

命令:mkdir   /srv/ftp/test

得到创建好的文件夹:

多创建几个目录仅用于测试!

(6)在test文件夹中创建一个文件:touch     /srv/ftp/test/1.txt 文件

(7)编辑该1.txt文件:(由于权限的管理,需要利用root模式更改文件内的内容!)

sudo gedit /srv/ftp/test/1.txt    会弹出一个记事本文件 是root权限下打开的才可以修改的|!随便加些内容

(8)为了说明一个命令,重启一下!

命令是:sudo /etc/init.d/vsftpd restart

(9)查看是否成功 找到Ubuntu的IP地址,在地址栏中访问  我的是:ftp://192.168.136.130/   或者是ftp://localhost,以下是截图:

进入test找到1.txt文件 点击进入!

(10)ok!到此完成!

三、上述中知识介绍了一般默认的配置,我们通常是需要根据自己的需求配置的,以下是一些常见的配置!

如需修改的话还是需要在root权限下修改 使用命令:sudo      gedit       /ehttp://www.cppcns.comtc/vsftpd.conf

(1)匿名用户相关设置

anonymous_enable=YES     ,将YES改为NO, 禁止匿名用户登陆

#anon_mkdir_write_enable=YES    ,将#注释去掉,允许匿名用户创建目录

#non_upload_enalbe=YES   ,将#去掉,允许匿名用户上传

anon_world_readable_only=YES  ,允许匿名用户下载,默认是禁止的,这个可以自行添加。

Anon_other_write_enable=YES  ,将其设为YEhttp://www.cppcns.comS的话,就除了上传和创建目录外,还可以重命名,删除文件,默认是NO

no_anon_password=NO     ,将其设为YES,匿名用户不会查询用户密码直接登陆。

ftp_username=ftp  ,匿名用户登陆系统的账号默认为ftp,此项最好不要改;

chroot_local_user=YES #把本地用户限制在自己的home文件夹中,这样子登录之后就不能访问自己home之外的文件了,这样子是出于安全上的考虑

anon_root=/var/ftp/anon #指定匿名登录后的根文件夹,也就是对于匿名用户,会把/var/ftp/anon映射为它的根目录

(2)FTP服务端口的指定

listen_port=8021  ,指定命令通道为8021,默认为21

listen_data_port=8020  ,指定数据通道为8020,默认为20

(3)上传模式的设置

pasv_enable=YES         ,是否允使用被动模式,默认是允许的。

pasv_min_port=10000   ,指定使用被动模式时打开端口的最小值

pasv_max_port=10004 ,指定使用被动模式时打开端口的最大值。

(4)Vsftp服务器指定I

listen_address=192.168.0.21 ,  指定FTP,IP地址

注:只有当vsftp运行于独立模式时才允许使用指定IP,如果在/etc/xinetd.d目录下已经建立了vsfpd文件,就要将该文件中的disable设置为yes,方可。

(5)锁定用户,禁止用户离开用户主目录

chroot_local_user=YES ,将其设为YES,就锁定在用户主目录,设为NO,可以切换

将指定用户设置为锁定用户主目录:

#chroot_list_enable=YES

#chroot_list_file=/etc/vsftpd.chroot_list

将其改为如下:

chroot_list_enable=NO

chroot_list_file=/etc/vsftpd/vsftpd.chroot_list

将上面保存,再做如下操作:

#touch /etc/vsftpdvsftpd.chroot_list

#vi /etc/vsftpd/vsftpd.chroot_list ,在该文件中加入用户名单,如:netseek_com

(6)vsftpd服务器的流量控制

max_clients=100 ;允许的最大连接数,定义为100,默认为0,表没有限制

max_per_ip=5 ;每个IP允许的连接数,0表没有限制,需要运行于独立模式方可

anon_max_rate=50000 ;匿名用户最大带宽,单位为bps

local_max_rate=200000  ;系统用户最大带宽

(7)vsftpd定制欢迎信息

目录说明设置

#vi /etc/vsftpd.conf

#dirmessage_enable=YES,前的#去掉。

然后我们定制一个.message,写上你想写的东西,然后把这个文件复制到各个用户的家目录中,就OK。

(9)vsftpd系统欢迎消息设置

ftpd_banner=Welcome to ftp.netseek.com , Yeah!!!

系统欢迎消息文件设置

banner_file=/etc/vsftpd/welcome   与ftpd_banner相类似,不同之处在于,banner_file指定欢迎文件。

四、创建用户

但这样是不能上传文件的。因为这是匿名用户,当前目录所有者是root用户; 真的要上传文件在该目录下建立一个文件夹如名字是upload,

$ sudo mkdir /srv/ftp/upload

$ sudo chown ftp:root /srv/ftp/upload

这个时候可以传文件到upload目录,但根目录还是不能上传文件,这是匿名用户,如果不是匿名用户就不存在这个问题。

1). 修改配置文件/etc/vsftpd.conf

anonymous_enable=NO

local_enable=YES

write_enable=YES

chroot_local_user=YES

2). 创建本地用户

$ sudo useradd ftpuser -m

$ sudo passwd ftpuser

便可用ftpuser登录FTP了。

6. 如果出现错误:500 OOPS: vsftpd: refusing to run with writable anonymous root

这表示ftp用户的家目录的权限不对,这个目录的权限是不能打开所有权限的;是运行了chmod 777 /srv/ftp所致;如果没有ftp用户这个家目录,当然您要自己建一个;

FTP用户的家目录是不能针对所有用户、用户组、其它用户组完全开放的;解决办法如下:

# chown root:root /srv/ftp

# chmod 755 /srv/ftp

7. 防火墙打开相应的端口21,20

8. /etc/init.d/vsftpd restart 重启服务

五、各用户的解释

下面就vsftpd支持三类用户加以说明:

1.匿名用户,也就是不需要输入密码就可登录ftp服务器的用户,这个用户名通常是ftp或anonymous; 与匿名用户有关的设置多以 anon_选项开头。

2.本地用户,也就是你linux系统上可登录到系统的用户,这些用户是在系统上实实在在存在的用户。通常会有自己的home,shell等。与本地用户有关的设置多以local_开头或包含local_的选项。

3.虚拟用户,只对ftp有效的用户。这些用户不可以登录Linux系统,只可以登录ftp服务器。其实就是一个本地用户映射成多个只对ftp服务器有效的虚拟用户。虚拟用户可以有自己的ftp配置文件,因此通常利用虚拟用户来对ftp系统的不同用户制定不同的权限,以达到安全控制的目的。与虚拟用户有关的设置以guest_开头。

如果你只是想用ftp实现对自己的共享,你可以开启本地用户;

如果你想对很多人共享,那你可以用匿名用户;

如果你需要针对不同的用户群给予不同的权限,那你就要设置更复杂的虚拟用户了。

mkdir 目录名         => 创建一个目录

rmdir 空目录名      => 删除一个空目录

rm 文件名 文件名   => 删除一个文件或多个文件

rm –rf 非空目录名 => 删除一个非空目录下的一切

touch 文件名        =www.cppcns.com> 创建一个空文件

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持。如果你想了解更多相关内容请查看下面相关链接

本文标题: 图文详解Ubuntu搭建Ftp服务器的方法(包成功)

本文地址: http://www.cppcns.com/os/linux/255626.html

ftp linux包,图文详解Ubuntu搭建Ftp服务器的方法(包成功)相关推荐

  1. 图文详解如何搭建Windows的Android C++开发环境

    原地址:http://www.apkbus.com/android-18595-1-1.html //================================================= ...

  2. 【图文详解】搭建 Spring Authorization oauth2-server-resource-client-gateway-eureka 完整Demo

    1.项目概述 1.1.概述 本项目是在前面章节的基础上,进行的升级改造.增加了注册中心.网关,更加贴近于实际需求. 在进行本节之前,请先搭建前面项目: [图文详解]搭建 Spring Authoriz ...

  3. win10你的电脑设备需要修复_图文详解win10升级失败的解决方法

    最近有小伙伴在后台留言称自己的win10系统最近总是更新升级失败,想问一下有没有解决该问题的方法.方法当然是有的,小编将该问题的解决方法整理出了详细的图文步骤教程,遇到该问题的小伙伴们快来学习一下吧. ...

  4. win7系统ftp无法访问服务器,技术员详解电脑打开FTp文件夹出错提示windows无法访问的教程?...

    技术员详解电脑打开FTp文件夹出错提示windows无法访问的教程? ? 近来有网友反映在电脑中打开FTp文件夹时出错,提示windows无法访问此文件夹.对于上述的FTp文件夹打开错误的问题,咱们应 ...

  5. Linux 网络编程详解四(流协议与粘包)

    TCP/IP协议是一种流协议,流协议是字节流,只有开始和结束,包与包之间没有边界,所以容易产生粘包,但是不会丢包. UDP/IP协议是数据报,有边界,不存在粘包,但是可能丢包. 产生粘包问题的原因 1 ...

  6. Linux系统中FTP的配置(图文详解-全)

    Linux系统中FTP的配置 二.    把安全级别调低           #vi /etc/selinux/config           注意:在RHEL4三.FTP软件包 #mount /d ...

  7. ubuntu java 开发环境_详解ubuntu搭建Java开发环境

    没有用Java写过程序,做为一个Java新手,在写第一个Hello,world程序之前,先在Ubuntu中搭建Java开发环境. 本文结构: 一.JDK安装 二.MyEclipse安装 三.Hello ...

  8. ftp使用(图文详解)

    41,准备: FileZilla_Server-v0.9.41.rar 2.安装,可以全部默认下一步 这里装在了E盘 3安装成功添加用户 添加用户名yanan 选择share folders选择要共享 ...

  9. scanpy 单细胞分析包图文详解 01 | 深入理解 AnnData 数据结构

    一.环境准备: 搭建 Python 高效开发环境: Pycharm + Anaconda 二.安装 scanpy pip install scanpy 三.AnnData 1.AnnData 介绍与结 ...

最新文章

  1. 机器学习技巧:如何(以及为什么需要)创建一个好的验证集
  2. Python基础、条件语句和基本数据类型
  3. leetcode 235. Lowest Common Ancestor of a Binary Search Tree | 235. 二叉搜索树的最近公共祖先(哈希表)
  4. 云软件——艺术字符设计!【推荐】
  5. border-image图片边框
  6. ADO.NET,浅显
  7. 服务器网站显示多协议,解决高防IIS8服务器https协议多个同时访问的解决方法
  8. HDU 2588 GCD 【Euler + 暴力技巧】
  9. UVALive 6884 GREAT + SWERC = PORTO dfs模拟
  10. 【BIRT】在页面上展示xxxx年xx月xx日
  11. ngix入门 Linux系统Ubuntu ngix安装
  12. 批处理for循环逐一处理目录中的文件
  13. 服务器如何修改vt,如何设置VT?
  14. 深度linux显示方块,在Deepin下用Wine运行文华财经赢顺的经验,附字体显示方框的解决...
  15. 刘国忠:顺周期股受资金青睐,但能走多远还是未知!
  16. python|教你用代码画“社会人”
  17. 雷神众测开启团队竞赛模式
  18. 【数据结构】红黑树前置知识——4阶B树
  19. 在Linux下如何使用磁带机
  20. 原始投资100美元,C语言实现单利息投资和复合利息投资

热门文章

  1. 慎用Hyper-Threading Technology
  2. mac地址和ip地址的区别(转)
  3. python flask 上传下载 api_Flask 文件下载API
  4. python 分类变量xgboost_【转】XGBoost参数调优完全指南(附Python代码)
  5. matlab ones函数_Matlab中相见恨晚的命令(持续更新)
  6. Java笔记12-函数式接口
  7. jquery中的 $(function(){})
  8. 常用公差配合表图_ER弹簧夹头配套BT刀柄常用规格型号表
  9. android oreo 开机动画,Android O添加了一个 Splash Screen API帮助简化启动屏制作
  10. appium+python自动化项目实战(二):项目工程结构