在 Ubuntu 16.04上安装 vsFTPd

Ubuntu
vsFTPd

关于 vsFTPd

vsFTPd 代表 Very Secure File Transfer Protocol Daemon (非常安全的文件传输协议守护进程)。它是一个用于 Unix 和 Linux 操作系统的开源、轻量、稳定、最安全和最快的 FTP 服务器。
一些流行的FTP站点的Debian,FreeBSD,RED HAT,SUSE,Kernel,KDE,GENOME等,就是基于VSFTPD。
它是大多数Linux和Unix操作系统(例如Red Hat,CentOS,Fedora和Ubuntu)的默认FTP服务器。
它支持IPv6和SSL。因此,您可以使用VSFTPD为您的组织设置安全的FTP服务器。它是根据GPL许可的,完全免费。

1.更新软件仓库

root@mail:/# apt-get update
root@mail:/# apt-get upgrade

2.安装vsFTPd

root@mail:/# apt-get install vsftpd

备份下配置文件

root@mail:/# cp /etc/vsftpd.conf /etc/vsftpd.conf.backup

3.编辑配置文件

使用 nano 打开 vsftpd.conf

root@mail:/# nano /etc/vsftpd.conf

使用CTRL+W搜索并修改以下配置项:

anonymous_enable=NO
local_enable=YES
write_enable=YES
allow_writeable_chroot=YES
chroot_local_user=YES
file_open_mode=0777
local_umask=022

如果存在则取消注释,否则添加行。

4.配置只允许特定用户访问

userlist_deny=NO
userlist_enable=YES
userlist_file=/etc/vsftpd.allowed_users

5.创建文件 vsftpd.allowed_users

sudo touch /etc/vsftpd.allowed_users

该文件包含了可以访问的用户名:

m.slavov
yourSECONDuser
yourTHIRDuser

如果你想的话还可以做一些高级配置:

#Useful to not write over hidden files:
force_dot_files=YES #Hide the info about the owner (user and group) of the files.
hide_ids=YES #Maximum number of clients:
max_clients=20 #Connection limit for each IP:
max_per_ip=2 #Chnage listen port from 21 to other
listen_port=999

6.添加ftp用户并且修改它的家目录

这点很重要,因为你能够限制这个用户只能访问一个目录。你可以允许它访问/var/www下的所有站点或只能访问其中某一个站点。
例如,如果你想创建用户ftp并只允许它访问一个站点,输入以下命令,并且不要忘了在/etc/vsftpd.allowed_users中添加这个用户:

root@mail:/# adduser ftp
root@mail:/# usermod –home /var/www/YOURFOLDERSITE ftp

或者打开文件/etc/passwd,然后搜索你想改变家目录的用户,把/home/ftpuser修改为/var/www

root@mail:/# nano /etc/passwd
root@mail:/# ftpuser:x:1001:1001:FTP USER,,,:/var/www:/bin/bash

7.重启vsFTPd

为了使修改生效,你必须重启vsFTPd服务。

root@mail:/# systemctl restart vsftpd

现在当用户通过 ftpzilla 连接 ftp,只能看到一个站点。
如果你想看到命令的输出,用命令/etc/init.d/vsftpd restart
显示vsFTPd状态,用命令:systemctl status vsftpd

8.配置权限

如果你想所有用户都有权限写入到这个文件夹,你必须设置全部权限777。
如果你只想某个组有权限写入、其他用户只能读,你就得设置权限为775.

root@mail:/# chmod 777 -R /var/www/YOURFOLDERSITE
root@mail:/# chown ftp:ftp -R /var/www/YOURFOLDERSITE

9.使用 Xftp 连接

新建连接,输入 ip 地址和刚才新建的 ftp 用户以及密码。

这里我遇到一个问题:

在命令行用ftp命令可以连接到 ftp 服务器,但是用 Xftp 连接却总是提示“无法显示远程文件夹”。

解决:

在“会话属性”的“选项”窗口,勾掉“使用被动模式”,重试。


参考:
http://linux-sys-adm.com/ubuntu-16.04-lts-how-to-install-and-configure-vsftpd-on-ubuntu/
https://www.ostechnix.com/install-vsftpd-server-ubuntu-16-04-lts/

