Arch Linux 下FTP服务器的搭建
为了方便BBS测试的文件上传, 就此搭建FTP服务器
Install
安装 vsftpd
1
|
|
启动 vsftpd 和 设置开机自启
1 2 |
|
Configuration
大多数的设置在 /etc/vsftpd.conf
, 打开配置文件
1
|
|
启用上传功能, write_enable=YES
开启本地用户登录功能, local_enable=YES
开启IPV6支持
1 2 |
|
自定义端口, 增加配置 listen_port=2211
, 打开防火墙
1
|
|
增加用户设置
1 2 3 |
|
若以后想增加用户, 可以使用 sudo htpasswd /etc/vsftpd/.passwd Username
这种方式增加的用户应该是不能被认证的, 用如下命令生成的密码替换
1
|
|
向PAM service注册认证数据库, sudo vim /etc/pam.d/vsftpd
, 并增加如下内容
1 2 |
|
同时需要安装PAM对pwdfile的认证支持库, sudo yaout pam_pwdfile
, Yaourt的安装见Arch Linux 安装Aur包管理器Yaourt
在系统中增加ftp虚拟用户
1
|
|
更改文件夹的所有人, sudo chown -R ftp:ftp /srv/ftp
配置文件里增加如下信息
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
在用的过程中发现 FTP 不支持软链接的方式, 因此换成mount的方式来实现
1
|
|
======================Add @2014/11/15 ===============================
在使用中发现, 只有命令和FTP工具(xftp)可以连接, Windows资源管理器、浏览器都不能访问, 查阅资料后发现是由于FTP的数据传输方式导致的, FTP的被动模式要求服务器能放过高端口的数据传输的包, 在测试中本机无法搞定ip_conntrack模式的配置, 只能限制FTP数据传输的端口, 并在防火墙上开放对应端口
在Vsftp上限制端口, sudo vim /etc/vsftp.conf
, 在文件尾部增加如下部分
1 2 |
|
并开放这些端口
1
|
|
接着重启vsftpd服务器就行了
=======================Add @2014/11/16 ==============================
同时发现PSAV模式上传的时候, 发现无法上传和修改文件, 只能下载, 因此做如下修改
打开配置文件, sudo vim /etc/vsftp.conf
1
|
|
参考
(1) https://wiki.archlinux.org/index.php/Very_Secure_FTP_Daemon
(2) http://www.cnblogs.com/acpp/archive/2010/02/08/1665876.html
(3) http://blog.chinaunix.net/uid-26263042-id-3230479.html
(4) http://blog.csdn.net/moreorless/article/details/5289147