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 = yes到disabled = 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 服务。保存设置并重新启动防火墙。