Debian怎样安装并配置vsftpd服务器

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Debian怎样安装并配置vsftpd服务器相关的知识,希望对你有一定的参考价值。

vsftpd的配置  在RedHatLinux9.0里的vsftpd共有3个配置文件,它们分别是:  vsftpd.ftpusers:位于/etc目录下。它指定了哪些用户账户不能访问FTP服务器,例如root等。vsftpd.user_list:位于/etc目录下。该文件里的用户账户在默认情况下也不能访问FTP服务器,仅当vsftpd.conf配置文件里启用userlist_enable=NO选项时才允许访问。  vsftpd.conf:位于/etc/vsftpd目录下。它是一个文本文件,我们可以用Kate、Vi等文本编辑工具对它进行修改,以此来自定义用户登录控制、用户权限控制、超时设置、服务器功能选项、服务器性能选项、服务器响应消息等FTP服务器的配置。  (1)用户登录控制  anonymous_enable=YES,允许匿名用户登录。  no_anon_password=YES,匿名用户登录时不需要输入密码。  local_enable=YES,允许本地用户登录。  deny_email_enable=YES,可以创建一个文件保存某些匿名电子邮件的黑名单,以防止这些人使用Dos攻击。  banned_email_file=/etc/vsftpd.banned_emails,当启用deny_email_enable功能时,所需的电子邮件黑名单保存路径(默认为/etc/vsftpd.banned_emails)。  (2)用户权限控制  write_enable=YES,开启全局上传权限。  local_umask=022,本地用户的上传文件的umask设为022(系统默认是077,一般都可以改为022)。  anon_upload_enable=YES,允许匿名用户具有上传权限,很明显,必须启用write_enable=YES,才可以使用此项。同时我们还必须建立一个允许ftp用户可以读写的目录(前面说过,ftp是匿名用户的映射用户账号)。  anon_mkdir_write_enable=YES,允许匿名用户有创建目录的权利。  chown_uploads=YES,启用此项,匿名上传文件的属主用户将改为别的用户账户,注意,这里建议不要指定root账号为匿名上传文件的属主用户!  chown_username=whoever,当启用chown_uploads=YES时,所指定的属主用户账号,此处的whoever自然要用合适的用户账号来代替。  chroot_list_enable=YES,可以用一个列表限定哪些本地用户只能在自己目录下活动,如果chroot_local_user=YES,那么这个列表里指定的用户是不受限制的。不要选中  chroot_list_file=/etc/vsftpd.chroot_list,如果chroot_local_user=YES,则指定该列表(chroot_local_user)的保存路径(默认是/etc/vsftpd.chroot_list)。  nopriv_user=ftpsecure,指定一个安全用户账号,让FTP服务器用作完全隔离和没有特权的独立用户。这是vsftpd系统推荐选项。  async_abor_enable=YES,强烈建议不要启用该选项,否则将可能导致出错!  ascii_upload_enable=YES;ascii_download_enable=YES,默认情况下服务器会假装接受ASCⅡ模式请求但实际上是忽略这样的请求,启用上述的两个选项可以让服务器真正实现ASCⅡ模式的传输。  注意:启用ascii_download_enable选项会让恶意远程用户们在ASCⅡ模式下用SIZE/big/file这样的指令大量消耗FTP服务器的I/O资源。  这些ASCⅡ模式的设置选项分成上传和下载两个,这样我们就可以允许ASCⅡ模式的上传(可以防止上传脚本等恶意文件而导致崩溃),而不会遭受拒绝服务攻击的危险。  (3)用户连接和超时选项  idle_session_timeout=600,可以设定默认的空闲超时时间,用户超过这段时间不动作将被服务器踢出。  data_connection_timeout=120,设定默认的数据连接超时时间。  (4)服务器日志和欢迎信息  dirmessage_enable=YES,允许为目录配置显示信息,显示每个目录下面的message_file文件的内容。  ftpd_banner=WelcometoblahFTPservice,可以自定义FTP用户登录到服务器所看到的欢迎信息。  xferlog_enable=YES,启用记录上传/下载活动日志功能。  xferlog_file=/var/log/vsftpd.log,可以自定义日志文件的保存路径和文件名,默认是/var/log/vsftpd.log 参考技术A 查看Debian系统是否已经安装了FTP服务器(vsftpd),执行“dpkg -l vsftpd”命令查看FTP服务器(vsftpd)软件是否被安装。如果没有被安装,请继续;如果安装,请不要重复安装。

