`
HUYIZIZHEN
  • 浏览: 115967 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

ubuntu vsftp服务器配置

阅读更多
ubuntu vsftp服务器配置

FTP服务器是平时应用最为广泛的服务之一。VSFTP是Very Secure FTP的缩写,意指非常安全的FTP服务。VSFTP功能强大,通过结合本地系统的用户认证模块及其多功能的配置项目,可以快速有效的
  
FTP服务器是平时应用最为广泛的服务之一。VSFTP是Very Secure FTP的缩写,意指非常安全的FTP服务。VSFTP功能强大,通过结合本地系统的用户认证模块及其多功能的配置项目,可以快速有效的搭建强大的多用户FTP服务。

首先我们考虑搭建FTP服务需要关注的都有哪些方面?比如我们最经常关注的有:
1、如何添加FTP用户?
2、如何临时冻结某FTP用户?
3、FTP用户登入后的默认目录?是否可以改变?
4、如何锁定FTP用户可访问的目录范围?
5、FTP用户可以有哪些访问权限?可否上传文件?
我们将带着这些问题来探讨如何配置VSFTP以达到预定目标。

一、主要配置选项
VSFTP的主配置文件是/etc/vsftpd.conf 。由于可配置的选项实在太多,无法一一详谈,只能截取比较常用的功能配置选项来加以说明。完整说明可参考man vsftpd.conf。
这里需要注意的是,每个配置选项都是由“配置项目名称=配置值“所定义。在每个配置变量后,要紧跟等号,再紧跟设置的变量值。中间不允许出现空格之类的分隔符,否则导致配置错误,无法生效!
另外,如果需要开通上传功能,则应注意用来登录FTP的本地系统用户对要操作的目录需要具备写权限,否则无法上传文件!

版本vsftpd: version 2.0.6
启动VSFTPD:sudo /etc/init.d/vsftpd start
停止VSFTPD:sudo /etc/init.d/vsftpd stop
重启VSFTPD:sudo /etc/init.d/vsftpd restart

以下为常用的配置选项:
1、listen=YES
若设置为YES,开启监听网络。

2、anonymous_enable
若设置为YES,则允许匿名用户访问;若设置为NO则拒绝匿名用户访问。
如果开启的话,则可以通过用户名ftp或者anonymous来访问,密码随便。

3、local_enable
若设置为YES,则允许通过本地用户帐号访问;若设置为NO,则拒绝本地用户帐号访问。如果你拒绝了陌生人访问,那么这个必须设置为YES吧,否则谁能访问你的FTP呢?

4、write_enable
若设置为YES,则开启FTP全局的写权限;若设置为NO,则不开。
若为NO则所有FTP用户都无法写入,包括无法新建、修改、删除文件、目录等操作,也就是说用户都没办法上传文件!!

5、anon_upload_enable
若设置为YES,开启匿名用户的上传权限。前提是write_enable有开启,并且用户具有对当前目录的可写权限。 若设置为NO,则关闭匿名用户的上传权限。

6、anon_mkdir_write_enable
若设置为YES,开启匿名用户新建目录的权限。前提是write_enable有开启,并且用户具有对当前目录的可写权限。 若设置为NO,则关闭匿名用户新建目录的权限。

7、dirmessage_enable
若设置为YES,则可开启目录信息推送,也就是用户登录FTP后可以列出当前目录底下的文件、目录。 这个应该要开启吧!

8、xferlog_enable
若设置为YES,则开启登录、上传、下载等事件的日志功能。应开启!

9、xferlog_file=/var/log/vsftpd.log
指定默认的日志文件,可指定为其他文件。

10、xferlog_std_format
若设置为YES,则启用标准的ftpd日志格式。可以不启用。

11、connect_from_port_20
若设置为YES,则服务器的端口设为20。
如果不想用端口20,可以另外通过ftp_data_port来指定端口号。

12、chown_uploads
若设置为YES,则匿名用户上传文件后系统将自动修改文件的所有者。
若要开启,则chown_username=whoever也需指定具体的某个用户,用来作为匿名用户上传文件后的所有者。

13、idle_session_timeout=600
不活动用户的超时时间,超过这个时间则中断连接。

14、data_connection_timeout=120
数据连接超时时间 。

15、ftpd_banner=Welcome to blah FTP service.
FTP用户登入时显示的信息 。

16、local_root=/home/ftp
指定一个目录,用做在每个本地系统用户登录后的默认目录。

17、anon_root=/home/ftp
指定一个目录,用做匿名用户登录后的默认目录。

18、chroot_local_user、 chroot_list_enable、chroot_list_file
这个组合用于指示用户可否切换到默认目录以外的目录。
其中,chroot_list_file默认是/etc/vsftpd.chroot_list,该文件定义一个用户列表。
若chroot_local_user 设置为NO,chroot_list_enable设置为NO,则所有用户都是可以切换到默认目录以外的。
若chroot_local_user 设置为YES,chroot_list_enable设置为NO,则锁定FTP登录用户只能在其默认目录活动,不允许切换到默认目录以外。
若chroot_local_user 设置为YES,chroot_list_enable设置为YES,则chroot_list_file所指定的文件里面的用户列表都可以访问默认目录以外的目录,而列表以外的用户则被限定在各自的默认目录活动。
若chroot_local_user设置为NO,chroot_list_enable设置为YES,则chroot_list_file所指定的文件里面的用户列表都被限定在各自的默认目录活动,而列表以外的用户则可以访问默认目录以外的目录。
建议设置:chroot_local_user与chroot_list_enable都设置为YES。这样就只有chroot_list_file所指定的文件里面的用户列表可以访问默认目录以外的目录,而列表以外的用户则被限定在各自的默认目录活动!
好处:所有人都被限制在特定的目录里面。如果某些特定用户需要访问其他目录的权限,只需将其用户名写入chroot_list_file文件就可以赋予其访问其他目录的权限!

19、userlist_file、userlist_enable、userlist_deny
这个组合用于指示用户可否访问FTP服务。 其中,userlist_file默认是/etc/vsftpd.user_list,该文件定义一个用户列表。 若userlist_enable设置为YES,userlist_deny设置为
  
这个组合用于指示用户可否访问FTP服务。
其中,userlist_file默认是/etc/vsftpd.user_list,该文件定义一个用户列表。
若userlist_enable设置为YES,userlist_deny设置为NO,则只有userlist_file所指定的文件里面的用户列表里面的用户可以访问FTP。
若userlist_enable设置为YES,userlist_deny设置为YES,则userlist_file所指定的文件里面的用户列表里面的用户都被拒绝访问FTP。
若userlist_enable设置为NO,userlist_deny设置为YES,则这个列表没有实际用处,起不到限制的作用!因为所有用户都可访问FTP。
建议设置:userlist_enable与userlist_deny都设置为YES。这样则userlist_file所指定的文件里面的用户列表里面的用户都被拒绝访问FTP。
好处:只需将某用户帐号加入到userlist_file所指定文件里面的用户列表,就可以起到暂时冻结该用户的功能!

20、user_config_dir
指定一个目录用于存放针对每个用户各自的配置文件,比如用户kkk登录后,会以该用户名建立一个对应的配置文件。
比如指定user_config_dir=/etc/vsftpd_user_conf, 则kkk登录后会产生一个/etc/vsftpd_user_conf/kkk的文件,这个文件保存的配置都是针对kkk这个用户的。可以修改这个文件而 不用担心影响到其他用户的配置。

二、我的VSFTP的配置方案
#首先要安装VSFTP。源码编译或软件包安装都可以。
#以下方案实现以下功能:
#1、锁定用户在/home/ftp默认目录活动,
#     并保留/etc/vsftpd.chroot_list文件里面的用户列表可访问其他目录。
#2、具备暂时冻结FTP用户的功能,将需暂停的用户名加入到/etc/vsftpd.usr_list即可。
#
#设置配置文件:
#复制以下文件并保存为/etc/vsftpd.conf
#新建两文件:touch /etc/vsftpd.chroot_list
#                    touch /etc/vsftpd.user_list
#新建目录:mkdir /home/ftp
#新建群组:addgroup ftp
#修改/home/ftp属性:chown ftp:ftp /home/ftp
#新增FTP用户: adduser --shell /bin/false --home /home/ftp your_usr_name
#把需要开通FTP的用户名加入到ftp群组:usermod -aG ftp your_usr_name
#注意:
#如果你的/etc/shells里面没有包含/bin/false,则你用上述的方法建立的用户将法访问#FTP,解决方法:编辑/etc/shells,加入/bin/false这行。
#
# Example config file /etc/vsftpd.conf
listen=YES
#listen_ipv6=YES
anonymous_enable=YES
local_enable=YES
write_enable=YES
#anon_upload_enable=YES
#anon_mkdir_write_enable=YES
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
#chown_uploads=YES
#chown_username=whoever
#xferlog_file=/var/log/vsftpd.log
#xferlog_std_format=YES
#idle_session_timeout=600
#data_connection_timeout=120
#nopriv_user=ftpsecure
#async_abor_enable=YES
#ascii_upload_enable=YES
#ascii_download_enable=YES
#ftpd_banner=Welcome to blah FTP service.
#deny_email_enable=YES
#banned_email_file=/etc/vsftpd.banned_emails
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
#ls_recurse_enable=YES
secure_chroot_dir=/var/run/vsftpd
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
anon_root=/home/ftp
local_root=/home/ftp
userlist_file=/etc/vsftpd.user_list
userlist_enable=YES
userlist_deny=YES


三、回答前面提到的问题

1、如何添加FTP用户?
设置local_enable为YES可以开放系统用户访问FTP。
在系统里面添加用户,将shell设置为/bin/false,并将其家目录若设置为/home/ftp或者其他目录。这样就可以建立只访问FTP而无法登录shell环境的用户。
注意:可以新建一个ftp组,把/home/ftp的所有者设为ftp,群组也设为ftp。然后所有新添加的FTP用户只需加入到FTP群组就可以具有对/home/ftp的访问权限了。这样也方便管理用户量比较大的FTP系统。如:
sudo addgroup ftp #如果有了就不用添加
sudo chown ftp:ftp /home/ftp #如果改过了就不用再改
sudo adduser --shell /bin/false --home /home/ftp user1 #添加用户user1
sudo usermod  -aG ftp  user1  #把用户user1加入到ftp组
这样便可以通过用户名user1来访问FTP服务了。

2、如何临时冻结某FTP用户?
将userlist_enable与userlist_deny都设置为YES。这样userlist_file所指定的文件里面的用户列表里面的用户都 被拒绝访问FTP。只需将某用户帐号加入到userlist_file所指定文件里面的用户列表,就可以起到暂时冻结该用户的功能!如需重新开通使用权 限,则只需从该文件中去掉相应的用户名。

3、FTP用户登入后的默认目录?是否可以改变?
可以通过local_root、anon_root来指定相应的默认目录。

4、如何锁定FTP用户可访问的目录范围?
将chroot_local_user与chroot_list_enable都设置为YES。这样就只有chroot_list_file所指定的文件 里面的用户列表可以访问默认目录以外的目录,而列表以外的用户则被
  
将chroot_local_user与chroot_list_enable都设置为YES。这样就只有chroot_list_file所指定的文件 里面的用户列表可以访问默认目录以外的目录,而列表以外的用户则被限定在各自的默认目录活动!如果某些特定用户需要访问其他目录的权限,只需将其用户名写 入chroot_list_file文件就可以赋予其访问其他目录的权限!

5、FTP用户可以有哪些访问权限?可否上传文件?
设置write_enable可以开启全局的写权限。这样FTP用户就可以在本地帐号管理系统允许的范围内进行写操作了。

注文章转载至
http://www.bc-sj.com/html/linux/Ubuntu/fuwuqi/FTPfuwuqi/2011/1130/19965.html
分享到:
评论

相关推荐

    Linux_VSFTP服务器.doc

    VSFTP 服务器的配置文件是 /etc/vsftpd/vsftpd.conf,可以通过 vi 命令编辑该文件。 1. 控制匿名登录:anonymous_enable=YES改成NO,禁止匿名登录。 2. 允许本地帐号登录:local_enable=YES,允许本地用户登录。 3....

    Ubuntu 用VSFTP搭建FTP服务器设置教程.docx

    下面将详细介绍如何一步步配置和设置VSFTP服务器。 1. **安装VSFTP** 在Ubuntu的终端中,使用`sudo apt-get install vsftpd`命令来安装VSFTP服务。安装完成后,系统会在 `/home/` 目录下创建一个名为 `ftp` 的目录...

    ubuntu下安装配置vsftp【附详细说明和配置完成的vsftp.conf】

    本篇文章将详细介绍如何在Ubuntu环境下安装并配置VSFTPD,以及提供一份完整的`vsftp.conf`配置文件示例。 首先,我们需要通过Ubuntu的包管理器`apt`来安装VSFTPD。打开终端并输入以下命令: ```bash sudo apt ...

    vsftp服务器配置(建立系统实体账号)

    总的来说,通过以上步骤,我们成功地配置了VSFTP服务器,使得系统实体账号能够安全地通过FTP访问特定的目录,同时限制了他们的系统访问权限。这不仅提高了服务器的安全性,也为用户提供了一个方便的文件传输环境。

    Ubuntu-18.04 下修改root用户密码,安装SSH服务,允许root用户远程登录,安装vsftp服务器.pdf

    在这个资源中,我们将学习如何在 Ubuntu-18.04 系统中修改 root 用户密码、安装 SSH 服务、允许 root 用户远程登录和安装 vsftp 服务器。 修改 root 用户密码 在 Ubuntu-18.04 系统中,默认情况下 root 用户的密码...

    vsFTP服务器初步管理

    在本教程中,我们将深入探讨vsFTP服务器的基本管理和配置。 ### 1. 安装vsFTP 在大多数Linux发行版中,可以通过包管理器安装vsFTP。在Ubuntu/Debian上,可以使用`apt-get`命令: ```bash sudo apt-get update ...

    Ubuntu16.04离线安装包vsftpd

    你可能需要修改配置文件 `/etc/vsftpd.conf` 来调整用户权限、匿名访问、PASV模式等设置。例如,禁止匿名访问可以在配置文件中取消注释 `anonymous_enable=YES` 行。 7. **验证安装**:最后,可以使用FTP客户端测试...

    ubuntu的vsftp配置.pdf

    VSFTP (Very Secure FTP Daemon) 是一款在Unix和Linux系统中广泛使用的FTP服务器...根据实际需求调整这些设置,以实现最佳的FTP服务器配置。在配置完成后,务必验证设置是否正确,并进行测试以确保FTP服务按预期工作。

    Linux VSFTP服务器

    这个教程将深入探讨如何在Linux环境中配置和管理VSFTP服务器。 一、VSFTP服务器概述 VSFTP以其安全特性著称,支持用户隔离、虚拟主机、SSL/TLS加密以及Chroot jail功能,限制用户只能访问其主目录,从而提高系统...

    安装vsftp服务器借鉴.pdf

    本指南将详细介绍如何在Linux系统上安装和配置VSFTP服务器,以便为用户提供安全的文件传输服务。 一、解压安装 VSFTP的安装通常通过包管理器进行,例如在Ubuntu或Debian上使用`apt-get`,在CentOS或Fedora上使用`...

    UBUNTU11.04服务器版安装和简单配置.docx

    "UBUNTU服务器版安装和简单配置" 本文档总结了UBUNTU 11.04服务器版的安装和简单配置过程。安装前需要分好磁盘分区,包括交换空间的分区,建议使用Ubuntu桌面版光盘中分区工具。安装步骤包括选择简体中文、配置网络...

    Linux服务器VsFtp安装1

    本文将详细介绍 Linux 服务器上 VsFtp 的安装、启动、关闭、重启和配置文件设置等内容。 一、VsFtp 安装 VsFtp 是一个基于GPL许可的免费FTP服务器软件,支持很多的 Linux 发行版,包括 Red Hat、Fedora、CentOS、...

    ubuntu 部署VSFTP

    在本篇教程中,我们将详细介绍如何在Ubuntu 17.10系统上部署VSFTP服务器,并进行基本配置,使服务器能够正常运行并提供文件传输服务。 #### 二、环境准备 首先,确保你的Ubuntu系统已经更新至最新版本,并且已经...

    lvs+keepalived+vsftp配置FTP服务器负载均衡

    在所有后端服务器上安装VSFTPd,并进行必要的配置,例如设置监听端口、用户权限、日志记录等。确保FTP服务能够正常启动和运行。 5. **配置虚拟用户(可选)** 如果需要使用虚拟用户,可以配置vsftpd使用MySQL或...

    Ubuntu 10.04 搭建vsftpd 2.2.2

    在 Ubuntu 10.04 中,我们可以轻松地搭建 vsftpd 2.2.2 服务器,实现文件的上传和下载。 一、安装 vsftpd 软件 在 Ubuntu 10.04 中,我们可以使用 apt-get 命令来安装 vsftpd 软件。安装时,软件会创建一个配置...

    Linux vsftp配置手册

    安装完成后,VSFTP服务器的配置文件通常位于`/etc/vsftpd/vsftpd.conf`。 **2. VSFTP服务器的配置** VSFTP的配置主要通过编辑`vsftpd.conf`文件来完成。以下是几个常见的配置示例: - **匿名FTP访问**:设置`...

    Ubuntu-18.04 下修改root用户密码,安装SSH服务,允许root用户远程登录,安装vsftp服务器.docx

    在 Ubuntu 18.04 系统中,修改 root 用户密码、安装 SSH 服务、允许 root 用户远程登录和安装 vsftpd 服务器是非常重要的操作。下面将详细介绍这些操作的步骤和知识点。 修改 root 用户密码 在 Ubuntu 18.04 系统...

    vsftp的安装包以及安装方法

    你可以使用任何支持FTP的客户端软件连接到VSFTP服务器,如FileZilla、WinSCP等。连接时需要输入服务器的IP地址、端口(默认21)、用户名和密码。 六、日志与监控 VSFTP的日志通常位于`/var/log/vsftpd.log`。定期...

Global site tag (gtag.js) - Google Analytics