如何在ubuntu12.04 LTS中安装和配置FTP服务器

时间:2019-08-20 17:58:15  来源:igfitidea点击:

FTP服务器IP地址: 10.10.0.25

在本教程中,我们将学习如何在Ubuntu12.04LTS中安装和配置vsftpd服务器

在本文中,我们将为 匿名用户配置FTP服务器。

在下一篇文章中,我将展示一些更高级和更安全的FTP服务器配置。

注意:我们将在下载到系统后安装vsftpd 3.0包。我们不会使用“apt-get-install”方法。它有与chroot相关的bug的原因启用。用于参考文献https://theitroad.local/2013/05/20/500-oops-vsftpd-denying-to-run-with-writable-root-inside-chroot/

下载安装vsftpd包

tux@ubuntu:~$ sudo su –
[sudo] password for tux:
root@ubuntu:~#
root@ubuntu:~# cd /root/
root@ubuntu:~# wget http://security.ubuntu.com/ubuntu/pool/main/v/vsftpd/vsftpd_3.0.2-1ubuntu2_i386.deb
–2013-05-20 09:36:20– http://security.ubuntu.com/ubuntu/pool/main/v/vsftpd/vsftpd_3.0.2-1ubuntu2_i386.deb
Resolving security.ubuntu.com (security.ubuntu.com)… 91.189.92.190
, 91.189.92.201, 91.189.92.202, …
Connecting to security.ubuntu.com (security.ubuntu.com)|91.189.92.190|:80… connected.
HTTP request sent, awaiting response… 200 OK
Length: 114714 (112K) [application/x-debian-package]
Saving to: `vsftpd_3.0.2-1ubuntu2_i386.deb’
100%[=========================================================================================>] 114,714 219K/s in 0.5s
2013-05-20 09:36:21 (219 KB/s) – `vsftpd_3.0.2-1ubuntu2_i386.deb’ saved [114714/114714]
root@ubuntu:~#
root@ubuntu:~#
root@ubuntu:~# dpkg -i vsftpd_3.0.2-1ubuntu2_i386.deb

Install dependency of vsftpd
root@ubuntu:~# apt-get install libcap2

备份配置文件

#cp -p vsftpd.conf.dpkg-new vsftpd.conf
# cp -p /etc/vsftpd.conf /etc/vsftpd.conf.orig

重启动vsftpd服务

# service vsftpd restart

现在我们可以使用anonymous用户登录到ftp服务器。

如何使用 anonymous用户通过命令行登录ftp服务器

Hyman@theitroad:/tmp$ ftp 10.10.0.25
Connected to 10.10.0.25.
220 (vsFTPd 3.0.2)
Name (10.10.0.25:linux): anonymous
331 Please specify the password.
Password: (Press only enter,password is nothing)
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
226 Directory send OK.
ftp>

如何允许匿名用户上传文件或者目录

注意,由于安全原因,不建议允许匿名用户上传文件。因此,这一部分是为了学习的目的。

其余的是,如果你的网络需要你可以允许匿名用户上传文件。

在/srv/ftp中创建一个新目录anon,并将其所有权和组更改为ftp

root@ubuntu:/srv/ftp# mkdir -p /srv/ftp/anon
root@ubuntu:/srv/ftp# chown ftp:ftp /srv/ftp/anon
root@ubuntu:/srv/ftp# ls -ld /srv/ftp/anon
drwxr-xr-x 2 ftp ftp 4096 May 20 10:30 /srv/ftp/anon
root@ubuntu:/srv/ftp#

在vsftpd.conf文件中启用两个参数

root@ubuntu:~# vi /etc/vsftpd.conf
write_enable=YES
anon_upload_enable=YES

重启vsftpd服务

service vsftpd restart

使用匿名用户上传文件到/srv/ftp/anon目录

put用于上传单个文件,mput用于上传多个文件

Hyman@theitroad:/tmp$ ftp 10.10.0.25
Connected to 10.10.0.25.
220 (vsFTPd 3.0.2)
Name (10.10.0.25:linux): anonymous
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
drwxr-xr-x 2 107 114 4096 May 20 10:30 anon
-rw-r–r– 1 0 0 20 May 20 09:56 testfile
226 Directory send OK.
ftp> cd anon
250 Directory successfully changed.
ftp> put upload.txt
local: upload.txt remote: upload.txt
200 PORT command successful. Consider using PASV.
150 Ok to send data.
226 Transfer complete.
21 bytes sent in 0.00 secs (173.8 kB/s)
ftp>

在FTP服务器查看刚上传的文件

root@ubuntu:~# ls -l /srv/ftp/anon/
total 4
-rw——- 1 ftp ftp 21 May 20 10:31 upload.txt
root@ubuntu:~#

如何允许匿名用户在FTP服务器上创建目录

注意,这也是不推荐的,这里只是为了学习

在/etc/vsftpd.conf中启用anon_mkdir_write_Enable=YES

vi /etc/vsftpd.conf
anon_mkdir_write_enable=YES

重启vsftpd服务

service vsftpd restart

我们只能在 anon目录内创建目录。

桌面FTP客户端

我们也可以通过桌面客户端访问FTP服务器。下面这些客户端是免费的和开源的

(1) filezilla(Windows、Linux和MAC)

(2) fireftp(firefox插件)

(3) cyberduck(MAC和Windows)

(4) flashfxp(Windows)