刘孝喜 發表於 2020-11-28 08:26:00

Linux 学习笔记05丨在Ubuntu 20.04配置FTP服务器

<p>感谢 linuxconfig.org 上的这篇英文教程</p>
<p>FTP用于访问和传输<strong>本地网络</strong>上的文件,通过安装 VSFTPD 软件,打开热点,配置相关信息后即能够启动并运行FTP服务器了。</p>
<img src="https://gitee.com/j__strawhat/MyImages/raw/master/img/20201128085833.png" width="600">
<h2 id="1-安装和配置vsftpd">1. 安装和配置VSFTPD</h2>
<p>在终端中输入指令以安装 VSFTPD</p>
<pre><code class="language-shell">$ sudo apt-get install vsftpd
</code></pre>
<h2 id="2-设置-ftp-用户账号">2. 设置 FTP 用户账号</h2>
<p>首先我们对原配置文件 <code>vsftpd.conf</code> 进行备份,避免待会的操作中出错。</p>
<pre><code class="language-shell">$ sudo mv /etc/vsftpd.conf /etc/vsftpd.conf_orig
</code></pre>
<p>接着,我们通过编辑器(这里用vi)打开原来的配置文件。</p>
<pre><code class="language-shell">$ sudo vi /etc/vsftpd.conf
</code></pre>
<p>将下面基本配置信息全部复制粘贴到刚打开的配置文件<code>/etc/vsftpd.conf</code> ,然后保存修改并关闭文件</p>
<pre><code class="language-shell">listen=NO
listen_ipv6=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
chroot_local_user=YES
secure_chroot_dir=/var/run/vsftpd/empty
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
ssl_enable=NO
pasv_enable=Yes
pasv_min_port=10000
pasv_max_port=10100
allow_writeable_chroot=YES
</code></pre>
<img src="https://gitee.com/j__strawhat/MyImages/raw/master/img/20201128003854.png">
<p>由于Ubuntu的内置防火墙默认会阻止FTP的通信,我们通过下面的指令在UFW中新建个例外以允许通信。</p>
<pre><code class="language-shell">$ sudo ufw allow from any to any port 20,21,10000:10100 proto tcp
</code></pre>
<p>重新启动VSFTPD以应用新的更改。</p>
<pre><code class="language-shell">$ sudo systemctl restart vsftpd
</code></pre>
<h2 id="3-创建一个ftp用户">3. 创建一个FTP用户</h2>
<p>FTP服务器已经就就绪,可以接受传入的连接了。接下来就需要创建一个新的用户从而连接到FTP服务。</p>
<p>创建新用户 <code>ftpuser</code>的同时设置该用户的密码:</p>
<pre><code class="language-shell">$ sudo useradd -m ftpuser
$ sudo passwd ftpuser
</code></pre>
<p>为了保证运行成功,需要在<code>ftpuser</code>的家目录中保存至少一个文件。</p>
<pre><code class="language-shell">$ sudo bash -c "echo FTP TESTING &gt; /home/ftpuser/FTP-TEST"
</code></pre>
<p>当我们连接到该FTP服务器时,我们就能够看到这样的文件。</p>
<h2 id="3-连结ftp服务器">3. 连结FTP服务器</h2>
<p>现在,你用手机打开下<strong>热点</strong>,让你的小伙伴<strong>通过连接你的热点</strong>、输入你那边的IP地址或者主机名即能连接到FTP服务器了。接下来介绍两种方法,任意种方法都能够成功连接。</p>
<blockquote>
<p>注意,主机每次开启时需要输入以下指令!!!</p>
<pre><code class="language-shell">$ sudo systemctl restart vsftpd
</code></pre>
</blockquote>
<h3 id="31-使用命令行连接到ftp服务器">3.1 使用命令行连接到FTP服务器</h3>
<p>打开终端,使用Ubuntu的 <code>ftp</code> 命令来连接你的 loopback 地址(127.0.0.1)或者 你电脑上特有的IP地址。</p>
<blockquote>
<p>loopback 是一个特殊的网络接口(理解为虚拟网卡),用于本机中各个应用间的网络交互。</p>
</blockquote>
<blockquote>
<p>如何查看你电脑上的IP地址?</p>
<pre><code class="language-shell">$ hostname -I
#打印显示的左边那串数字即是你的Ipv4地址了
</code></pre>
</blockquote>
<pre><code class="language-shell">$ ftp 127.0.0.1
#或者 ftp 你的电脑IP地址
</code></pre>
<p>接下来,会显示<code>Connected</code>并让你输入账号名称与口令(就是第2步创建的账号<code>ftpuser</code>)</p>
<img src="https://gitee.com/j__strawhat/MyImages/raw/master/img/20201128010205.png">
<p>由此连接成功!通过<code>ls</code>指令,就能查看该服务器中的文件或者创建目录了😄</p>
<img src="https://gitee.com/j__strawhat/MyImages/raw/master/img/20201128010509.png">
<h3 id="32-通过gui连接到ftp服务器">3.2 通过GUI连接到FTP服务器</h3>
<p>打开文件管理器,点击“其他位置”,在“连接到服务器”那一栏中输入 <code>ftp://127.0.0.1</code>(使用你的IP地址也可以),点击连接就会弹出窗口,输入你第二步创建的账号就能连接成功了。</p>
<img src="https://gitee.com/j__strawhat/MyImages/raw/master/img/20201128010822.png" width="600">
<p>成功连接后,就能看到直接所创建的文件了。</p>
<img src="https://gitee.com/j__strawhat/MyImages/raw/master/img/20201128011015.png" width="600">
<h3 id="33-使用浏览器连接到ftp服务器">3.3 使用浏览器连接到FTP服务器</h3>
<p>打开你的浏览器(以火狐浏览器为例),在地址栏中输入你的 loopback 地址(127.0.0.1)或者 你电脑上特有的IP地址。</p>
<img src="https://gitee.com/j__strawhat/MyImages/raw/master/img/20201128090715.png">
<p>填写第二步所创建的账号名称及密码</p>
<img src="https://gitee.com/j__strawhat/MyImages/raw/master/img/20201128085833.png" width="600">
<p>成功登录~</p><br><br>
来源:https://www.cnblogs.com/J-StrawHat/p/14051520.html
頁: [1]
查看完整版本: Linux 学习笔记05丨在Ubuntu 20.04配置FTP服务器