1 更新源列表

打开"终端窗口",输入"sudo apt-get update"-->回车-->"输入当前登录用户的管理员密码"-->回车,就可以了。

2 安装vsftpd

打开"终端窗口",输入"sudo apt-get install vsftpd"-->回车-->安装完成。

3 新建"/home/uftp"目录作为用户主目录

打开"终端窗口",输入"sudo mkdir /home/uftp"-->回车-->输入"sudo ls /home"-->回车-->有一个uftp目录,目录新建成功。

4 新建用户uftp并设置密码

打开"终端窗口",输入"sudo useradd -d /home/uftp -s /bin/bash uftp"-->回车-->用户新建成功-->输入"sudo passwd uftp"设置uftp用户的密码-->回车-->输入两次密码-->回车-->密码设置成功。

sudo adduser xxx 这样的命令会在home目录下添加一个帐号
sudo useradd xxx 仅仅是添加用户, 不会在home目录添加帐号

彻底删除用户方法

在root用户下:userdel -r newuser
在普通用户下:sudo userdel -r newuser

加上-r的选项,在删除用户的同时一起把这个用户的宿主目录和邮件目录删除。

5 使用gedit修改配置文件/etc/vsftpd.conf

打开"终端窗口",输入"sudo gedit /etc/vsftpd.conf"-->回车-->打开了vsftpd.conf文件,向文件中添加
"userlist_deny=NO

userlist_enable=YES
userlist_file=/etc/allowed_users"和
"seccomp_sandbox=NO"-->使文件中的
"local_enable=YES"  //允许本地用户登录

-->保存。

#指定登录转向目录
local_root=/home/ftp/ftp

#同时允许4客户端连入,每个IP最多5个进程
max_clients=200
max_per_ip=4

6 使用gedit新建/etc/allowed_users文件

打开"终端窗口",输入"sudo gedit /etc/allowed_users"-->回车-->输入uftp-->保存, 文件创建成功。

7使用gedit查看/etc/ftpusers文件中的内容

打开"终端窗口",输入"sudo gedit /etc/ftpusers"-->回车-->打开这个文件后,看一看有没有uftp这个用户名,如果没有,就直接退出。如果有就删除uftp,因为这个文件中记录的是不能访问FTP服务器的用户清单。

8 如果想要用户登陆后限制他们只能在自己的home目录,可以在vsftpd.conf配置文件中添加下面3行

chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list

另一种方案

chroot_local_user=YES
chroot_list_enable=YES(这行可以没有, 也可以有)
chroot_list_file=/etc/vsftpd/chroot_list

凡是加在文件vsftpd.chroot_list中的用户都是不受限止的用户,即, 可以浏览其主目录的上级目录.

操作完之后,登录报  500 OOPS: vsftpd: refusing to run with writable root inside chroot ()

解决办法

可以用命令chmod a-w /home/user去除用户根目录的写权限,注意把目录替换成你自己的。

或者你可以在vsftpd的配置文件中增加下列两项中的一项:

allow_writeable_chroot=YES

9 可以使用下列命令来打开,关闭,重启ftp服务

sudo /etc/init.d/vsftpd start
sudo /etc/init.d/vsftpd stop
sudo /etc/init.d/vsftpd restart

问题:

1 修改过vsftp配置文件后vsftpd不能启动,解决办法,先卸载,再重新装。

sudo apt-get purge vsftpd
sudo apt-get install vsftpd
ps -ef |grep vsftpd

2 最近在ubuntu14.4中进行配置,上面无论如何不行。经过多次尝试可以使用下面配置

write_enable=YES
seccomp_sandbox=NO userlist_file=/etc/allowed_users
background=NO

含义和上面一样。

3 对于中文乱码问题

由于系统编码的不同常常会出现中文乱码问题。涉及的部分有:linux 系统默认编码 UTF-8、windows 系统默认编码 GBK、ftp 服务器和客户端编码

在最近项目中需要使用 ftp 服务,在 ubuntu 上搭建了 vsftp 服务,使用 commons-net 的  FTPClient 进行传输文件,发现中文会出现乱码。上网查资料发现编码不一致,需要设置为统一的编码。要么都设置为 GBK, 要么设置为 UTF-8。

我采用 UTF-8,

1)首先 ubuntu 系统设置为 utf-8

sudo apt-get update
# 先安装一下中文支持
sudo apt-get install language-pack-zh-hans
# 更新对应的locale文件
dpkg-reconfigure locales -> 一路确认
#查看编码设置
locale LANG=zh_CN.utf8
LANGUAGE=
LC_CTYPE="zh_CN.utf8"
LC_NUMERIC="zh_CN.utf8"
LC_TIME="zh_CN.utf8"
LC_COLLATE="zh_CN.utf8"
LC_MONETARY="zh_CN.utf8"
LC_MESSAGES="zh_CN.utf8"
LC_PAPER="zh_CN.utf8"
LC_NAME="zh_CN.utf8"
LC_ADDRESS="zh_CN.utf8"
LC_TELEPHONE="zh_CN.utf8"
LC_MEASUREMENT="zh_CN.utf8"
LC_IDENTIFICATION="zh_CN.utf8"
LC_ALL=zh_CN.utf8
#重启系统更新配置
reboot

