在Linux中开启ftp服务

前言

最近做项目需要传递文件到ftp上,但之前没有玩过ftp,怎么办?那我就发扬程序猿一根筋,九头牛都拉不回来的精神,搞搞它。

准备

笔者Linux环境为centos6.5,实现ftp的软件很多,比较有名的是vsftpd(非常安全的ftp服务)牛逼哄哄的。

安装

在centos中使用yum安装

切换到root用户

[root@spider140 vsftpd]# yum install vsftpd

配置

vsftpd 的配置文件放在/etc/vsftpd/目录下。

[root@spider140 vsftpd]# pwd

/etc/vsftpd

[root@spider140 vsftpd]# ll

总用量 20

-rw-------. 1 root root  125 7月  23 20:49 ftpusers

-rw-------. 1 root root  361 7月  23 20:49 user_list

-rw-------. 1 root root 4615 10月 20 05:27 vsftpd.conf

-rwxr--r--. 1 root root  338 7月  23 20:49 vsftpd_conf_migrate.sh

这里有四个文件 ,下面分别介绍:

ftpusers文件

记录不能通过ftp登录的用户名。        

user_list文件

这里比较有意思,在配置文件中userlist_deny选项为NO,只允许本列表下的用户登录。默认是YES,也就是不允许以下用户登录,甚至不提示输入密码。

注意,vsftpd pam配置默认不允许ftpusers中的用户登录。

vsftpd.conf 主要配置文件,以下详解:

配置文件中大多数的属性都很容易明白怎么回事,所以这里仅介绍几个你可能会关注的配置。

启用上传

为了允许对文件系统修改,比如上传文件,WRITE_ENABLE选项必须为YES

write_enable=YES

本地用户登录

允许在/etc/passwd中的用户登录,也就是普通用户。

local_enable=YES_

匿名登录

允许匿名登录

# 允许匿名登录

anonymous_enable=YES

# 匿名登录不需要密码        

no_anon_password=YES

#匿名登录允许最大的传输率,单位字节每秒        

anon_max_rate=30000

# 匿名登录所使用的目录        

anon_root=/example/directory/

配置了根目录变更限制

避免用户离开自己的家目录

chroot_list_enable=YES

chroot_list_file=/etc/ vsftpd /vsftpd.chroot_list

vsftpd.chroot_list文件中包含了需要被限制的用户

当然也可以设置本地用户默认被限制。

chroot_local_user=YES

在这种情况下,vsftpd.chroot_list文夹中包含的用户就不会被限制更改目录。

限制用户登录

通过配置文件可以限制用户登录

userlist_enable=YES

userlist_file=/etc/vsftpd/vsftpd.user_list

vsftpd.user_list文件指明了哪些用户不能登录,这里参考之前user_list文件配置说明。

限制传输

local_max_rate=1000000 # 最大数据传输率,字节每秒

max_clients=50         # 最大客户端连接数

max_per_ip=2           # 每个ip最大连接数

监听端口设置

如果是私人的ftp服务器暴露在外网上,那最好选择一个非21的端口,为了安全。

listen_port=2211

也可以指定端口范围:

pasv_min_port=49152

pasv_max_port=65534

 

 

启动ftp服务

[root@spider140 vsftpd]# vsftpd

[root@spider140 vsftpd]# ps aux|grep vsftpd

root      1815  0.0  0.0  52548   804 ?        Ss   04:38   0:00 vsftpd

root      1817  0.0  0.0 103252   840 pts/0    S+   04:38   0:00 grep vsftpd

进程启动成功

[root@spider140 vsftpd]# netstat -tanp |grep vsftpd

tcp        0      0 0.0.0.0:2211

 成功监听2211端口

 

后记

待探究的问题

使用xinetd

Xinetd提供了监控和控制网络连接的的能力,这对vsftpd并不是必须的,即使可以作为一个基本的工作vsftpd服务。

使用SSL加密FTP
配置防火墙

参考

Very Secure FTP Daemon - ArchWiki

转载于:https://my.oschina.net/huaxiaoqiang/blog/2986383

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值