Linux和Win 95爱好者,不可不知的SAMBA--
Netbios & SMB for Linux

想 让 Linux和 Win 95之 间 连 网 的 读 者 , 除 了 NFS外 , 还 有 一 套 免 费 的 shareware, 也 可 以 有 这 样 的 功 能 , 让 本 文 为 你 做 一 详 细 的 介 绍 。

Champion Kuo


  每 位 Linux的 爱 好 者 , 可 能 都 有 相 同 的 经 验 和 感 受 如 下 。 桌 上 的 两 端 , 一 端 摆 一 台 Linux, 另 一 端 摆 一 台 Win 95。 因 为 我 们 喜 爱 Linux的 开 放 系 统 。 赤 裸 裸 的 操 作 系 统 , 活 生 生 的 电 脑 教 材 。 每 天 似 乎 都 可 以 从 它 发 掘 新 的 东 西 , 有 时 不 禁 要 让 人 赞 叹 Linux这 个 人 类 智 慧 的 结 晶 。 但 是 另 一 端 又 不 得 不 用 Win 95, 因 为 Winodws GUI介 面 , 直 觉 、 方 便 使 用 。 更 有 众 多 的 应 用 软 体 , 可 以 立 即 使 用 , 解 决 问 题 。 因 此 困 扰 产 生 , 如 何 有 效 在 二 者 之 间 连 网 交 换 资 料 。 以 现 有 配 备 , Linux和 Win 95之 间 的 连 网 , 只 有 TCP/IP, 而 Files之 间 的 交 换 , 只 有 靠 FTP。 但 是 FTP并 不 够 直 观 操 作 。 NFS可 能 是 一 个 有 效 Linux与 Win 95连 网 手 段 。 但 是 目 前 似 乎 没 有 一 套 好 用 、 免 费 的 PC-NFS, 可 以 在 Win 95上 使 用 。

  直 到 我 找 到 SAMBA, 这 套 免 费 的 Shareware。 它 的 基 本 理 论 是 想 让 Netbios和 SMB( Server Message Block) 在 TCP/IP的 UNIX运 行 。 如 此 一 来 , Linux就 可 以 如 Win 95与 Win 95之 间 一 样 , 可 以 在 Network Neighborhood之 间 互 相 浏 览 交 换 Files。 如 用 另 一 个 角 度 来 说 SAMBA, 是 可 以 让 Linux如 Novell Server在 Win 95之 下 的 一 般 使 用 , 共 享 Linux的 Files和 Printers。

SAMBA的 安 装

  SAMBA是 跑 在 TCP/IP协 议 之 上 , 所 以 要 先 安 装 Linux和 Win 95的 TCP/IP协 议 。 并 用 PING 指 令 测 试 互 相 之 间 协 议 已 经 建 立 。

  SAMBA的 程 式 , 一 般 的 Slackware CD-ROM已 包 含 。 你 可 以 在 /contrib目 录 之 下 找 到 /cdrom/contrib/samba-1.9.15p8.tgz, 若 在 CD-ROM找 不 到 , 可 以 FTP上 Download: ftp:// nimbus.anu.edu.au/pub/tridge/samba/samba-1.9.15p8.tgz。

  要 用 root使 用 者 登 录 , 要 解 压 缩 之 前 , 要 将 当 前 所 在 目 录 换 到 根 目 录 。



  cd /

  tar -zxvf /cdrom/contrib/samba-1.9.15p8.tgz

  ./

  etc/

  etc/smb.conf-sample

  usr/

  usr/sbin/

  usr/sbin/smbd

  usr/sbin/nmbd

  usr/sbin/testparm

  usr/sbin/testprns

  usr/sbin/smbrun

  usr/sbin/smbstatus

  usr/sbin/addtosmbpass

  usr/sbin/nmblookup

  usr/sbin/smbtar

  usr/man/

  usr/man/man1/

  usr/man/man1/smbclient.1.gz

  usr/man/man1/smbrun.1.gz

  usr/man/man1/smbstatus.1.gz

  usr/man/man1/smbtar.1.gz

  usr/man/man1/testparm.1.gz

  usr/man/man1/testprns.1.gz

  usr/man/man5/

  usr/man/man5/smb.conf.5.gz

  usr/man/man7/

  usr/man/man7/samba.7.gz

  usr/man/man8/

  usr/man/man8/nmbd.8.gz

  usr/man/man8/smbd.8.gz

  usr/doc/

  usr/doc/samba/

  .....

  .....

  usr/bin/

  usr/bin/smbclient

