ubuntu14.04 server ftp 服务安装配置详解
ubuntu14.04 server ftp 服务安装配置详解
cheungmine
2016-01-27
http://wiki.ubuntu.com.cn/Vsftpd
0 安装好vsftpd服务
vsftpd - Very Secure FTP Daemon
安装
$ sudo apt-get install vsftpd
关闭,启动
$ sudo service vsftpd stop|start|restart
实际目录在: /srv/ftp/
访问URL: ftp://yourhost
1 下载需要的软件包
$ wget http://ftp.us.debian.org/debian/pool/main/d/db4.8/libdb4.8_4.8.30-2_amd64.deb $ wget http://cz.archive.ubuntu.com/ubuntu/pool/universe/d/db4.8/db4.8-util_4.8.30-11ubuntu1_amd64.deb
2 安装软件包
$ sudo dpkg -i libdb4.8_4.8.30-2_amd64.deb $ sudo dpkg -i db4.8-util_4.8.30-11ubuntu1_amd64.deb
3 创建虚拟用户文件
$ vi ~/ftpvusers.txt
cab 123456 sedan 234567 limo 345678
4 数据库文件导入db
$ sudo mkdir /etc/vsftpd.d $ sudo rm -f /etc/vsftpd.d/vsftpd_login.db $ sudo db4.8_load -T -t hash -f ~/ftpvusers.txt /etc/vsftpd.d/vsftpd_login.db
将数据库文件设置权限为600,并不需要被其他用户读,修改:
$ sudo chmod 600 /etc/vsftpd.d/vsftpd_login.db
5 创建链接
$ sudo ln -s /lib/x86_64-linux-gnu/security/pam_userdb.so /lib/security/pam_userdb.so
6 编辑PAM配置文件
$ sudo vi /etc/pam.d/vsftpd_login
auth required /lib/security/pam_userdb.so db=/etc/vsftpd.d/vsftpd_login account required /lib/security/pam_userdb.so db=/etc/vsftpd.d/vsftpd_login
可见,/etc/vsftpd.d/vsftpd_login 指向了 /etc/vsftpd.d/vsftpd_login.db
ftp的虚拟用户将采用PAM进行验证,这是通过: /etc/vsftpd.conf 文件中的语句
pam_service_name=vsftpd
来启用的,稍后我们要配置: /etc/vsftpd.conf,使其指向
pam_service_name=vsftpd_login
7 为虚拟用户创建本地系统用户
相当于就是虚拟用户借用本地用户的名去访问ftp服务器. 就是把一个本地用户和
一个目录进行绑定,也就是说这个用户默认访问的地方就是这个绑定的目录.
新建一个系统用户vsftpd,用户主目录为/home/vsftpd, 用户登录终端
设为/bin/false(即使之不能登录系统)
#### 创建ftp读写访问用户目录(vsftpd访问权限) $ sudo mkdir -p /home/vsftpd/limo $ sudo useradd vsftpd -d /home/vsftpd -s /bin/false $ sudo chown -R vsftpd:vsftpd /home/vsftpd $ sudo chgrp -R vsftpd /home/vsftpd $ sudo chmod -R 700 /home/vsftpd #### 创建ftp只读访问用户目录(root访问权限) $ sudo mkdir /home/vsftpd/sedan $ sudo mkdir /srv/ftp/cab $ sudo chown root:ftp /srv/ftp/cab
8 修改vsftpd配置文件
/etc/vsftpd.conf
先备份
# cp /etc/vsftpd.conf /etc/vsftpd.conf.old
# vi /etc/vsftpd.conf
确保以下配置:
------------------------------------------------------------------------
listen=YES #以standalone模式运行vsftpd #listen_ipv6=YES #注释掉这个!! 解决错误: 500 OOPS: run two copies of vsftpd for IPv4 and IPv6 anonymous_enable=NO #禁止匿名访问 dirmessage_enable=YES #显示目录下的message消息 xferlog_enable=YES #启用日志 xferlog_file=/var/log/vsftpd.log #设定日志路径 xferlog_std_format=YES #使用标准日志格式 chroot_local_user=YES #限定用户在家目录 guest_enable=YES #启用虚拟用户 guest_username=vsftpd #将虚拟用户转换成本地用户vsftpd user_config_dir=/etc/vsftpd.d #虚拟用户的配置文件存放目录 pam_service_name=vsftpd_login #指定认定文件=> /etc/pam.d/vsftpd_login local_enable=YES secure_chroot_dir=/var/run/vsftpd/empty #此句必要!! allow_writeable_chroot=YES # 解决错误: 500 OOPS: vsftpd: refusing to run with writable root inside chroot
------------------------------------------------------------------------
9 配置虚拟用户配置文件
虚拟用户的配置文件存放目录在/etc/vsftpd.conf的user_config_dir指定,因此要在
/etc/vsftpd.d目录下创建用户配置文件:cab, sedan, limo
# vi /etc/vsftpd.d/cab
local_root=/srv/ftp/cab
# vi /etc/vsftpd.d/sedan
local_root=/home/vsftpd/sedan
最后一个是特殊,可以上传文件的用户:
# vi /etc/vsftpd.d/limo
local_root=/home/vsftpd/limo # 指定家目录 write_enable=YES # 开启全局上传(写)权限 anon_world_readable_only=NO # 关闭匿名用户只读(下载)权限 anon_upload_enable=YES # 开启匿名用户上传权限 anon_mkdir_write_enable=YES # 开启匿名用户建目录权限 anon_other_write_enable=YES # 开启匿名用户除上传和建目录之外的写权限(如重命名,删除等)
10 服务启用与停止
$ sudo killall vsftpd $ sudo /usr/sbin/vsftpd /etc/vsftpd.conf & 或者 $ sudo service vsftpd stop $ sudo service vsftpd start|restart
浏览器访问:
ftp://cab:123456@yourhost
ftp://sedan:234567@yourhost
ftp://limo:345678@yourhost
FTP命令行:
$ ftp cab:123456@yourhost
$ ftp sedan:234567@yourhost
$ ftp limo:345678@yourhost
wget 访问
1) wget ftp://cab@yourhost --ftp-password=123456
2) wget ftp://cab:123456@yourhost
3) wget ftp://yourhost --ftp-user=cab --ftp-password=123456
FTP命令参考:
http://www.cnblogs.com/xmphoenix/archive/2011/03/11/1981831.html
当然也可以用lftp访问。需要安装lftp
LFTP命令参考:
http://blog.csdn.net/fjb2080/article/details/7758486
ubuntu14.04 server ftp 服务安装配置详解的更多相关文章
- CentOS 6.8 ftp服务安装配置 基于本地用户和虚拟用户
CentOS 6.8 ftp服务安装配置 基于本地用户和虚拟用户 一.安装ftp服务 1.检查是否已经安装 # rpm -qa | grep ftp ftp-0.17-54.el6.x86_64 vs ...
- 反射实现Model修改前后的内容对比 【API调用】腾讯云短信 Windows操作系统下Redis服务安装图文详解 Redis入门学习
反射实现Model修改前后的内容对比 在开发过程中,我们会遇到这样一个问题,编辑了一个对象之后,我们想要把这个对象修改了哪些内容保存下来,以便将来查看和追责. 首先我们要创建一个User类 1 p ...
- Cloudera CDH 、Impala本地通过Parcel安装配置详解及什么是Parcel
本文引用自:Cloudera CDH .Impala本地通过Parcel安装配置详解及什么是Parcelhttp://www.aboutyun.com/forum.php?mod=viewthread ...
- WIN中SharePoint Server 2010 入门安装部署详解
目前流行的原始安装文件基本都是这样的:Windows Server 2008 R2+SQL Server 2008R2+SharePoint Server 2010 这个初始环境原本也无可厚非 ...
- lvs keepalived 安装配置详解【转】
lvs keepalived 安装配置详解 张映 发表于 2012-06-20 分类目录: 服务器相关 前段时间看了一篇文章,lvs做负载均衡根F5差不多,说实话不怎么相信,因为F5没玩过,也无法比较 ...
- Eclipse IDE for C/C++ Developers安装配置详解
Eclipse IDE for C/C++ Developers安装配置详解(转) 转自:http://hi.baidu.com/ltb6w/item/986532efd712460f570f1ddc ...
- JDK10安装配置详解
JDK10安装配置详解 1. 下载jdk10 1.1 官网下载jdk7的软件包: 地址:http://www.oracle.com/technetwork/java/javase/dow ...
- (转)python中调用R语言通过rpy2 进行交互安装配置详解
python中调用R语言通过rpy2 进行交互安装配置详解(R_USER.R_HOME配置) 2018年11月08日 10:00:11 luqin_ 阅读数:753 python中调用R语言通过r ...
- (转)使用LVS实现负载均衡原理及安装配置详解
使用LVS实现负载均衡原理及安装配置详解 原文:https://www.cnblogs.com/liwei0526vip/p/6370103.html
随机推荐
- day5 liaoxuefeng---virtualenv、图形界面、网络编程、电子邮件
一.virtualenv 二.图形界面 三.网络编程 四.电子邮件
- 解决win10 VC++6.0 应用程序无法正常运行 0xc0000142
废话不多说,无法正常运行原因就是win10不兼容中文版的vc,解决方法就是一句话,用英文版的msdev.exe替换中文版的msdev.exe,msdev.exe是vc的启动程序.直接上来教你怎么做.废 ...
- win10下python环境变量设置
我用的是python_2.7.3.msi,从官网下载之后,一路按照默认进行安装. 安装之后配置环境变量的步骤如下: 1,点“我的电脑”,右键选“属性” 2,选择“高级系统设置”--->选“环境变 ...
- cocos2d-x-3.x 学习总结(一)
这周学习了<cocos2d-x 3.x 游戏开发之旅>的第三章,做如下总结: 1.关于创建标签对象 书中是 Label* label = Label::create(); 可是总是提示出错 ...
- C# ref与out
ref参数是引用,out参数为输出参数.我写一个控制台的程序来说明一下两者的特点和区别: class Program { 3 public static void RefMethod( ref int ...
- .NET中的各种池
在.NET中,常用到的池有四个:字符串拘留池.线程池 .应用程序池.数据库连接池. 字符串拘留池 在.NET中字符串是不可变对象,修改字符串变量的值会产生新的对象.为降低性能消耗及减小程序集大小,.N ...
- ES6(数据结构_2)
数据结构—2 Map 与 Array 的对比 Set 与 Array的对比 Map 与 Object 的对比 Set 与 Object 的对比 (增.查.改.删) 一.Map 与 Array 的对比 ...
- 蚂蚁代理免费代理ip爬取(端口图片显示+token检查)
分析 蚂蚁代理的列表页大致是这样的: 端口字段使用了图片显示,并且在图片上还有各种干扰线,保存一个图片到本地用画图打开观察一下: 仔细观察蓝色的线其实是在黑色的数字下面的,其它的干扰线也是,所以这幅图 ...
- C#基础拾遗系列之二:C#7.0新增功能点
第一部分: C#是一种通用的,类型安全的,面向对象的编程语言.有如下特点: (1)面向对象:c# 是面向对象的范例的一个丰富实现, 它包括封装.继承和多态性.C#面向对象的行为包括: 统一的类型系统 ...
- Docker: How to enable/disable HTTP Proxy in Toolbox
1. docker-machine ssh default 2. sudo vi /var/lib/boot2docker/profile 3. # replace with your offi ...