在 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. Spring IOC(二)beanName 别名管理

    Spring IOC(二)beanName 别名管理 Spring 系列目录(https://www.cnblogs.com/binarylei/p/10198698.html) 一.AliasReg ...

  2. Minimum Size Subarray Sum LT209

    Given an array of n positive integers and a positive integer s, find the minimal length of a contigu ...

  3. Tomcat+Redis+Nginx实现session共享(Windows版)

    redis安装:xx nginx安装:xx 步骤: 1.下载tomcat-redis-session-manager相应的jar包,主要有三个: wget https://github.com/dow ...

  4. 利用PHP脚本辅助MySQL数据库管理4-两个库表结构差异比较

    <?php define('DATABASE1', 'coffeetest'); $dbi1 = new DbMysql; $dbi1->dbh = 'mysql://root:mysql ...

  5. Spring Boot学习笔记:传统maven项目与采用spring boot项目区别

    项目结构区别 传统的maven构建的项目结构如下: 用maven构建的采用springboot项目结构如下: 二者结构一致,区别如下:传统项目如果需要打成war包,需要在WEB-INF目录结构配置we ...

  6. 视频基础知识:浅谈视频会议中H.264编码标准的技术发展

    浅谈视频会议中H.264编码标准的技术发展 浅谈视频会议中H.264编码标准的技术发展 数字视频技术广泛应用于通信.计算机.广播电视等领域,带来了会议电视.可视电话及数字电视.媒体存储等一系列应用,促 ...

  7. 449. Serialize and Deserialize BST

    https://leetcode.com/problems/serialize-and-deserialize-bst/#/description Serialization is the proce ...

  8. BP神经网络的数学常识

    输入数据X1-Xn. 输入层和隐层之间的权Wji 隐层的输入数据为:∑iwjixi 隐层的输出数据为:yj = f(∑iwjixi).其中f(x)= 隐层的输入数据为:∑jwkjyj 隐层的输出数据为 ...

  9. windows10安装ubuntu on windows10

    安装向导 https://msdn.microsoft.com/en-us/commandline/wsl/install_guide

  10. 建库,建表,添加数据 SQL命令

    create database ssm default character set utf8; use ssm; create table flower( id int(10) primary key ...