Server 专 栏 |
---|
FTP Server档 案 传 输 伺 服 器 的 建 立 与 管 理 |
在 网 际 网 路 这 个 资 讯 高 速 公 路 上 , FTP( File Transfer Protocol) 占 了 相 当 重 要 的 角 色 。 透 过 FTP所 提 供 的 「 档 案 传 输 」 功 能 , 可 以 与 远 在 数 千 里 外 的 电 脑 做 资 料 档 案 的 传 输 交 换 , 早 在 WWW尚 未 风 行 之 前 , FTP占 了 网 际 网 路 使 用 量 的 首 位 , 足 见 FTP在 网 路 服 务 上 不 可 或 缺 的 地 位 。 因 此 我 们 「 建 构 Internet Server」 系 列 到 此 就 开 始 进 入 「 建 立 FTP Server」 的 话 题 。
FTP Server初 步
如 果 我 们 将 一 个 FTP Server所 服 务 的 对 象 来 区 分 , 原 则 上 可 以 分 为 两 种 :
再 来 把 FTP Server依 架 构 来 划 分 也 可 分 为 两 个 部 份 。
要 确 定 目 前 系 统 所 使 用 的 FTP Server 执 行 档 正 确 所 在 , 可 以 检 查 /etc/inetd.conf 中 关 於 FTP的 设 定 。
图 一 etc/inetd.conf关 於 FTP Server程 式 执 行 设 定
简 单 而 笼 统 的 介 绍 过 FTP Server之 後 , 接 下 来 我 们 开 始 进 入 真 正 的 主 题 「 如 何 设 定 FTP Server」 。 而 我 们 将 把 重 点 放 在 如 何 设 定 与 管 理 一 个 “ Anonymous” FTP Server。
关 於 WU-FTP
如 果 今 天 架 设 FTP Server的 需 求 只 是 提 供 伺 服 器 上 的 使 用 者 作 档 案 传 输 之 用 那 麽 使 用 原 先 标 准 的 " ftpd″ 伺 服 程 式 就 应 该 足 够 应 付 了 , 但 是 如 果 是 要 提 供 作 为 “ Anonymous FTP Server” 的 服 务 时 , 建 议 各 位 不 妨 使 用 Washington University版 的 “ ftpd” ( 通 称 WU-FTP) , 因 为 它 提 供 了 比 原 先 " ftpd″ 更 多 的 选 择 性 功 能 , 利 於 伺 服 器 管 理 上 不 同 的 需 求 。 目 前 常 见 的 版 本 是 " 2.4.2″ Slackware 3.0、 RedHat 2.x/3.0都 已 经 将 它 定 为 系 统 的 FTP Server伺 服 程 式 。
WU-FTP有 那 些 主 要 的 特 色 呢 ?
林 林 总 总 下 来 WU-FTP的 确 多 了 许 多 不 错 的 功 能 , 这 相 当 有 利 於 传 输 量 较 大 的 FTP Server管 理 需 求 。 也 因 此 , 下 面 开 始 就 来 我 们 就 一 步 步 说 明 WU-FTP的 设 定 方 式 , 让 读 者 可 以 妥 善 安 排 自 己 的 FTP Server成 为 一 个 具 有 水 准 的 伺 服 器 。
WU-FTP系 统 设 定 档
FTP Server的 系 统 管 理 者 要 使 用 WU-FTP 所 提 供 许 多 控 制 上 的 设 定 选 择 , 就 需 要 透 过 设 定 主 要 的 数 个 系 统 参 数 档 而 来 ( 分 别 是 /etc/ftpaccess、 /etc/ftpconversions、 /etc/ftphosts、 /etc/ftpusers) 。
/etc/ftpconversions
WU-FTP提 供 使 用 者 传 输 的 同 时 , 直 接 将 正 在 传 输 的 档 案 经 过 适 当 的 处 理 ( 例 如 : 压 缩 、 解 压 缩 、 TAR等 等 ) , 这 样 子 就 不 必 担 心 使 用 者 没 有 这 些 档 案 的 解 压 缩 、 压 缩 程 式 而 伤 脑 筋 。 而 处 理 档 案 的 规 则 就 定 义 在 /etc/ftpconversions中 。 WU-FTP软 体 已 经 预 先 设 定 好 常 用 的 /etc/ftpconversions内 容 , 所 以 如 何 设 定 内 容 倒 也 不 需 多 作 改 变 。
: .Z: : : /bin/compress -d -c %s: T_REG|T_ASCII: O_UNCOMPRESS: UNCOMPRESS : : : .Z: /bin/compress -c %s: T_REG: O_COMPRESS: COMPRESS : .gz: : : /bin/gzip -cd %s: T_REG|T_ASCII: O_UNCOMPRESS: GUNZIP : : : .gz: /bin/gzip -9c %s: T_REG: O_COMPRESS: GZIP : : : .tar: /bin/tar -cf - %s: T_REG|T_DIR: O_TAR: TAR : : : .tar.gz: /bin/tar -czf - %s: T_REG|T_DIR: O_COMPRESS|O_TAR: TAR+GZIP
究 竟 WU-FTP是 如 何 使 用 /etc/ftpconversions的 , 我 们 用 些 例 子 说 明 一 下 :
图 二 在 下 载 档 案 时 , 由 WU-FTP自 动 压 缩
档 案 中 所 定 义 的 /bin/gzip执 行 档 , 并 非 位 於 Linux系 统 根 目 录 下 , 而 是 指 到 /home/ftp/bin/gzip这 个 档 案 , 希 望 读 者 能 了 解 这 点 , 因 为 接 下 来 有 些 档 案 名 称 路 径 也 是 相 对 於 FTP Server的 档 案 系 统 , 而 非 原 有 的 Linux档 案 系 统 。
/etc/ftpusers、 /etc/ftphosts
在 某 些 时 候 基 於 安 全 上 的 考 量 , 系 统 管 理 者 必 需 限 制 某 些 特 定 人 士 或 机 器 不 得 进 入 此 FTP Server, 对 於 这 些 将 被 限 制 的 「 访 客 」 名 单 就 定 义 於 /etc/ftpusers、 /etc/ftphosts 这 些 档 案 中 。 下 面 是 【 RedHat Linux】 系 统 的 /etc/ftpusers预 设 内 容 。
根 据 这 个 定 义 root、 news、 nobody.. 等 使 用 者 , 是 不 可 以 使 用 FTP由 此 伺 服 器 进 行 档 案 传 输 的 行 为 , 或 许 读 者 会 有 点 疑 惑 , 为 什 麽 " root″ 这 位 超 级 使 用 者 不 可 以 使 用 呢 ? 理 由 是 , 这 个 使 用 者 权 限 太 大 了 , 哪 天 不 小 心 被 人 偷 到 了 密 码 , 那 这 个 伺 服 器 上 的 档 案 都 可 能 不 保 , 实 在 有 点 危 险 , 所 以 把 他 列 为 黑 名 单 中 比 较 妥 当 些 。
/etc/ftpaccess
先 前 我 们 在 介 绍 时 , 说 了 许 多 关 於 WU-FTP 所 提 供 的 功 能 , 而 这 些 大 部 分 的 功 能 设 定 就 都 放 在 /etc/ftpaccess里 面 , 因 为 这 里 的 设 定 实 在 非 常 多 样 , 在 篇 幅 的 限 制 下 , 配 合 着 /etc/ftpaccess范 例 图 形 中 的 标 示 , 重 点 说 明 主 要 设 定 的 意 义 与 方 式 。
real: 有 实 际 上 合 法 帐 号 的 使 用 者 。
anonymous: 匿 名 登 录 此 伺 服 器 的 使 用 者 。
guest: 另 行 定 义 某 些 使 用 群 组 的 使 用 者 。
有 了 这 叁 种 使 用 者 种 类 後 , 在 ftpaccess 设 定 里 就 可 以 定 义 不 同 使 用 者 种 类 可 能 有 不 同 的 控 制 。 但 是 , 如 果 这 叁 个 基 本 分 类 还 不 够 时 , 那 麽 我 们 可 以 利 用 class这 个 控 制 命 令 来 自 行 定 义 使 用 者 种 类 。
class classname type... address......class all real, guest, anonymous*定 义 种 类 " all″ , 表 示 任 何 一 台 机 器 上 的 使 用 者 。
这 样 一 来 , 该 使 用 者 也 不 会 一 头 雾 水 , 被 拒 绝 的 不 知 所 以 然 来 。
deny*.gov.ch/etc/ftpmsgs/msg.denied
当 来 自 *.gov.ch的 使 用 者 连 线 时 , 系 统 显 示 ” msg.denied:来 告 知 使 用 者 。
而 deny还 有 个 选 项 “ ! nameserved” ( 如 范 例 ) , 它 的 用 意 是 在 要 求 与 此 伺 服 器 连 线 的 使 用 者 主 机 一 定 是 可 以 经 由 网 路 名 称 伺 服 器 ( DNS) 查 询 的 到 的 主 机 。 如 果 加 上 这 个 选 项 , 那 麽 像 国 内 一 般 HiNet、 SeedNet 的 拨 接 用 户 就 无 法 与 此 伺 服 器 连 线 , 因 为 这 些 拨 接 用 户 的 网 路 位 址 并 没 有 建 立 於 名 称 伺 服 器 中 。
banner所 指 定 的 档 案 名 称 并 不 是 相 对 於 FTP Server的 档 案 系 统 , 而 是 位 於 Linux档 案 系 统 , 这 点 与 其 它 的 有 所 差 异 。 这 个 范 例 的 原 始 档 案 如 下 :
在 这 个 banner讯 息 档 中 , 可 以 包 含 一 些 巨 集 变 数 , 这 些 变 数 将 会 在 显 示 时 由 WU-FTP以 适 当 的 字 串 取 代 。 在 这 里 列 举 常 用 的 变 数 :
messages/welcome.msg login%E : FTP Server管 理 者 的 E-Mail信 箱 。 %L : 主 机 名 称 。 %M : 最 多 允 许 多 少 使 用 者 连 线 。 %N : 目 前 有 几 个 使 用 者 连 线 。 %T : 时 间 。
messages.message cwd=*
当 使 用 者 在 更 改 目 录 时 , WU-FTP会 显 示 该 目 录 下 的 " .message″ 作 为 辅 助 说 明 。
WU-FTP工 具 小 程 式
WU-FTP除 了 提 供 FTP Server伺 服 程 式 之 外 , 同 时 也 附 上 了 几 个 工 具 程 式 让 系 统 管 理 者 检 视 目 前 FTP Server的 运 作 情 形 。
ftpshut now“ Shutdown the FTP Server..”
这 样 子 , ftpshut会 根 据 ftpaccess中 的 " shutdown″ 设 定 , 将 " Shutdown the..″ 写 入 该 档 案 中 , 然 後 接 下 来 要 连 线 的 使 用 者 就 会 因 为 这 个 档 案 的 存 在 , 而 无 法 登 录 。 如 果 要 恢 复 运 作 , 只 要 把 该 档 案 删 除 就 好 了 !
结 语
一 路 讲 下 来 希 望 能 给 各 位 一 些 足 够 的 讯 息 来 管 理 自 己 的 FTP Server, 不 论 您 使 用 的 是 Slackware、 RedHat、 Linux-FT等 等 各 个 不 同 公 司 或 团 体 整 理 的 Linux。 基 本 上 FTP Server大 都 已 经 万 事 具 备 , 所 以 如 果 没 有 特 别 需 求 , 您 可 能 都 不 会 改 到 这 里 所 讲 的 内 容 , 但 无 论 如 何 , 了 解 这 些 对 於 管 理 一 个 FTP Server绝 对 有 帮 助 。 最 後 , 感 谢 读 者 的 支 持 , 如 果 文 中 有 疏 失 的 地 方 , 欢 迎 告 知 , 祝 各 位 同 好 经 营 Linux愉 快 !