在 Ubuntu 16.04上安装 vsFTPd的更多相关文章

  1. 如何在Ubuntu 16.04上安装配置Redis

    如何在Ubuntu 16.04上安装配置Redis Redis是一个内存中的键值存储,以其灵活性,性能和广泛的语言支持而闻名.在本指南中,我们将演示如何在Ubuntu 16.04服务器上安装和配置Re ...

  2. 在 Ubuntu 16.04 上安装 Eclipse Oxygen

    2017 年 6 月 28 日,Eclipse 社区(the Eclipse Community)发布了 Eclipse Oxygen.本文记录了我在 Ubuntu 16.04 上安装 Eclipse ...

  3. Ubuntu 16.04上安装SkyEye及测试

    说明一下,在Ubuntu 16.04上安装SkyEye方法不是原创,是来自互联网,仅供学习参考. 一.检查支持软件包 gcc,make,vim(optional),ssh,subversionbinu ...

  4. Ternsorflow 学习:000-在 Ubuntu 16.04 上安装并使用 TensorFlow_v1.14 (改)

    声明:本人已经对原文链接根据情况做出合理的改动. 本系列文章使用的是Tensorflow v1.14 引言 TensorFlow 是由谷歌构建的用于训练神经网络的开源机器学习软件.TensorFlow ...

  5. 如何在Ubuntu 16.04上安装Apache Web服务器

    转载自:https://www.howtoing.com/how-to-install-the-apache-web-server-on-ubuntu-16-04 介绍 Apache HTTP服务器是 ...

  6. 如何在Ubuntu 16.04上安装Nginx

    原文链接https://www.digitalocean.com/community/tutorials/how-to-install-nginx-on-ubuntu-16-04 介绍 Nginx是世 ...

  7. ubuntu 16.04上安装php5.6

    php --ini 按下面的步骤,在ubuntu 16.04上面安装成功了 php5.6 dpkg -l | grep php| awk '{print $2}' |tr "\n" ...

  8. 在 Ubuntu 16.04 上安装 LEMP 环境之图文向导

    导读 LEMP 是个缩写,代表一组软件包(注解 ① L:Linux OS,E:Nginx 网络服务器,M:MySQL/MariaDB 数据库和 P:PHP 服务端动态编程语言),它被用来搭建动态的网络 ...

  9. Ubuntu 16.04上安装并配置Postfix作为只发送SMTP服务器

    如果大家已经在使用第三方邮件服务方案发送并收取邮件,则无需运行自己的邮件服务器.然而,如果大家管理一套云服务器,且其中安装的应用需要发送邮件通知,那么运行一套本地只发送SMTP服务器则更为理想. 如何 ...

随机推荐

  1. vue中常用的指令

    1. v-textv-text主要用来更新textContent,可以等同于JS的text属性. <span v-text="msg"></span> 2. ...

  2. 在离线安装gazebo的时候可能在运行turtlebot_gazebo的时候会出现问题

    问题显示如下 gzserver: /build/ogre-1.9-mqY1wq/ogre-1.9-1.9.0+dfsg1/OgreMain/src/OgreRenderSystem.cpp:546: ...

  3. keras框架的CNN手写数字识别MNIST

    参考:林大贵.TensorFlow+Keras深度学习人工智能实践应用[M].北京:清华大学出版社,2018. 首先在命令行中写入 activate tensorflow和jupyter notebo ...

  4. rails 查看项目的所有路由

    rails routes

  5. 【转】python 2.6.6升级到python 2.7.x版本的方法

    1.下载python2.7.x wget https://www.python.org/ftp/python/2.7.6/Python-2.7.6.tgz 2.解压并编译安装 tar -zxvf Py ...

  6. 【转】利用virtualenv管理Python环境

    virtualenv virtualenv用于创建独立的Python环境,多个python相互独立,互不影响,它能够:1. 在没有权限的情况下安装新套件2. 不同应用可以使用不同的套件版本3. 套件升 ...

  7. swift -基础语法

    /**         * 1.变量         */        let count1 = 11;        print(count1);                var count ...

  8. Web 开发

    Django(发音:[`dʒæŋɡəʊ]) 是一个开放源代码的Web应用框架,由Python写成.采用了MTV的框架模式,模型(Model).模板(Template)和视图(Views).

  9. dex2jar 和 jd-gui 的安装与使用(转)

    出处:https://blog.csdn.net/katrinawj/article/details/80016315 将APK直接解压(修改后缀名为.zip,然后解压)后,可以看到目录下包含一个cl ...

  10. Educational Codeforces Round 62 E 局部dp + 定义状态取消后效性

    https://codeforces.com/contest/1140/problem/E 局部dp + 定义状态取消后效性 题意 给你一个某些位置可以改变的字符串,假如字符串存在回文子串,那么这个字 ...