注:本文出自博主 Chloneda个人博客 | 博客园 | Github | Gitee | 知乎

本文源链接https://www.cnblogs.com/chloneda/p/ftp-install.html

安装

用apt-get工具安装vsftpd

$ sudo apt-get install vsftpd

检查FTP端口是否已经打开

$ netstat -tnl 或 ps -ef | grep ftp

检查FTP服务是否开启

$ service vsftpd status

如果FTP服务已经开启,则会显示如下信息,由Active关键词可知FTP服务正在运行

FTP启动、停止、重启、查看状态的三种方式。

$ service vsftpd start|stop|restart|status
$ systemctl start|stop|restart|status vsftpd
$ /etc/init.d/vsftpd start|stop|restart|status|reload

reload为重新加载配置文件

配置

修改FTP配置文件

$ sudo vi /etc/vsftpd.conf

FTP主要配置

主要配置说明:

# 设置登录FTP欢迎信息
ftpd_banner=Welcome to CHL FTP service. # 基本配置1
listen=YES # 服务器监听
local_enable=YES # 是否允许本地用户访问
write_enable=YES # 是否允许上传文件,不开启会报 550 permission denied
anonymous_enable=NO # 匿名访问允许,默认不要开启
anon_upload_enable=YES # 匿名上传允许,默认是NO
anon_mkdir_write_enable=YES # 匿名创建文件夹允许 # 基本配置2
local_umask=022   # FTP上本地的文件权限,默认是077。此时umask为022,则目录为777-022=755,文件为666-022=644。
dirmessage_enable=YES # 进入文件夹允许
connect_from_port_20=YES # 启用20号端口作为数据传送的端口
data_connection_timeout=120 # 设置数据连接超时时间 # 日志配置
utf8_filesystem=YES # vsftpd使用utf8文件系统
use_localtime=YES
xferlog_enable=YES # 激活上传和下传的日志
xferlog_file=/var/log/vsftpd.log # 设定系统维护记录FTP服务器上传和下载情况的日志文件
xferlog_std_format=YES # 使用标准的日志格式 # 自定义
local_root=/share/vsftpd # 设置自定义的ftp根目录的位置 # 读写权限
allow_writeable_chroot=YES # 解决"500 OOPS: vsftpd: refusing to run with writable root inside chroot()" 问题
write_enable=YES # 允许向FTP服务器写入权限
chown_uploads=YES # 设定是否允许改变上传文件的属主,与下面一个设定项配合使用
chown_username=whoever # 设置想要改变的上传文件的属主,可设为ftp ascii_upload_enable=YES  # 允许服务器以ASCII方式传输数据,但引起"SIZE /big/file"方式的DoS攻击
ascii_download_enable=YES
deny_email_enable=YES  # 黑名单设置。如果很讨厌某些email address,可以取消他的登录权限
banned_email_file=/etc/vsftpd.banned_emails # FTP限制最大连接数和传输速率,进行资源控制,避免负担过大而运行异常
max_client=50 # FTP服务器的所有客户端最大连接数不超过50个
max_per_ip=5 # 同一IP地址的FTP客户机与FTP服务器建立的最大连接数不超过5个
local_max_rate=100000 # FTP服务器的本地用户最大传输速率设置为100KB/s.
anon_max_rate=50000 # FTP服务器的匿名用户最大传输速率设置为50KB/s. # 权限设置
#是否启动userlist为禁止模式,YES表示在userlist中的用户禁止登录ftp(黑名单),NO表示黑名单失效
userlist_deny=NO
userlist_enable=NO # 是否启动限制用户的名单为允许模式,上面的YES限制了所有用户,可以用这个名单作为白名单,作为例外允许访问ftp根目录以外
userlist_file=/etc/vsftpd.user_list # 在默认配置下,本地用户登入FTP后可以使用cd命令切换到其他目录,这样会对系统带来安全隐患,可配置如下
chroot_list_enable=YES # 设置是否启用chroot_list_file配置项指定的用户列表文件。默认值为NO。
chroot_local_user=YES # 用于指定用户列表文件中的用户是否允许切换到上级目录。默认值为NO。
chroot_list_file=/etc/vsftpd.chroot_list # 禁用名单,用于指定用户列表,该文件用于控制哪些用户可以切换到home目录的上级目录。