安装分为在线安装和离线编译安装。由于在线安装方便,本文使用在线安装方式,对FTP服务器(vsftpd)软件进行安装。安装的命令为“apt-get install vsftpd”。

为了确保安装FTP服务器(vsftpd)是成功,可以通过在浏览器中输入安装ftp服务器的IP地址来确认。浏览器地址栏输入“ftp://192.168.2.104”。

为了加强FTP服务器(vsftpd)中资料的安全,配置/etc/vsftpd.conf配置文件,不允许匿名用户登录FTP服务器(vsftpd)。将“anonymous_enable=YES”改为“anonymous_enable=NO”。
验证修改的配置文件是否生效。先重启FTP服务器(vsftpd),重启命令为"/etc/init.d/vsftpd restart"。
在浏览器地址栏中再次输入刚才的地址“ftp://192.168.2.104”来确认修改的配置是否生效。生效后只有输入用户名和密码后才能够看到文件的目录列表。本回答被提问者采纳

vsftpd安装与配置

vsftpd安装与配置

展开
简介
vsftpd(very secure FTP daemon)是 UNIX 操作系统中的一个开源的、免费的 FTP 服务软件。它具有以下特点:

安全性高,轻小易用
支持系统用户、匿名用户和虚拟用户的权限验证和相关操作,但无论哪种用户,最终都会映射为一个对应的 系统用户
用户认证是基于 PAM 实现的
安装
yum 安装 vsftpd,并开启程序

# 安装

[root@instance-36dg06w0 ~]# yum install vsftpd

# 开启

[root@instance-36dg06w0 ~]# systemctl start vsftpd

配置详解

vsftpd 的配置文件在为 vsftpd.conf,一般在 /etc/vsftpd/ 目录下。

属性    属性值    含义
anonymous_enable    YES/NO    是否允许匿名用户(anonymous)登录 FTP,如果该设置被注释,则默认允许
local_enable    YES/NO    是否允许本地系统用户登录
write_enable    YES/NO    是否开启任何形式的 FTP 写入命令,上传文件
local_umask    xxx    本地用户的 umask 设置,如果注释该设置则默认为 077,但一般都设置成 022
anon_upload_enable    YES/NO    是否允许匿名用户上传文件,如果要设置为允许,则需要先开启 write_enable,否则无效,此外对应目录还要具有写权限
anon_mkdir_write_enable    YES/NO    是否允许匿名用户创建新目录
dirmessage_enable    YES/NO    当进入某个目录时,发送信息提示给远程用户
xferlog_enable    YES/NO    是否开启 上传/下载 的日志记录
connect_from_port_20    YES/NO    是否使用 20 端口来连接 FTP
chown_uploads    YES/NO    匿名上传的文件是否由某一指定用户 chown_username 所有
chown_username    有效用户名    匿名上传的文件由该设定用户所有
xferlog_file    有效路径    设置日志文件的保存位置,默认为 /var/log/xferlog
xferlog_std_format    YES/NO    是否使用标准的 ftpd xferlog日志格式,该格式日志默认保存在 /var/log/xferlog
idle_session_timeout    数值    设置空闲连接的超时时间,单位 秒
data_connection_timeout    数值    设置等待数据传输的最大时间,单位 秒(data_connection_timeout 与 idle_session_timeout 在同一时间只有一个有效)
nopriv_user    有效用户名    指定一个非特权用户,用于运行 vsftpd
async_abor_enable    YES/NO    是否支持异步 ABOR 请求
ascii_upload_enable    YES/NO    是否开启 ASCII 模式进行文件上传,一般不开启
ascii_download_enable    YES/NO    是否开启 ASCII 模式进行文件下载,一般不开启
ftpd_banner    …    自定义登录标语
deny_email_enable    YES/NO    如果匿名登录,则会要求输入 email 地址,如果不希望一些 email 地址具有登录权限,则可以开启此项,并在 banned_email_file 指定的文件中写入对应的 email 地址
banned_email_file    有效文件    当开启 deny_email_enable 时,需要通过此项指定一个保存登录无效 email 的文件
chroot_local_user    YES/NO    是否将所有用户限制在主目录,当为 NO 时, FTP 用户可以切换到其他目录
chroot_list_enable    YES/NO    是否启用限制用户的名单列表
chroot_list_file    有效文件    用户列表,其作用与 chroot_local_user 和 chroot_local_user 的组合有关,详见下表
allow_writeable_chroot    YES/NO    是否允许用户对 ftp 根目录具有写权限,如果设置成不允许而目录实际上却具备写权限,则会报错
ls_recurse_enable    YES/NO    是否允许 ls -R 指令来递归查询,递归查询比较耗资源
listen    YES/NO    如果为 YES,vsftpd 将以独立模式运行并监听 IPv4 的套接字,处理相关连接请求(该指令不能与 listen_ipv6 一起使用)
listen_ipv6    YES/NO    是否允许监听 IPv6 套接字
pam_service_name    …    设置 PAM 外挂模块提供的认证服务所使用的配置文件名 ,即 /etc/pam.d/vsftpd 文件,此文件中 file=/etc/vsftpd/ftpusers 字段,说明了 PAM 模块能抵挡的帐号内容来自文件 /etc/vsftpd/ftpusers 中
userlist_enable    YES/NO    是否启用 user_list 文件来控制用户登录
userlist_deny    YES/NO    是否拒绝 user_list 中的用户登录,此属性设置需在 userlist_enable = YES 时才有效
tcp_wrappers    YES/NO    是否使用 tcp_wrappers 作为主机访问控制方式
max_clients    数值    同一时间允许的最大连接数
max_per_ip    数值    同一个IP客户端连接的最大值
local_root    有效目录    系统用户登录后的根目录
anon_root    有效目录    匿名用户登录后的根目录
user_config_dir    有效目录    用户单独配置文件存放目录,该目录下用户的文件名就是对应用户名
chroot_local_user 和 chroot_local_user 组合功能如下:

