本文摘自PHP中文网,作者齐天大圣,侵删。
当我们在服务器上安装好了vsftpd这个软件后,并且已经理解该软件的主配置文件/etc/vsftpd/vsftpd.conf后,我们就可以搭建出自己想要的ftp服务了。指定端口等
listen_port=21 设置监听的端口
download_enable=YES 允许下载文件
max_clients=100 限制并发客户端连接数
max_per_ip=100 限制统一ip的并发链接数
禁止匿名、实体用户登陆
首先把匿名用户登陆给关了,不给匿名用户浏览权限。
1 |
|
那么为什么不允许实体用户登陆呢?因为实体用户本就可以用更安全的sftp登陆,所以,就不用使用ftp协议登陆了。另外,因为ftp是明文传输协议,如果账号密码被截获了,那就不好了。
如何禁止实体用户登陆呢?在文章下面配置虚拟用户的第三步骤会讲到,把/etc/pam.d/vsftpd下的所有内容都注释掉。
主动连接、被动连接设置
我们想要搭建既要支持主动连接模式也支持被动连接,那么设置如下:
主动连接模式的端口设置
1 |
|
设置防火墙,将21端口放行,另外不用开启20端口,直接对于主机主动向外请求的而响应的数据包允许进入本机(establish/related)。
1 2 |
|
开启被动模式,被动连接的端口限定为10001~11000中的任意一个。
1 2 3 |
|
设置防火墙,允许10000~11000之间的端口开放。
1 |
|
配置虚拟用户
配置虚拟用户的步骤如下:
建立虚拟用户口令文件
生成虚拟用户口令认证文件
编辑vsftpd的PAM认证文件
建立本地映射目录并设置宿主目录权限
修改配置文件。
给每一个虚拟用户弄一个单独的配置文件
1.建立虚拟用户的口令文件,该文件的格式为奇数行为用户名,偶数行为密码。下面建立一个这样的文件/etc/vsftpd/vusers,内容如下:
1 2 3 4 |
|
2.生成虚拟用户口令认证文件,执行如下命令:
1 |
|
当命令正确执行后,就会出现 /etc/vsftpd/login.db文件。为了安全起见,我们将该文件的权限设置为600.
1 |
|
3.编辑虚拟用户所需的PAM配置文件
1 |
|
将之前的内容全部给注释掉,并新加入两行
1 2 |
|
注意,如果是32位的去掉lib后面64,另外login后面不用加入后缀的。这样操作之后,实体用户就不能登陆ftp服务了。
4.建立本地映射目录并设置宿主目录权限。
建立虚拟用户的宿主用户
1 |
|
修改目录权限为755
1 |
|
5.修改配置文件。
把下面几行配置信息写入到/etc/vsftpd/vsftpd.conf配置文件中。
1 2 3 4 5 6 7 8 9 10 11 |
|
6.给每一个虚拟用户建立单独的配置文件。
若想给每一个虚拟用户都建立单独的配置文件,则需要在主配置文件中加入
1 |
|
指定虚拟用户的配置文件路径。接下来给两个虚拟用户建立各自的配置文件:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
|
注意:目前还没给ftptest2虚拟用于建立单独的配置文件,那么对于此用户就使用主配置文件的配置(/etc/vsftpd/vsftpd.conf)
更多相关技术文章,请访问linux系统教程栏目!
以上就是linux运维之搭建出符合自己要求的vsftp服务的详细内容,更多文章请关注木庄网络博客!
相关阅读 >>
更多相关阅读请进入《Linux》频道 >>