通过搭配能实现以下几种效果

  • chroot_list_enable=YES,chroot_local_user=YES时,在/etc/vsftpd.chroot_list文件中列出的用户,可以切换到其他目录;未在文件中列出的用户,不能切换到其他目录。

  • chroot_list_enable=YES,chroot_local_user=NO时,在/etc/vsftpd.chroot_list文件中列出的用户,不能切换到其他目录;未在文件中列出的用户,可以切换到其他目录。

  • chroot_list_enable=NO,chroot_local_user=YES时,所有的用户均不能切换到其他目录。

  • chroot_list_enable=NO,chroot_local_user=NO时,所有的用户均可以切换到其他目录。

配置正确后可浏览器终端输入以下信息访问

ftp://服务器IP	# 浏览器方式访问

$ ftp 服务器IP	# 终端方式访问

也可以通过浏览器这样访问。

ftp://用户名:密码@IP/具体FTP路径	# 如:ftp://vsftpd:vsftpd@192.167.2.20/chl

修改默认端口

默认FTP服务器端口号是21,出于安全目的,有时需修改默认端口号,编辑/etc/vsftpd.conf文件。

listen_port=6666

重新指定了FTP服务器的端口号,需重启服务使配置生效,并利用终端访问。

$ /etc/init.d/vsftpd restart
$ ftp 服务器IP 6666

注:端口号需正确,否则连接失败。

设置FTP目录

创建FTP根目录,需与配置文件一致。

$ mkdir -p /share/vsftpd

创建FTP用户

$ sudo useradd -g vsftpd -d /share/vsftpd -m test

命令参数说明:

  • g:用户所在的组
  • d:指定FTP目录
  • m:不建立默认家目录

设置FTP用户密码

$ sudo passwd vsftpd

编辑/etc/vsftpd.chroot_list文件,将vsftpd的帐户名添加进去,保存退出,并重启FTP服务。

卸载

当我们不需要FTP时,可以卸载FTP并删除FTP用户。

$ sudo apt-get remove --purge vsftpd	# purge 选项表示彻底删除改软件和相关文件

删除FTP用户

$ sudo userdel vsftpd

常用命令

路径切换

FTP可以定位服务器与本地硬盘的路径。其中使用 lcd 命令切换宿主机本地路径,命令如下:

$ lcd 目录名	# 进入宿主机目录

而用 cd 命令切换远程服务器的路径,命令如下:

$ cd 目录名	# 进入FTP服务器目录

说到这里,得说说 ! 命令的作用,在FTP中!会执行宿主机shell命令,如:

$ !cmd [args]	# 在宿主机中执行交互shell,exit回到FTP环境,例:
$ !dir 或 !ls

或如果不加!,显示FTP服务器当前目录内容,如:

$ dir	或	ls

此外,ftp命令支持"含有空格"的文件夹/文件名,即在引用时加上双引号""。

下载文件

  • get:一次只下载一个文件。
  • mget:一次可以下载多个文件,而且支持通配符。

上传文件

  • send: 上传一个文件。
  • put:上传一个文件。
  • mput: 上传多个文件。

其他命令

其实FTP命令的核心就是善用 help? 查看具体命令的含义,例如:

ftp> help	或	?

可利用 ? [cmd]help [cmd] 查看具体命令含义,如图。

有时侯我们会对多个文件进行操作,此时需要对每一个文件都选择y/n,挺麻烦的!可用prompt命令关掉交互方式。

prompt off	# 关闭
prompt on # 打开

其他信息

FTP 数字代码的意义

参考资料

vsftpd最详细的配置文件


