Ubuntu14.04 搭建FTP

来源:互联网 发布:胜利足球欧赔数据库 编辑:程序博客网 时间:2024/06/08 06:37

Ubuntu14.04搭建FTP

一、需求说明:

本应用在云服务器 ECS完成,旨在方便本人在mac与服务器之间传输文件。 

1. 在远程服务端搭建ftp服务,用于文件上传与下载。 

2. ftp本地用户名为uftp,密码为uftp

二、搭建FTP

第一部分:安装vsftpd

Step0:如果需要更新apt-get

sudo apt-get update

Step1: 安装vsftpd

这里使用Ubuntu的源直接安装,安装完以后就可以使用匿名方式连接FTP

# 安装

sudo apt-get install vsftpd

第二部分:创建目录

Step1: 创建uftp用户

# 创建家目录

sudo mkdir /home/uftp

# 新建用户uftp并设置密码

sudo useradd -d /home/uftp -s /bin/bash uftp

sudo passwd uftp

# 修改家目录权限

chmod 777 -R /home/uftp

第三部分:配置FTP

Step1:配置/etc/vsftpd.conf

该文件为FTP的配置文件,各配置项说明见附录1。本次配置按照如下顺序进行。

# 打开文件

sudo vim /etc/vsftpd.conf

# 确保 local_enable = YES

# 确保 write_enable = YES 否则不能写文件

# 在该文件末尾添加以下几行

userlist_deny=NO

userlist_enable=YES

userlist_file=/etc/allowed_users

seccomp_sandbox=NO

# 退出并保存

Step2:新建/etc/allowed_users文件

该文件指明允许登陆的用户

# 创建文件     

sudo vim /etc/allowed_users

# 输入uftp,并保存退出

Step3:确保该用户没有被禁

 

/etc/ftpusers文件中记录的是不能访问FTP服务器的用户清单。查看其中是否有uftp,如果有则删除,没有则直接退出。

sudo vim /etc/ftpusers

Step4:重启FTP服务

service vsftpd restart

Step4+:有的时候会出现530 Login incorrect

这是因为ubuntu启用了PAM,所在用到vsftp时需要用到/etc/pam.d/vsftpd这个文件(默认源码安装的不会有这个文件),因此除了匿名用户外本地用户无法登录。所以只要删除了就可以了。

sudo apt-get remove vsftpd

sudo rm /etc/pam.d/vsftpd

sudo apt-get install vsftpd

附件1

vsftpd软件的使用

sudo apt-get autoremove vsftp #卸载vsftpd

service vstfpd start #启动ftp

service vsftpd stop #关闭ftp

service vsftp restart #关闭ftp

vsftpd.conf文件说明

用户登录控制:

 

anonymous_enable=YES,允许匿名用户登录。

no_anon_password=YES,匿名用户登录时不需要输入密码。

local_enable=YES,允许本地用户登录。

deny_email_enable=YES,可以创建一个文件保存某些匿名电子邮件的黑名单,以防止这些人使用Dos攻击。

banned_email_file=/etc/vsftpd/banned_emails,保存电子邮件黑名单的目录(默认)

用户权限控制:

write_enable=YES,开启全局上传

local_umask=022,本地文件上传的umask设置为022,系统默认。

anon_upload_enable=YES,允许匿名用户上传,当然要在write_enable=YES的情况下。同时必须建立一个允许ftp用户读写的目录。

anon_mkdir_write_enable=YES,允许匿名用花创建目录

chown_uploads=YES,匿名用户上传的文件属主转换为别的用户,一般建议为root

chown_username=whoever,改此处的whoever为要转换的属主,建议root

chroot_list_enable=YES,用一个列表来限定哪些用户只能在自己目录下活动。

chroot_list_enable=/etc/vsftpd/chroot_list,指定用户列表文件

nopriv_user=ftpsecure,指定一个安全账户,让ftp完全隔离和没有特权的账户

其他的建议不要配置。

用户连接和超时设置:

idle_session_timeout=600,默认的超时时间

data_connection_timeout=120,设置默认数据连接的超时时间