如何在ubuntu中安装设置ftp服务器

如何在ubuntu中安装设置ftp服务器,第1张

首先我们考虑搭建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文件就可以赋予其访问其他目录的权限!

1、从Oracle官网上下载适合的JDK版本,将其保存到本地计算机上。

2、在Ubuntu上安装FTP服务器,以便可以通过FTP协议上传JDK安装包,可以使用颂纤告vsftpd或ProFTPd等FTP服务器软件进行安装和配置。

3、使用FTP客户端程序,连接到Ubuntu服务器上的FTP服务器,并使用用户名和密码进行身份验证。

4、将JDK安野明装包上传到FTP服务器上的指定目录中。

5、连接到Ubuntu服务器,打开终端窗口。

6、安装完成后,使用命令检查JDK的竖袭版本号。

7、如果JDK版本与下载的安装包版本不同,选择要使用的JDK版本,并使用以下命令设置JAVA_HOME环境变量。

8、完成所有步骤后,就可以在Ubuntu上使用JDK了。

在本教程中,我们将介绍如何在 Ubuntu 16.04 / 16.10 中使用 SSL / TLS 加密 FTP(本文中,我们将使用 VsFTP,一个号称非常安全的 FTP 软件)

在完成本指南中的所有步骤之后,我们将进一步去了解在FTP服务器中启用加密服务的基本原理,以确保能安全的传输数据。

      必须在 Ubuntu中已经安装并配置完FTP服务器

请确保本文中的所有命令都将以root或sudo特权帐户运行。

1.我们将首先在 /etc/ssl/ 下创建一个子目录(如果这个目录不存在),以存储SSL / TLS证书和密钥文件:

2.现在,我们通过运行下面的命令在单个文件中生成证书和密钥。

上述命令将提示您回答以下问题,请输入自己特定的值。

3.在进行任何 VsFTP 配置之前,对于启用了UFW防火墙的用户,必须打开端口990和40000-50000,以允许在VSFTPD配置文件改前燃中分别设置TLS连接和被动端口的端口范围:

4.现在,打开VSFTPD配置文件并在其中定义SSL详细信息:

然后,添加或找到选项 ssl_enable 并将其值设置为 YES 以激活 SSL 的使用,因为 TLS 比 SSL 更安全,因此通过启用 ssl_tlsv1 选项,我们将限制 VSFTPD 使用 TLS:

5.接下来,使用 # 字符注释掉下面的行,如下所示:

6.现在,我们还必须防止匿名用户使用SSL,然后强制所有非匿名登录使用安全的SSL连接进行数据传输,并在登录期间发送密码:

7.此外,我们可以使用以下选项在FTP服务器中添加更多的安全功能。使用option_ssl_reuse = YES选项,所有SSL数据连接都需要展示SSL会话重用证明他们知道与控制频道相同的主机密码。所以我们应该禁用它。

另外,我们可以通过设置 ssl_ciphers 选项来设置SSL密码等级。这将有助于阻挡试图强制使用特定密码的攻击。

8.然后,我们来定义被动端口的端口范围(最小和最大端口)。

9.我们可以使用debug_ssl选项启用SSL调试,将 openSSL 连接记录到VSFTPD日志文件中:

最后核虚保存并关闭文件。然后重启 VSFTPD 服务:

10.执行上述所有配置后,通过从命令行使用FTP来测试VSFTPD是否正在使用SSL / TLS连接。

在下面的输出,有一个错误消息,VSFTPD 只允许用户(非匿名)从支持加密服务的安全客户端登录。

因为命令行不支持加密服务,从而导致了上述错误。因此,为了安全地连接到启用加密服务的FTP服务器,我们需要一个默认支持 SSL / TLS 连接的FTP客户端,例如FileZilla。

FileZilla是功能强大,广泛使用的跨平台FTP客户端,支持通过SSL / TLS等方式连接 FTP。要在Linux客户端计算机上安装FileZilla,请使用以下命令。

12.安装完成后,打开它并转到File =>Sites Manager或按 Ctrl + S 以打开下面的站点管理器界面。

13.现在,添加主机/站点名称悔简和IP地址,定义要使用的协议,加密和登录类型,如下面的屏幕截图(使用适用于您的实际情况的值):

14.然后点击从上面的“Connect”,输入密码,然后验证用于SSL / TLS连接的证书,然后单击“确定”再次连接到FTP服务器:

15.现在,您应该已经通过TLS连接成功登录到了FTP服务器,可以从下面的界面查看连接状态以获取更多信息。

16.最后,我们将文件从本地机器传输到FTP服务器的文件夹中,看看FileZilla界面的下端,查看有关文件传输的报告。

全部教程如上!永远记住,安装FTP服务器而不启用加密服务具有一定的安全隐患。正如我们在本教程中所述,您可以在 Ubuntu 16.04 / 16.10中配置FTP服务器以使用SSL / TLS来实现安全连接。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/tougao/12510823.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存