2) vsftp 配置文件设置 utf-8

vi /etc/vsftpd.conf
# 在文件末尾添加
utf8_filesystem=YES

重启 vsftp 服务

3)对于使用 commons-net 的 FTPClient 上传下载文件、获取文件列表等操作包含中文的需要对字符编码进行设置

ubuntu14.4开启ftp服务的更多相关文章

  1. ubuntu14.04 server ftp 服务安装配置详解

    ubuntu14.04 server ftp 服务安装配置详解 cheungmine 2016-01-27 http://wiki.ubuntu.com.cn/Vsftpd 0 安装好vsftpd服务 ...

  2. ubuntu 开启 ftp 服务 | mingming-killer

    body { font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI ...

  3. AIX系统开启ftp服务

    http://blog.itpub.net/28227905/viewspace-1060183/ 当然,首先网络工程师给你放开策略,开通ftp端口之后,你才能做下一步. [@more@] AIX开启 ...

  4. 如何在linux下开启FTP服务

    如何在linux下开启FTP服务 1. 首先服务器要安装ftp软件,查看是否已经安装ftp软件下:   #which vsftpd   如果看到有vsftpd的目录说明服务器已经安装了ftp软件 2. ...

  5. 检测FTP服务并开启FTP服务

    1. 检测FTP服务是否开启 1.1. 通过查询提供FTP服务的进程是否存在,并未找到任何包含ftp关键字的进程信息,可判断服务未开启. root@lb- ~ # ps -ef | grep ftp ...

  6. liunx和aix 系统开启ftp服务

    AIX开启ftp服务: 1.ftp服务的守护进程是否存在 #lssrc -s inetd 2.ftp服务的开启与关闭 #startsrc -t ftp #stopsrc -t ftp 3.ftp服务是 ...

  7. Windows 下开启FTP服务并创建FTP用户

    Windows 下开启FTP服务,并创建用户 此教程教你怎么开启 Windows 的 FTP 服务,并创建用于登入 FTP 的用户.教程用到的操作系统是 Windows 7. 一.创建用于登入 FTP ...

  8. centos下开启ftp服务

    如果要ftp访问linux需要安装ftp服务,vsftpd是Linux下比较好的的FTP服务器. 一.检查安装vsftp //检查是否安装vsftpd rpm -qa | grep vsftpd // ...

  9. centos7.4 开启ftp服务

    1.安装vsftpd yum install -y ftp vsftpd 2.配置/etc/vsftpd/vsftpd.conf 修改项如下: #不允许匿名访问 anonymous_enable=NO ...

随机推荐

  1. Qtcreator中常用快捷键总结

    F1        查看帮助F2        跳转到函数定义(和Ctrl+鼠标左键一样的效果)Shift+F2    声明和定义之间切换F4        头文件和源文件之间切换Ctrl+1     ...

  2. 【js】利用闭包消除回调函数启动时值已经发生变化的影响

    在以下代码中,timeFun异步执行了一个匿名函数,当输出color的值时已经由green变成red,因此输出为red. function timedFun(callback){ setTimeout ...

  3. LuaCURL

    LuaCURL:http://luacurl.luaforge.net/ curl大家应该都知道吧,在linux下被广泛使用,也有windows版本,网络上还有其win32版本的源代码.它是一个命令行 ...

  4. WPF代码模板-布局部分

    Grid 两行和三列 <Grid ShowGridLines="True"> <Grid.RowDefinitions> <RowDefinition ...

  5. Hive Python Streaming的原理及写法

    在Hive中,须要实现Hive中的函数无法实现的功能时,就能够用Streaming来实现. 其原理能够理解成:用HQL语句之外的语言,如Python.Shell来实现这些功能,同一时候配合HQL语句, ...

  6. struts2基础梳理(二)

    本篇主要有:设置struts2匹配的扩展名.使用通配符,值栈,声明式异常以及标签. 设置扩展名: 默认是对.action和不加不论什么扩展名的进行处理.能够设置: <constant name= ...

  7. linux下线程调试 ulimit core

    在linux 下写线程程序的同学预计都遇到过找bug找到崩溃的情况.多线程情况下bug的追踪实在是不easy. 如今我来介绍一个好用的方法 ulimit core. 先简介一下ulimit是个什么(你 ...

  8. 禁止CloudStack删除Xenserver原有虚拟机

    CloudStack在文档中指明需要加入一台干净的Xenserver作为hyperviser. 但是实际使用中,总会存在不同的需求,很多场景是试用CloudStack接管当前已有的hyperviser ...

  9. PHP MySQL 连接数据库

    PHP连接MySQL的小实例 <?php  /*时间:2014-09-14  *作者:葛崇  *功能:PHP连接MySQL小实例  * */ /* SQL 脚本.直接贴到命令行运行. DROP  ...

  10. cordova 强制竖屏

    orentation的默认值是default 可使用的值有:default, landscape (横屏), portait (竖屏) orentation可以将设备锁定方向,不受设备旋转影响. 方案 ...