共计 5081 个字符,预计需要花费 13 分钟才能阅读完成。
vsftpd(非常安全的文件传输协议守护进程)是 Unix/Linux 系统中的一个安全快速的 FTP 服务器。在这篇指导教程中,让我们看看在 openSUSE 13.1 中怎样使用 vsftpd 来配置一个基本的 FTP 服务器。
安装 vsftpd
作为 root 用户登录然后输入以下命令。
# zypper in vsftpd
启动 vsftpd 服务然后通过设置使它在每次系统重启时自动启动。
# systemctl enable vsftpd.service
# systemctl start vsftpd.service
配置 vsftpd
为 ftp 用户新建一个文件夹。
# mkdir /srv/ftp
创建一个名为 ftp-users 的组。
# groupadd ftp-users
让我们来创建一个叫 unixmen 的示例用户 并设置其主目录为 /srv/ftp 组为 ftp-users。
# useradd -g ftp-users -d /srv/ftp/ unixmen
为新用户设置密码。
# passwd unixmen
使 ftp 主目录 /srv/ftp/ 可以被 ftp 用户所访问。
# chmod 750 /srv/ftp/
# chown unixmen:ftp-users /srv/ftp/
编辑 vsftpd.conf 文件
# nano /etc/vsftpd.conf
设置如下的更改。
[...]
#Uncomment and Set YES to enable write.
write_enable=YES
[...]
# Uncomment and Set banner name for your website
ftpd_banner=Welcome to Unixmen FTP service.
[...]
# Uncomment
ls_recurse_enable=YES
[...]
# Uncomment and set YES to allow local users to log in.
local_enable=YES
[...]
# To disable anonymous access, set NO.
anonymous_enable=NO
[...]
# Uncomment to enable ascii download and upload.
ascii_upload_enable=YES
ascii_download_enable=YES
[...]
## Add at the end of this file ##
use_localtime=YES
保存并退出文件。
测试本地 FTP 服务器
首先 让我们按如下步骤尝试登录 FTP 服务器
# ftp localhost
Trying ::1:21 ...
Connected to localhost.
220 (vsFTPd 3.0.2)
Name (localhost:root): unixmen
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>
正如你在上面所输出的那样, 我们能够用 unixmen 用户登录到 ftp 服务器。
推荐阅读:
玩转 vsftpd 服务器的四大高级配置:http://www.linuxidc.com/Linux/2013-09/90565.htm
vsFTPd 配置教程:http://www.linuxidc.com/Linux/2013-09/90562.htm
Ubuntu 实用简单的 FTP 架设 http://www.linuxidc.com/Linux/2012-02/55346.htm
Ubuntu 上架设 FTP 服务器和 Apache 服务器 http://www.linuxidc.com/Linux/2011-04/35295.htm
Ubuntu 13.04 安装 LAMP\vsftpd\Webmin\phpMyAdmin 服务及设置 http://www.linuxidc.com/Linux/2013-06/86250.htm
RHEL6 平台下 SeLinux 和 vsftpd 的匿名上传的简单案例 http://www.linuxidc.com/Linux/2013-04/82300.htm
Linux 系统 vsftpd 源码安装 http://www.linuxidc.com/Linux/2013-03/81475.htm
vsftpd 的安全配置案例分析 http://www.linuxidc.com/Linux/2012-12/76501.htm
测试远程 FTP 服务器
默认 openSUSE 内置的防火墙不允许远程系统登录 FTP。所以让我们允许 vsftpd 服务通过 suse 的防火墙。然后我们需要打开:Yast -> 安全性与用户 -> 防火墙.
在防火墙界面,进入 允许服务 . 在区域选择下拉框中,选择 外部区域 在服务允许下拉框中,选择 vsftpd 服务器 然后点击添加。
单击下一步并关闭 Yast 控制中心
现在尝试从远程系统连接 FTP。
我试着从我的 Ubuntu 桌面系统登录 FTP 服务器。
sk@sk:~$ ftp 192.168.1.53
Connected to 192.168.1.53.
220 (vsFTPd 3.0.2)
Name (192.168.1.53:sk): unixmen
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>
正如你在上面输出中所看到的,我能够连接到 ftp 服务器。如果不允许 vsftpd 服务通过防火墙,你将会得到一个连接超时的报错。
从浏览器连接
打开你的浏览器并导航到ftp://ip-address/。输入 ftp 用户名和密码。
vsftpd(非常安全的文件传输协议守护进程)是 Unix/Linux 系统中的一个安全快速的 FTP 服务器。在这篇指导教程中,让我们看看在 openSUSE 13.1 中怎样使用 vsftpd 来配置一个基本的 FTP 服务器。
安装 vsftpd
作为 root 用户登录然后输入以下命令。
# zypper in vsftpd
启动 vsftpd 服务然后通过设置使它在每次系统重启时自动启动。
# systemctl enable vsftpd.service
# systemctl start vsftpd.service
配置 vsftpd
为 ftp 用户新建一个文件夹。
# mkdir /srv/ftp
创建一个名为 ftp-users 的组。
# groupadd ftp-users
让我们来创建一个叫 unixmen 的示例用户 并设置其主目录为 /srv/ftp 组为 ftp-users。
# useradd -g ftp-users -d /srv/ftp/ unixmen
为新用户设置密码。
# passwd unixmen
使 ftp 主目录 /srv/ftp/ 可以被 ftp 用户所访问。
# chmod 750 /srv/ftp/
# chown unixmen:ftp-users /srv/ftp/
编辑 vsftpd.conf 文件
# nano /etc/vsftpd.conf
设置如下的更改。
[...]
#Uncomment and Set YES to enable write.
write_enable=YES
[...]
# Uncomment and Set banner name for your website
ftpd_banner=Welcome to Unixmen FTP service.
[...]
# Uncomment
ls_recurse_enable=YES
[...]
# Uncomment and set YES to allow local users to log in.
local_enable=YES
[...]
# To disable anonymous access, set NO.
anonymous_enable=NO
[...]
# Uncomment to enable ascii download and upload.
ascii_upload_enable=YES
ascii_download_enable=YES
[...]
## Add at the end of this file ##
use_localtime=YES
保存并退出文件。
测试本地 FTP 服务器
首先 让我们按如下步骤尝试登录 FTP 服务器
# ftp localhost
Trying ::1:21 ...
Connected to localhost.
220 (vsFTPd 3.0.2)
Name (localhost:root): unixmen
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>
正如你在上面所输出的那样, 我们能够用 unixmen 用户登录到 ftp 服务器。
推荐阅读:
玩转 vsftpd 服务器的四大高级配置:http://www.linuxidc.com/Linux/2013-09/90565.htm
vsFTPd 配置教程:http://www.linuxidc.com/Linux/2013-09/90562.htm
Ubuntu 实用简单的 FTP 架设 http://www.linuxidc.com/Linux/2012-02/55346.htm
Ubuntu 上架设 FTP 服务器和 Apache 服务器 http://www.linuxidc.com/Linux/2011-04/35295.htm
Ubuntu 13.04 安装 LAMP\vsftpd\Webmin\phpMyAdmin 服务及设置 http://www.linuxidc.com/Linux/2013-06/86250.htm
RHEL6 平台下 SeLinux 和 vsftpd 的匿名上传的简单案例 http://www.linuxidc.com/Linux/2013-04/82300.htm
Linux 系统 vsftpd 源码安装 http://www.linuxidc.com/Linux/2013-03/81475.htm
vsftpd 的安全配置案例分析 http://www.linuxidc.com/Linux/2012-12/76501.htm
使用 FileZilla 连接到 FTP 服务器
对于新手来说,在命令行模式下工作可能会很烦恼。所以让我们来安装一个叫 Filezilla 的图形化的 FTP 客户端。它可以让我们登陆 FTP 变得更加简单:
几乎所有的发行版在它们的官方软件仓库中都有 filezilla 客户端。为了在基于 Linux 的系统上安装 filezilla 需要键入以下的命令:
在基于 Ubuntu 的系统中:
$ sudo apt-get install filezilla
在 Fedora/RedHat 系统中:
$ sudo yum install filezilla
在 openSUSE 中:
# zypper in filezilla
安装完 fielzilla 后打开它。输入 ftp 服务器的 IP 地址、用户名和密码,然后点击快速连接。
为了增加安全性,你可以通过将用户添加到 /etc/vsftpd.chroot_list文件中来限制特定用户对 FTP 服务器的访问。
编辑 vsftpd.conf 文件,
nano /etc/vsftpd.conf
设置如下的更改.
[...]
# Uncomment and set YES
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
[...]
创建 文件 /etc/vsftpd.chroot_list,
nano /etc/vsftpd.chroot_list
添加你希望能够访问 FTP 服务器的用户。我添加了用户unixmen。
unixmen
重启 ftp 服务.
# systemctl restart vsftpd.service
现在你能够使用 chroot_list 文件中列出的用户来连接到 FTP 服务器。
如果 chroot_list 以外的用户想访问 FTP 服务器,他们将得到如下错误提示。
500 OOPS: could not read chroot() list file:/etc/vsftpd.chroot_list
ftp: Login failed
就是现在这样,你的 FTP 服务器已经可以使用了,好好享受吧!
更多 SUSE 相关信息见SUSE 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=3