如何在Linux系统中搭建vsftpd

vsftpd是一个对UNIX系统遵循GPL协议的FTP服务器,包括Linux。它安全而且速度非常快。

本教程将告诉你如何在Linux系统中搭建自己的FTP服务器。

1. 安装 vsftpd。

sudo apt-get install vsftpd

2. 替换配置文件。

用文本编辑器打开 vsftpd.conf 配置文件,一般在 /etc 目录下。

[sudo joe /etc/vsftpd.conf

可以做如下修改:把

anonymous_enable=YES

改成

anonymous_enable=NO

这将禁止用户匿名访问你的FTP服务器,除非你有非常好的理由允许匿名访问。而且在做网络安全方面,我建议不允许匿名访问,尤其是你的FTP服务器位于 Internet 上时。

当然,设置了禁止匿名访问后,你需要允许本地用户登录,修改如下:把

#local_enable=YES

改成

local_enable=YES

3. 添加一个 “fake” shell 脚本。

编辑 /etc/shells 文件,并添加一个不存在的 shell 名称如 /bin/false。这个假 shell 将会限制 FTP 用户访问系统。

sudo joe /etc/shells

# /etc/shells: valid login shells
/bin/sh
/bin/bash
/bin/false

/bin/false 是我们添加的一个不存在的 shell。就像红帽子 Linux 系统上的一个特殊的设备 /dev/null 一样。

4. 创建一个 FTP 用户账户。

在 Linux 系统上的不存在的 shell 上创建严格的 FTP 用户账户是非常重要的。在这种方式下,如果因为任何原因有人能成功脱离 FTP 的 chroot 环境,他都不会有可能去执行任何用户任务因为这个 shell 是不存在的。首先,创建新的用户。

这个必须和没有限制访问的正常的用户账户分开,因为 chroot 环境工作的方式。Chroot 是得它从用户的角度出发,似乎你已经将它们防止在文件系统的顶层一样。

使用下面的命令在 /etc/passwd 文件中创建用户,在你每添加一个允许访问你的FTP服务器的新的用户时都必须执行这一步。

sudo mkdir -p /home/ftp/ftpuser
sudo useradd ftpuser -d /home/ftp/ftpuser/ -s /bin/false
sudo passwd ftpuser
- mkdir 命令将在 /home 目录下创建 ftp/ftpuser 目录来处理所有的 FTP 用户。
- useradd 命令将在你的 Linux 服务器上添加一个名为 ftpuser 新的用户。
- 最后,passwd 命令将设置用户 ftpuser 的密码。

一旦你完成了这些,用下面的命令来重启 vsftpd 服务:

sudo /etc/init.d/vsftpd restart

5. 在每个用户的基础上改写用户手册中指定的配置项(可选)。

如果你想在每个用户的基础上改变FTP服务器的行为习惯,你应用知道 vsftpd 有一个强大的选项,允许你这么做。
如果你设置了 user_config_dir 为 /etc/vsftpd_user_conf 并且以 “chris” 用户登录,那么 vsftpd 在会话持续的时间内将会在 /etc/vsftpd_user_conf/chris 文件中应用这些设置,文件的格式详见用户手册!

请注意,并非是所有的设置都会对每个用户生效,例如,许多设置只对之前的已经启动的用户会话生效。这些不会影响每个用户的任何行为的设置,包括 listen_address, banner_file, max_per_ip, max_clients, xferlog_file 等。

赞(1)
声明:本网站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-62778877-8306;邮箱:fanjiao@west.cn。本站原创内容未经允许不得转载,或转载时需注明出处:西部数码知识库 » 如何在Linux系统中搭建vsftpd

登录

找回密码

注册