SDB:FTP 服务器

跳转到:导航搜索


本文档简要描述如何设置 FTP 服务器。

从 openSUSE 中选择 FTP 服务器

OpenSUSE 包含以下 FTP 服务器。用户可以根据自己的需求安装其中任何一个


pure-ftpd

属性

  • 为独立 FTP 服务器使用而准备
  • 为与 xinetd 一起使用而准备
  • 具有许多功能,例如 PAM 支持、IPv6、chroot()ed 主目录、虚拟域、内置 LS、反盗版系统、带宽限制、FXP、被绑定端口用于被动下载、上传和下载比例、Apache 日志文件等

配置文件

  • /etc/pam.d/pure-ftpd
  • /etc/pure-ftpd/pure-ftpd.conf
  • /etc/xinetd.d/pure-ftpd

参见

vsftpd

快速设置

  • 使用 YaST 软件管理安装 vsftpd
  • 在 xinetd 中启用 vsftpd。可以通过手动编辑 /etc/xinetd.d/vsftpd 并更改来完成disabled = yesdisabled = no,或者使用以下命令
chkconfig vsftpd on
  • 如果 xinetd 尚未运行,请启动它。
/etc/init.d/xinetd start
  • 确保 xinetd 在启动时自动启动
chkconfig xinetd on
  • 检查 FTP 服务器是否正常工作。默认情况下,仅允许匿名登录。数据在/srv/ftp/是公开可用的。

快速配置

要配置 vsftpd,请编辑/etc/vsftpd.conf.

  • 要启用服务器上的文件写入,请取消注释
write_enable=YES
  • 要允许本地系统用户登录,请取消注释
local_enable=YES
  • 默认情况下,用户无法查看其主目录之外的内容。要禁用此功能,请取消注释
chroot_local_user=NO
  • 要禁用匿名登录
anonymous_enable=NO


属性

  • 为与 xinetd 一起使用而准备
  • 代码库在设计时就考虑了安全性
  • 小巧轻便

配置文件

  • /etc/logrotate.d/vsftpd
  • /etc/pam.d/vsftpd
  • /etc/vsftpd.conf
  • /etc/vsftpd.chroot_list
此文件描述具有访问整个系统树权限的用户名称。对于其他所有用户,其主目录将显示为根目录 (chroot)。
  • /etc/shells
在允许本地用户登录之前,系统默认情况下会检查它是否具有有效的用户 shell。如果 PAM 身份验证不可用,则会进行此检查。
  • /etc/ftpusers
此文件描述了可能_*不*_通过 FTP 服务器登录到系统的用户名称。这通常包括“root”、“uucp”、“news”等,因为这些用户拥有太多的权限,只能执行“仅”FTP 操作。

proftpd

快速设置

  • 如果您想安装 proftpd,您需要添加 contrib 仓库(您可以在 https://en.opensuse.net.cn/Contrib 找到如何操作的方法)
  • 要安装 mysql 模块,请使用
zypper in proftpd-sql-mysql
  • 要安装 postgresql 模块,请使用
zypper in proftpd-sql-postgresql

快速配置

  • 要启用上传目录,请取消注释整个 <Directory uploads/*> 部分,并以 root 身份运行
mkdir /srv/ftp/uploads #create uploads directory
chown ftp:ftp /srv/ftp/uploads #change owner
/etc/init.d/proftpd restart #restart ftp server


FTP 防火墙设置

当 ftpd 服务器位于受防火墙保护的服务器上(推荐这样做)时,必须打开一些端口并添加用于被动 FTP 的内核模块。本节介绍如何允许访问受本地 SuSEfirewall2 保护的服务器。

  • 修改以下行/etc/sysconfig/SuSEfirewall2"手动(已在 openSUSE 11.0 中验证)
FW_LOAD_MODULES=ip_conntrack_ftp
FW_SERVICES_ACCEPT_RELATED_EXT="0/0,tcp"
  • 使用 允许从外部接口访问 pure-ftpd 或 vsftpd 服务。保存设置并重新启动防火墙。