chroot_local_user=YES    chroot_local_user=NO
chroot_list_enable=YES    1.所有用户都被限制在其主目录下

 

2.使用 chroot_list_file 指定的用户列表 /etc/vsftpd/chroot_list,这些用户作为“例外”,不受限制 1.所有用户都不被限制其主目录下
2.使用 chroot_list_file 指定的用户列表 /etc/vsftpd/chroot_list,这些用户作为“例外”,受到限制
chroot_list_enable=NO 1.所有用户都被限制在其主目录下
2.不使用 chroot_list_file 指定的用户列表 /etc/vsftpd/chroot_list,没有任何“例外”用户 1.所有用户都不被限制其主目录下
2.不使用 chroot_list_file 指定的用户列表 /etc/vsftpd/chroot_list,没有任何“例外”用户
为每个系统用户配置各自的 ftp 根目录
在 /etc/vsftpd/vsftpd.conf 文件末尾添加如下指令:

# 系统用户登录后的根目录
local_root=/var/test/
# 匿名用户登录后的根目录
anon_root=/var/test/
# 设置用户独立配置文件保存目录
user_config_dir=/etc/vsftpd/userconfig/
1
2
3
4
5
6
此外,还要将 chroot_local_user 设置为 YES,使 FTP 用户登录后直接被锁定在自己的根目录上。
通过以上设定,系统用户和匿名用户都会将 /var/test/ 当做根目录,并且登录后直接被锁定在该目录。
但是以上的设置是针对所有系统用户和匿名用户的,如果想要给每个 FTP 用户指定根目录,我们可以给每个用户创建一个对应的配置文件。具体操作如下:

根据 user_config_dir 的设置,我们先在 /etc/vsftpd/ 目录下创建一个名为 userconfig 的目录
假设想要给用户 aaa 单独指定一个 FTP 根目录 /var/test/1,我们需要进入 userconfig 目录,在该目录下创建一个名为 aaa 的配置文件,编辑文件 aaa,配置内容如下:
local_root=/var/test1/
————————————————

原文链接:https://blog.csdn.net/fang_a_kai/article/details/91045617

以上是关于Debian怎样安装并配置vsftpd服务器的主要内容,如果未能解决你的问题,请参考以下文章

centos 6.5安装vsftpd环境

FTP服务器vsftpd搭建FTP服务器

Centos 7 搭建FTP详细配置步骤方法

Linux安装卸载查看vsftpd

搭建nginx+vsftpd详细

Linux 安装 vsftpd 服务并配置