Linux下最常用的FTP软件是vsftpd,使用起来非常简单,功能也很强大,以下记录下最简单的使用配置方法。
服务安装
vsftpd是常用软件,因此一般安装也不用费时费力的去源码安装,直接在仓库中进行安装即可,比如在红帽系的发行版上,直接通过YUM安装,如
yum install vsftpd |
系统会自动安装成功。安装完成之后,默认情况下,其配置文件在 /etc/vsfptd
目录下。
服务配置
vsftpd 功能很强大,但是我们并不需要全部了解,我们使用最简单方式配置即可,vsftpd默认也是支持本地系统账号的,但是我们经常给不同的人不同的权限,因此也没有必要去通过系统账号去实现,直接通过虚拟账户实现即可。
首先在配置目录下新建一个登录用户的列表文件,比如 loginuser.txt
里面依次按行输入用户名和密码,比如
user1 |
上面是虚拟用户的账号信息,配置完成之后,运行下面的命令生成数据文件
db_load -T -t hash -f /etc/vsftpd/loginuser.txt /etc/vsftpd/login.db |
这样就生产了数据文件 login.db
,然后就可以在 vsftpd.conf
的最后配置我们自己的配置,类似
user_config_dir=/etc/vsftpd/vhost |
最后两项是本地的端口范围,根据需要配置,其他的的配置可以根据需要进行删减。
配置完成之后,开始针对每个用户进行权限配置,在 vhost
目录下创建用户名同名的文件,比如拥有所有权限的配置文件 user1
,内容如下
local_root=/mnt/data/app |
或者配置一个只能浏览和下载,不能上传的账号文件 user2
,内容如下
local_root=/mnt/data/app |
注意,
local_root
是用户登录后的主目录,创建该目录并赋给vsftpd
用户
配置完成后,重启服务
systemctl restart vsftpd |
服务测试
测试之前,最好确认下防火墙的问题,避免排除配置问题。
测试可以使用本地的命令行,即 ftp 127.0.0.1
输入账号密码,更多操作输入?
获得。
当然也可以通过GUI工具进行测试,比如 XFTP
等等。
FTP默认端口是21,而且文件传输需要单独的数据通道端口,一般防火墙可自动识别