|
|
2. 进一步资讯
这个 HOWTO 设法去解释如何设定基本的 SMB档以及列印服务在 linux 机器上. Samba 是个非常复杂且完整的包装.
在这个地方没有要设法去复制所有的 Samba 文件.
进一步资讯,请看以下文件:
Samba 文件, 可取得於 Samba 发行套件{distribution}的部分. 此发行套件可取得在:
ftp://nimbus.anu.edu.au/pub/tridge/samba/
The linux Printing HOWTO.
The Print2Win Mini-HOWTO.
--------------------------------------------------------------------------------
3. 安装
最新 Samba 的原始程式可以取得自:
ftp://nimbus.anu.edu.au/pub/tridge/samba/
然而,如果已安装 linux 的 Redhat 版本,你可以使用软体套件{package} 来安装它.有些其他版本也包含 Samba
的binaries{二元档程式}.
以下两个 daemon{管理精灵} 对 Samba 软体套件 是必要的. 它们一般是被安装在 /usr/sbin ,而可在开机时,从系统起动的
scripts或inetd来执行. script的例子被展示在 执行 Daemons.
--------------------------------------------------------------------------------
smbd (The SMB daemon)
nmbd (提供 NetBIOS nameserver 的支援给 clients)
--------------------------------------------------------------------------------
一般而言,以下的 Samba 的 binaries 被安装在 /usr/bin, 虽然说它的位置是可选择性.
--------------------------------------------------------------------------------
smbclient (一种供给 UNIX 机器用的 SMB client{程式})
smbprint (一种 script 用在列印於 SMB 主机{host}上的列表机)
smbprint.sysv (同上, 但是提供给 SVR4 UNIX 机器用的)
smbstatus (列出对当地主机之目前 SMB 连结情况)
smbrun (一种 'glue' script 用来简易地执行应用程式於 SMB 主机)
--------------------------------------------------------------------------------
再者,一种叫 'print' 的 script 被包函在本 HOWTO 之中, 其用来当作一种有用的 front end{前端介面} 给 smbprint
script用.
Samba 软体套件是简易安装的.简单地从上述的位址取得原始码, 且阅读在发行套件中的 README 档案. 在发行套件中也有一个
docs/INSTALL.txt 档提供一个简单的逐步安装指示.
接著安装後, 把 daemons 放到 /usr/sbin 而 binaries 放到 /usr/bin. 而 man pages{手册页} 摆在
/usr/local/man.
当你在做 Samba 软体套件, 你在 Makefile 中会有记载组态档,smb.conf,的位置. 这一般是在 /etc下,
但可以把它摆到你喜欢摆的任意位置. 对於这些使用方法{directions}, 我们将假设你记载组载档位置成 /etc/smb.conf, log 档位置为
log file = /var/log/samba-log.%m ,而 lock 目录为 lock directory = /var/lock/samba.
安装组态{configuration}档, smb.conf. 去 Samba 所在的的目录. 看一下在其子目录 example/simple 而且读一下
README 档. 复制在那个目录下的 smb.conf 档到 /etc 下. 注意! 如果你有一 linux 发行套件已安装好 Samba, 你也许已有
Samba 组态档在 /etc 下. 或许你应该从那个档开始.
如果你不想把组态档放在 /etc 目录下,可以把它摆在你想要摆的地方,然後在 /etc 下做一下 symlink{符号连结}:
--------------------------------------------------------------------------------
ln -s /path/to/smb.conf /etc/smb.conf
--------------------------------------------------------------------------------
4. 执行这两个 daemon
这两个 daemon 是 /usr/sbin/smbd 和 /usr/sbin/nmbd.
你可以执行 Samba daemon 从 inetd 或当成单独的程序. 如果你正设定一个永久档案伺服器,你应该从 inetd
来执行,所以如果他们死掉,那将重新开始.如果你只是偶尔想要使用 SMB 伺服器,或者用系统管理来辅助,当你需要时,你可以藉由使用
/etc/rc.d/init.d script,或甚至直接手动的.
要从 inetd 来执行 daemon , 请放以下几行在 inetd 组态档, /etc/inetd.conf:
--------------------------------------------------------------------------------
# SAMBA NetBIOS services (for PC file and print sharing)
netbios-ssn stream tcp nowait root /usr/sbin/smbd smbd
netbios-ns dgram udp wait root /usr/sbin/nmbd nmbd
--------------------------------------------------------------------------------
然後下指令以便重新启动 inetd daemon :
--------------------------------------------------------------------------------
kill -HUP 1
--------------------------------------------------------------------------------
要从系统启动的 script 来执行 daemon, 请把以下的 script 置於一个叫做 /etc/rc.d/init.d/smb 档, 而且
symbolically link 到注释{comments}所说明的档案:
--------------------------------------------------------------------------------
#!/bin/sh
#
# /etc/rc.d/init.d/smb - starts and stops SMB services.
#
# The following files should be synbolic links to this file:
# symlinks: /etc/rc.d/rc1.d/K35smb (Kills SMB services on shutdown)
# /etc/rc.d/rc3.d/S91smb (Starts SMB services in multiuser mode)
# /etc/rc.d/rc6.d/K35smb (Kills SMB services on reboot)
#
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 0
# See how we were called.
case "$1" in
start)
echo -n "Starting SMB services: "
daemon smbd -D
daemon nmbd -D
echo
touch /var/lock/subsys/smb
;;
stop)
echo -n "Shutting down SMB services: "
killproc smbd
killproc nmbd
rm -f /var/lock/subsys/smb
echo ""
;;
*)
echo "Usage: smb {start|stop}"
exit 1
esac
|
|
|
|