twbsd.org
 
  Select Language: Home  SmbFTPD Forum 

SmbFTPD

简介

文件

下载


SmbFTPD

SmbFTPD 使用手册

上一页
简介
  下一页
smbftpd.conf

第二章 安装

内容列表

2.1 系统需求

2.2 编译安装

2.3 执行

2.1 系统需求

为了顺利安装 SmbFTPD,您的系统中必须有下列工具:

  • Perl (Practical Extraction and Report Language)。在执行 configure 时,我们会使用 perl 指令来进行设定。
  • Berkeley Yacc (yacc 或是 byacc 指令)。
  • The GNU Compiler Collection (gcc)。
  • The GNU binary utilities (binutils)
  • OpenSSL 0.9.6 以上的版本 (非强制),如果您要支持 SSL/TLS 加密,则必须确认系统中有 openssl 指令及函示库。
  • iconv 函示库 (非强制),如果您要使用 UTF-8 文件名转换的功能才会用到。
  • MySQL 4.1 以上的版本 (非强制),如果您要使用 MySQL 虚拟使用者才会用到 MySQL。
  • PostgreSQL 7.2 以上的版本 (非强制),如果您要使用 PostgreSQL 虚拟使用者才会用到 PostgreSQL。

我们在编译设定时会自动侦测您的系统,并依您的环境以决定是否要加入 SSL/TLS 支持或是其它非强制的功能。

2.2 编译安装

下载 SmbFTPD 后,解压缩后进行该目录。接着您就可以执行下列指令进行编译:

# ./configure
# make

configure 指令会侦测您的系统,并依您的环境以决定编译时所要加入的功能。例如,是否支持 IPv6、TCP Wrapper、或是 PAM 等。

configure 指令还有另外几个参数:

# ./configure --help
Optional Features:
   --with-mysql[=DIR]    Users database is a MySQL database (default=no)
   --with-pgsql[=DIR]    Users database is a PostgreSQL database (default=no)
   --with-ssl[=DIR]      Enable SSL/TLS support (default=no)
   --with-iconv=[DIR]    Enable codepage to unicode conversion for UTF-8 FTP (default=no)
   --prefix=PREFIX       Install architecture-independent files in PREFIX [/usr/local]

如果您要使用 MySQL,请加上 --with-mysql 的选项。要使用 SSL,则加入 --with-ssl 的选项。

编译完成后,如果您支持 SSL/TLS,您必须有 SSL 凭证。如果您有安装 Apache+SSL,您也可以和 Apache 共享它的凭证。如果您要产生凭证,您必须再执行下列指令以产生凭证。

# make cert

执行上述指令后,我们会先产生一个根凭证,再产生 FTP 所使用的凭证,接着再用我们产生的根凭证为 FTP 用的凭证签章。全部都完成后,我们就可以使用下列指令来安装:

# make install

如果您要执行 cross compile,可以在环境变量中设定 CC 的位置:

# env CC=/usr/local/powerpc-linux/bin/powerpc-linux-gcc \
    LD=/usr/local/powerpc-linux/bin/powerpc-linux-ld \
    RANLIB=/usr/local/powerpc-linux/bin/powerpc-linux-ranlib \
    ./configure --with-ssl --with-iconv
# make
# make cert
# make install

在 make install 时,我们会安装 smbftpd 到 /usr/local/sbin 目录下,并安装 smbftpd.conf 及 smbftpd_share.conf 到 /usr/local/etc/smbftpd/ 中。如果您使用 Linux,而 /etc/pam.d/ftpd 不存在,我们也会安装一份 ftpd 的 pam 档。因为像 Fedora 等 Linux 系统中并没有 ftpd 的 pam 档,但 smbftpd 可能会使用 PAM 认证。

如果您希望将 smbftpd 安装到其它目录而非 /usr/local,您可以在执行 configure 时,加上 --prefix=/path/to/your/dir 的参数。

2.3 执行

在启动 SmbFTPD 之前,您应该先编辑 /usr/local/etc/smbftpd/smbftpd.conf,并依您的需求进行设定,如果您不修改设定,使用预设的设定档也可以运作。关于 smbftpd.conf 的设定请参考下一章的说明。

我们有二种方式启动 SmbFTPD,一种是使用 standalone daemon,另一种是使用 inetd。inetd 是 UNIX 系统中一个强大的「超级服务器」,我们可以使用它来管理许多系统服务,例如 telnet、ssh、ftp 等。大部份的系统服务都是使用 inetd 来启动,使用它的好处在于可以统一管理各种服务,并经由它来设定服务规则,例如是否要阻挡某些 IP 来源等。不过,使用 inetd 的方式缺点是每次有联机要求时,inetd 的 daemon 必须依联机的种类去执行相对映的指令,所以速度比较慢。

另一种启动 FTP 的方式是使用 standalone daemon,也就是直接执行 FTP daemon,当它接收到新的联机时,就 fork() 出来处理,这种方式比较快,比较适合专门的 FTP 服务器。

让我们先来看如何使用 inetd 的方式启动 SmbFTPD。inetd 的方式在 UNIX 系统中有二种 inetd daemon,一种是比较古老的「inetd」,另一种是许多 Linux 套件使用的「xinetd」。在 BSD 中,是使用改良过的「inetd」,所以如果您使用 FreeBSD、NetBSD 等,请修改 /etc/inetd.conf 并加入下面这一行:etc大部份的 UNIX 系统要使用 inetd

ftp     stream  tcp     nowait  root    /usr/local/sbin/smbftpd smbftpd 

如果您使用的是 Linux,请新增一个文件名为 /etc/xinetd.d/smbftpd,并编辑其内容如下:

# file: /etc/xinetd.d/smbftpd
# default: off
# description: SmbFTPD supports TLS/SSL for both control and data
# connections, but also fully compatible with standard FTP protocol.
service ftp
{
	disable     = no
	flags       = REUSE
	socket_type = stream
	protocol    = tcp
	wait        = no
	user        = root
	server      = /usr/local/sbin/smbftpd
}

接下来请执行下列指令重跑 inetd:

# kill -1 `cat /var/run/inetd.pid`

如果您使用 xinetd,请使用下列指令重跑:

# kill -1 `cat /var/run/xinetd.pid`

如果您要使用 standalone 的方式启动 SmbFTPD,您可以使用下列指令:

# /usr/local/sbin/smbftpd -D

如果您的操作系统是 FreeBSD,除了上述方式外,您也可以使用编辑 /etc/rc.conf,并加入下列几行,以在开机时启动 SmbFTPD:

smbftpd_enable="Yes"
smbftpd_flags="-D"

接下来就可以使用下列指令看看是否能启动 SmbFTPD:

# /usr/local/etc/rc.d/smbftpd.sh start

如果您要停止 SmbFTPD:

# /usr/local/etc/rc.d/smbftpd.sh stop

另外,在启动 SmbFTPD 时,可以使用一些参数:

参数 用途
-4 只接受 IPv4 的联机。
-6 只接受 IPv6 的联机。
-D 使用 standalone daemon 而非 inetd 模式。对于一台较为忙碌的服务器,建议您使用 standalone 模式。
-s /path/to/smbftpd.conf 指定 smbftpd.conf 的位置。预设的 smbftpd.conf 位置在 /usr/local/etc/smbftpd/smbftpd.conf,您也可以指定不同的设定文件位置。

 


上一页
简介

索引
您可以在 http://www.twbsd.org 取得本文件

下一页
smbftpd.conf

Copyright © 2002-2024 Alex Wang from www.twbsd.org. All rights reserved.