配 置 档 参 数 设 置 : /etc/smb.conf

  在 /etc之 下 已 有 一 个 基 本 配 置 例 子 smb. conf-sample。 我 们 稍 加 修 改 简 化 如 下 :



 ; Configuration file for smbd.

 ;==============================================

  ; For the format of this file and comprehensive descriptions of all the

  ; configuration option, please refer to the man page for smb.conf(5).

  [global]

  printing = bsd

   printcap name = /etc/printcap

  load printers = yes

  guest account = guest

  log file = /usr/local/samba/log.%m

  lock directory = /usr/local/samba/var/locks

  share modes = yes



  [homes]

  comment = Home Directories

  browseable = yes

  read only = no

  create mode = 0750



  [printers]

  comment = All Printers

  browseable = no

  printable = yes

  public = no

  writable = no

  create mode = 0700



  [Win95]

  comment = Temporary file space

  path = /Win95

  writeable = yes

  public = yes

  guest ok = yes

  这 个 简 化 配 置 , 可 以 让 Win 95使 用 者 , 使 用 他 在 Linux上 的 HOME目 录 , 共 享 目 录 Win 95和 共 享 的 Printers。 在 Linux上 要 确 定 有 一 个 guest的 帐 号 , 基 本 Linux已 具 备 , 不 用 担 心 。 另 外 , 要 在 Linux上 (mkdir /Win95; chmod 777 Win95)要 建 立 一 个 共 享 目 录 /Win 95。 共 享 Printers的 设 定 , 在 原 有 Printers配 置 档 /etc/printcap。

SAMBA 配 置 档 参 数 设 置 测 试

  SAMBA提 供 一 个 参 数 设 置 测 试 程 式 :



/usr/sbin/testparm

  Load smb config files from /etc/smb.conf

  Pocessing configuration file “ /etc/smb.conf” 

  Pocessing section “ [homes]” 

  Pocessing section “ [printers]” 

  No path in service printers - using /tmp

  Processing section “ [Win95]” 

  Loaded services file OK.

  Press enter to see a dump of your service definitions

  ......................

  若 发 现 任 何 错 误 信 息 , 可 参 考 mansmb.conf。 这 是 个 3500行 的 配 置 参 数 资 料 , 亦 可 提 供 将 来 做 复 杂 配 置 的 参 考 。

SAMBA 的 启 动 与 使 用

  Samba的 启 动 有 二 种 方 式 , 一 种 是 以 Daemon的 形 式 , 另 一 种 为 Inetd的 形 式 。 先 谈 Daemon的 形 式 , 建 一 个 起 动 档 rc.samba。



 vi   /etc/rc.d/rc.samba

  smbd -D  -d1

  nmbd -D -d1 -G 95-wg -n linux-devp

  接 着 就 是 执 行 rc.samba, 现 在 你 可 以 用 ps-aux, 看 到 两 个 Daemons在 背 後 进 行 。

  再 谈 用 Inetd的 形 式 启 动 , 有 些 人 喜 欢 以 Inetd的 方 式 , 因 为 它 比 较 省 电 脑 资 源 。 一 旦 一 个 程 式 以 Daemons方 式 运 行 , 反 应 速 度 较 快 , 但 Daemons将 随 时 占 有 系 统 资 源 。 若 电 脑 没 有 资 源 分 配 的 问 题 , 我 比 较 喜 欢 Daemons的 方 式 , 较 易 安 装 使 用 。 要 使 用 Inetd的 形 式 运 行 , 要 确 定 以 下 设 置 :



 /etc/services

 netbios-ssn     139/tcp

 netbios-ns      137/udp



 /etc/inetd.conf

 netbios-ssn      stream    tcp     nowait   root  /usr/sbin/smbd    smbd

 netbios-ns       dgram     udp    wait       root  /usr/sbin/nmbd   nmbd



 若 有 问 题 可 参 考   mansmbd 和  mannmbd。 

  若 以 上 配 置 均 正 确 , Samba已 经 在 Linux与 Win 95之 间 连 网 成 功 。 我 们 到 Win 95的 电 脑 , 看 看 Network Neighborhood,

  若 你 要 把 Linux当 做 Win 95之 下 的 某 个 Logic Hard Drive, 只 要 在 Win 95的 Dos Prompt:

C:> net g: \\linux-devp\Win95
  如 此 一 来 , Win 95电 脑 的 G Drive即 等 於 Linux上 的 /Win95目 录 。

  我 把 SAMBA装 在 家 中 和 公 司 。 我 很 明 显 增 加 工 作 效 率 。 其 功 能 犹 如 加 了 一 台 免 费 的 Novell Server在 Win 95与 Win 95和 Linux之 间 共 享 Files & Printers。 若 行 有 馀 力 , 尚 可 把 Linux安 装 设 置 为 Mail Server, 利 用 Linux原 有 的 SMTP & POP Server, 如 此 一 来 , 办 公 自 动 化 , 似 乎 不 用 花 半 毛 钱 , 即 可 达 成 。 有 这 麽 好 的 事 , 忍 不 住 赶 快 写 此 文 章 告 知 读 者 , 嘉 惠 同 好 。

( 作 者 为 Master CNE和 Microsoft Certified System Engineer现 任 职 Texcom Inc.总 工 程 师 , 可 连 络 E-Mail:champion@texcom.com