`

Ubuntu 下 FTP 设置

阅读更多

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设置为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这个用户的。可以修改这个文件而 不用担心影响到其他用户的配置。

二、回答前面提到的问题

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_list_file文件就可以赋予其访问其他目录的权限!

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

分享到:
评论

相关推荐

    ubuntu设置FTP需要安装的db

    它将用户的登录凭证和其他相关信息存储在一个本地数据库中,使得vsftpd可以在不依赖系统PAM或passwd文件的情况下独立管理FTP账户。 总之,在Ubuntu上配置FTP服务器,尤其是使用vsftpd时,正确安装和配置Berkeley DB...

    Ubuntu下FTP服务器搭建+DNS服务器搭建

    教程文件"Ubuntu下FTP服务器搭建+DNS服务器搭建教程.pdf"可能包含了更详细的步骤和注意事项,你可以参考其中内容进行操作。"www.linuxidc.com.png"可能是某个网站的logo或截图,与本次话题关联性不强,这里不再赘述...

    ubuntu FTP 服务器搭建

    ubuntu FTP 服务器搭建 主用户+匿名用户 ubuntu FTP 服务器搭建 主用户+匿名用户 ubuntu FTP 服务器搭建 主用户+匿名用户

    Ubuntu下ftp服务器配置方法

    本文将详细介绍如何在Ubuntu环境下安装与配置vsftpd(Very Secure FTP Daemon)作为FTP服务软件,并通过具体的步骤演示如何设置权限控制、安全策略以及性能优化等方面的内容。 #### 二、安装vsftpd 首先,我们需要...

    【最新】Ubuntu下ftp服务器配置方法.doc

    在Ubuntu系统中,配置FTP服务器通常用于提供文件传输服务,让用户能够通过FTP协议上传和下载文件。Ubuntu系统自带的FTP服务器软件是vsftpd(Very Secure FTP Daemon)。下面将详细介绍如何在Ubuntu上安装和配置...

    ubuntu linux 下C语言实现FTP批量文件上传

    在ubuntu linux下实现的FTP文件上传,程序自动监听目录下是否有图片文件,有文件则自动通过FTP上传到服务器端,同时删除目录下的文件,实现了批量文件上传,自动重命名文件,程序经测试,运行稳定。

    ubuntu ftp安装教程

    ftp安装教程ftp安装教程ftp安装教程ftp安装教程ftp安装教程ftp安装教程ftp安装教程ftp安装教程ftp安装教程ftp安装教程ftp安装教程ftp安装教程

    ubuntu搭建ftp服务器

    在FTP服务器的根目录下创建所需的目录,并用`chown`和`chmod`命令调整所有权和权限。 8. **安全注意事项** 虽然`vsftpd`以其安全性著称,但为了进一步增强安全性,你可以考虑以下措施: - 使用SSL/TLS加密传输...

    基于ubuntu下的ftp服务器的设计与实现

    FTP服务器连接模块:该模块包含了一些设置,提供了连接到服务器的方法。所有连接之间分享一个FTPParser,每一个连接创建一个代表目前登录的用户。 用户管理模块:通过此模块可以添加用户、删除用户,修改用户密码。 ...

    基于Ubuntu的FTP服务器

    本文将详细介绍如何在Ubuntu 22.04操作系统上搭建一个具备多种功能的FTP服务器,包括主被动模式、断点续传、限速以及单IP最大连接数的限制。 首先,FTP服务器的核心在于一个名为“vsftpd”(Very Secure FTP Daemon...

    UbuntuFTP设置.pdf

    Ubuntu FTP 设置 本文档将指导您如何在 Ubuntu 系统中设置 FTP 服务器,使用 VSFTPD 软件包,并且创建三个虚拟用户,每个用户拥有不同的权限和主目录。 虚拟用户数据库的创建 首先,我们需要创建一个虚拟用户...

    Ubuntu下FTP配置[文].pdf

    若要测试FTP服务,可以尝试创建一个文件`a.txt`在`/srv/ftp`目录下,然后用`chown`命令将其所有者改为属于`ftp`组的`root`用户: ```bash sudo chown root:ftp a.txt ``` 之后,尝试通过`ftp localhost`或`ftp ...

    ubuntu_ftp_server配置方法.doc

    Ubuntu自带的FTP服务器是vsftpd. 安装使用 1、安装vsftpd sudo apt-get install vsftpd 安装了之后会在/home/下建立一个ftp目录。这时候你可以试着访问下ftp://IP地 址。应该可以看到一个空白内容的ftp空间。 默认...

    ubuntu安装ftp

    ### Ubuntu安装FTP知识点详解 #### 一、更新源列表的重要性 在进行任何软件包的安装之前,确保系统软件包列表是最新的非常重要。这是因为系统维护人员可能会定期发布更新,包括安全补丁和其他改进,这些更新会反映...

    Ubuntu-ftp.rar_ubuntu ftp

    **FTP(File Transfer ...理解并熟练配置FTP服务器对于管理Ubuntu系统至关重要,无论是为了共享文件还是提供远程访问,正确设置FTP服务器都能提升工作效率并保障数据安全。希望这个指南能帮助你成功部署和管理FTP服务。

    FTP.rar_ubuntu ftp

    在Ubuntu操作系统中,设置FTP服务器可以方便地共享文件,特别是在Unix环境编程的学习过程中,它提供了一个实践平台。下面我们将深入探讨如何在Ubuntu系统下配置FTP服务器。 首先,你需要安装FTP服务器软件。在...

Global site tag (gtag.js) - Google Analytics