2013-12-11 18:55:00 +08:00
|
|
|
|
在openSUSE 13.1中配置FTP服务器
|
|
|
|
|
================================================================================
|
2013-12-19 17:57:53 +08:00
|
|
|
|
**vsftpd** ( **非常安全的文件传输协议守护进程**) 是Unix/Linux系统中的一个安全快速的FTP服务器。 在这篇指导教程中,让我们看看在openSUSE 13.1中怎样使用vsftpd来配置一个基本的FTP服务器。
|
2013-12-11 18:55:00 +08:00
|
|
|
|
|
|
|
|
|
### 安装 vsftpd ###
|
|
|
|
|
|
2013-12-19 17:56:42 +08:00
|
|
|
|
作为root用户登录然后输入以下命令。
|
2013-12-11 18:55:00 +08:00
|
|
|
|
|
|
|
|
|
# zypper in vsftpd
|
|
|
|
|
|
2013-12-19 17:56:42 +08:00
|
|
|
|
启动 vsftpd 服务然后通过设置使它在每次系统重启时自动启动。
|
2013-12-11 18:55:00 +08:00
|
|
|
|
|
|
|
|
|
# systemctl enable vsftpd.service
|
|
|
|
|
# systemctl start vsftpd.service
|
|
|
|
|
|
|
|
|
|
### 配置 vsftpd ###
|
|
|
|
|
|
|
|
|
|
为ftp用户新建一个文件夹。
|
|
|
|
|
|
|
|
|
|
# mkdir /srv/ftp
|
|
|
|
|
|
2013-12-19 17:56:42 +08:00
|
|
|
|
创建一个名为 **ftp-users** 的组。
|
2013-12-11 18:55:00 +08:00
|
|
|
|
|
|
|
|
|
# groupadd ftp-users
|
|
|
|
|
|
2013-12-19 17:56:42 +08:00
|
|
|
|
让我们来创建一个叫unixmen的示例用户 并设置其主目录为 **/srv/ftp** 组为 **ftp-users** 。
|
2013-12-11 18:55:00 +08:00
|
|
|
|
|
|
|
|
|
# useradd -g ftp-users -d /srv/ftp/ unixmen
|
|
|
|
|
|
|
|
|
|
为新用户设置密码。
|
|
|
|
|
|
|
|
|
|
# passwd unixmen
|
|
|
|
|
|
2013-12-19 15:53:36 +08:00
|
|
|
|
使ftp主目录 **/srv/ftp/** 可以被ftp用户所访问。
|
2013-12-11 18:55:00 +08:00
|
|
|
|
|
|
|
|
|
# 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服务器 ###
|
|
|
|
|
|
2013-12-19 17:56:42 +08:00
|
|
|
|
首先 让我们按如下步骤尝试登录FTP服务器
|
2013-12-11 18:55:00 +08:00
|
|
|
|
|
|
|
|
|
# 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>
|
|
|
|
|
|
2013-12-19 17:56:42 +08:00
|
|
|
|
正如你在上面所输出的那样, 我们能够用unixmen用户登录到ftp服务器。
|
2013-12-11 18:55:00 +08:00
|
|
|
|
### 测试远程FTP服务器 ###
|
|
|
|
|
|
2013-12-19 17:56:42 +08:00
|
|
|
|
默认 openSUSE 内置的防火墙不允许远程系统登录FTP。所以让我们允许vsftpd服务通过suse的防火墙。然后我们需要打开: **Yast -> 安全性与用户 -> 防火墙**.
|
2013-12-11 18:55:00 +08:00
|
|
|
|
|
|
|
|
|
![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/openSUSE-12.3-Running-Oracle-VM-VirtualBox_001.jpg)
|
|
|
|
|
|
|
|
|
|
在防火墙界面,进入 **允许服务**. 在区域选择下拉框中,选择 **外部区域** 在服务允许下拉框中,选择 **vsftpd 服务器** 然后点击添加。
|
|
|
|
|
|
|
|
|
|
![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/openSUSE-12.3-Running-Oracle-VM-VirtualBox_004.jpg)
|
|
|
|
|
|
|
|
|
|
单击下一步并关闭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>
|
|
|
|
|
|
2013-12-19 17:56:42 +08:00
|
|
|
|
正如你在上面输出中所看到的,我能够连接到ftp服务器。如果不允许vsftpd服务通过防火墙,你将会得到一个连接超时的报错。
|
2013-12-11 18:55:00 +08:00
|
|
|
|
|
|
|
|
|
### 从浏览器连接 ###
|
|
|
|
|
|
|
|
|
|
打开你的浏览器并导航到**ftp://ip-address/**。输入ftp用户名和密码。
|
|
|
|
|
|
|
|
|
|
![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/Index-of-ftp-192.168.1.53-Mozilla-Firefox_005.jpg)
|
|
|
|
|
|
|
|
|
|
### 使用FileZilla连接到FTP服务器 ###
|
|
|
|
|
|
|
|
|
|
对于新手来说,在命令行模式下工作可能会很烦恼。所以让我们来安装一个叫[**Filezilla**][1]的图形化的FTP客户端。它可以让我们登陆FTP变得更加简单:
|
|
|
|
|
|
2013-12-19 17:56:42 +08:00
|
|
|
|
几乎所有的发行版在它们的官方软件仓库中都有filezilla客户端。 为了在基于Linux的系统上安装filezilla 需要键入以下的命令:
|
2013-12-11 18:55:00 +08:00
|
|
|
|
|
|
|
|
|
在基于Ubuntu的系统中:
|
|
|
|
|
|
|
|
|
|
$ sudo apt-get install filezilla
|
|
|
|
|
|
|
|
|
|
在Fedora/Redhat系统中:
|
|
|
|
|
|
|
|
|
|
$ sudo yum install filezilla
|
2013-12-19 17:56:42 +08:00
|
|
|
|
|
2013-12-11 18:55:00 +08:00
|
|
|
|
在openSUSE中:
|
|
|
|
|
|
|
|
|
|
# zypper in filezilla
|
|
|
|
|
|
2013-12-19 17:56:42 +08:00
|
|
|
|
安装完fielzilla后打开它。输入ftp服务器的IP地址、用户名和密码,然后点击快速连接。
|
2013-12-11 18:55:00 +08:00
|
|
|
|
|
|
|
|
|
![](http://180016988.r.cdn77.net/wp-content/uploads/2013/11/unixmen@192.168.1.53-FileZilla_006.jpg)
|
|
|
|
|
|
|
|
|
|
为了增加安全性,你可以通过将用户添加到 **/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
|
|
|
|
|
|
2013-12-19 17:56:42 +08:00
|
|
|
|
添加你希望能够访问FTP服务器的用户。我添加了用户**unixmen**。
|
2013-12-11 18:55:00 +08:00
|
|
|
|
|
|
|
|
|
unixmen
|
|
|
|
|
|
|
|
|
|
重启ftp服务.
|
|
|
|
|
|
|
|
|
|
# systemctl restart vsftpd.service
|
|
|
|
|
|
2013-12-19 17:56:42 +08:00
|
|
|
|
现在你能够使用chroot_list文件中列出的用户来连接到FTP服务器。
|
2013-12-11 18:55:00 +08:00
|
|
|
|
|
2013-12-19 17:56:42 +08:00
|
|
|
|
如果chroot_list以外的用户想访问FTP服务器,他们将得到如下错误提示。
|
2013-12-11 18:55:00 +08:00
|
|
|
|
|
|
|
|
|
500 OOPS: could not read chroot() list file:/etc/vsftpd.chroot_list
|
|
|
|
|
ftp: Login failed
|
|
|
|
|
|
2013-12-19 17:56:42 +08:00
|
|
|
|
就是现在这样,你的FTP服务器已经可以使用了,好好享受吧!
|
2013-12-11 18:55:00 +08:00
|
|
|
|
|
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
via: http://www.unixmen.com/setup-ftp-server-opensuse-13-1/
|
|
|
|
|
|
2013-12-19 17:56:42 +08:00
|
|
|
|
译者:[zsJacky](https://github.com/译者ID) 校对:[Caroline](https://github.com/carolinewuyan)
|
2013-12-11 18:55:00 +08:00
|
|
|
|
|
|
|
|
|
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
|
|
|
|
|
2013-12-19 15:53:36 +08:00
|
|
|
|
[1]:https://filezilla-project.org/
|