Ubuntu中FTP安装配置及基本概念(原创)的更多相关文章

  1. 阿里云Ubuntu 16 FTP安装配置注意事项

    1. 开放端口设置 阿里云控制台添加"安全组规则". 1) 21: FTP端口; 2) 15000~15100: 对应vsftpd.conf 自定义配置. (重要!) pasv_e ...

  2. Angularjs学习---ubuntu12.04中karma安装配置

    Angularjs学习---ubuntu12.04中karma安装配置中常见的问题总结   karma启动时出现了很多问题: 1.安装karma前提条件 安装karma首先要安装nodejs,npm然 ...

  3. 海外ubuntu,lamp,ftp,phpmyadmin配置

    海外ubuntu,lamp,ftp,phpmyadmin配置 1. 更换源 1.1 clean /etc/apt/sources.list file 1.2 Ubuntu Sources List G ...

  4. FTP 安装配置

    FTP 安装配置: 一.基础操作 yum install -y ftp yum install -y vsftpd service iptables stop chkconfig iptables o ...

  5. Ubuntu下apache2安装配置(内含数字证书配置)

    Ubuntu下apache2安装配置(内含数字证书配置)安装命令:sudo apt-get updatesudo apt-get install apache2 配置1.查看apache2安装目录命令 ...

  6. Ubuntu 18.04安装配置Apache Ant

    Ubuntu 18.04安装配置Apache Ant 文章目录 Ubuntu 18.04安装配置Apache Ant 下载 执行以下命令 `/etc/profile`中配置环境变量 载入配置 测试 执 ...

  7. Linux中redis安装配置及使用详解

    Linux中redis安装配置及使用详解 一. Redis基本知识 1.Redis 的数据类型 字符串 , 列表 (lists) , 集合 (sets) , 有序集合 (sorts sets) , 哈 ...

  8. Xdebug在PHP中的安装配置

    Xdebug在PHP中的安装配置涉及php.ini配置文件的修改. 1  首先需要下载Xdebug,根据安装的PHP版本,选择合适的Xdebug版本, 2  安装Xdebug将下载的php_xdebu ...

  9. ubuntu中mysql安装失败

    在ubuntu中mysql安装失败后,卸载重新安装还是安装失败,之后找了资料说是卸载的不干净,然后进行下面操作,重新安装成功. 解决办法如下: sudo rm /var/lib/mysql/ -Rsu ...

随机推荐

  1. vs2012 编译 zlib 1.2.8

    1. 下载     http://zlib.net/zlib-1.2.8.tar.gz 2. 编译     - 解压到目录,如d:\library     - 开启VS2012的Command Pro ...

  2. Linux服务器上python2升为python3.6

    如何在在Linux服务器上吧Python2升级为Python3 最近白嫖了一年的服务器,打算在服务器上跑一个Python项目,没想到居然预装的是Python2.7.5.本来是打算把Python2.7. ...

  3. Selenium实现微博自动化运营:关注、点赞、评论

    目录 Selenium 是什么? 一.核心代码 二.步骤分解 1.打开浏览器 2.访问微博登录页 3.输入账号密码 4.点击登录 5.通过人机验证 6.打开我们的中公题库君首页 7.加一下关注 8.定 ...

  4. 目标检测之单步检测(Single Shot detectors)

    目标检测之单步检测(Single Shot detectors) 前言 像RCNN,fast RCNN,faster RCNN,这类检测方法都需要先通过一些方法得到候选区域,然后对这些候选区使用高质量 ...

  5. GAN tensorflow 实作

    从2014年Ian Goodfellow提出GANs(Generative adversarial networks)以来,GANs可以说是目前深度学习领域最为热门的研究内容之一,这种可以人工生成数据 ...

  6. yum仓库配置与内网源部署记录

    使用yum的好处主要就是在于能够自动解决软件包之间的依赖.这使得维护更加容易.这篇文章主要就是记录部署内网源的操作过程以及yum工具如何使用 因为需要.数据库要从Oracle迁移至MySQL.在部署M ...

  7. 来看看你对Python变量理解到位了没有

    变量是编程的基础概念,Python 的变量也看似很简单,但是如果理解不当,生搬硬套,可能会遇到一些麻烦. 下面用 10 个代码示例展示 Python 的 变量 本质. 以下内容有对应的 视频 手把手详 ...

  8. Cacti 安装插件

            Cacti本身可以以图形化界面显示出流量状态,cacti也可以安装插件,通过插件,cacti的功能被进一步强大:可以监控服务器状态:发送邮件通知:短信通知等.        0.88之 ...

  9. linux中的特殊符号及其含义梳理

    1. 重定向符号及含义 注意:箭头流向即是数据的流向. 数字0:标准输入(standard input,简写stdin),数据从右往左方向流动 数字1:标准正确输出(standard output,简 ...

  10. Aliyun搭建svn服务器外网访问报错权限配置失败错误

    搭建完后所有的配置如下 [root@iZuf655czz7lmtn8v15tsjZ conf]# pwd /home/SVN/conf [root@iZuf655czz7lmtn8v15tsjZ co ...