欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

Ubuntu 安装 vsftpd FTP详细步骤

程序员文章站 2022-03-19 09:12:33
vsftpd 是一个对 unix 系统遵循 gpl 协议的 ftp 服务器,包括 linux。它安全而且速度非常快。 本教程将告诉你如何在 linux 系统中搭建自己...

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 等。

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

相关标签: Ubuntu vsftpd FTP