Samba使用/etc/samba/smb.conf作为它的配置文件。如果你改变了这个配置文件,这个改变直到你使用service smb restart命令重启Samba守护进程后才会生效。要指定Windows工作组和对它的简短描述,编辑 smb.conf 文件中的以下几行:
workgroup = WORKGROUPNAME
server string = BRIEF COMMENT ABOUT SERVER
把WORKGROUPNAME换成你的机器所属的Windows工作组名。BRIEFCOMMENT ABOUT SERVER 是可选的,它被用作关于Samba系统的Windows注释。
要在你的Linux系统上创建Samba共享目录,在smb.conf文件中添加以下几行(根据你和你的系统需要修改了该文件之后):
[sharename]comment = Insert a comment herepath = /home/share/valid users = tfox carolepublic = nowritable = yesprintable = nocreate mask = 0765
上面的例子允许用户 tfox 和 carole 从 Samba 客户中读写 Samba 服务器上的目录 /home/share。
加密口令
在 Red Hat Linux 9中,加密口令被默认启用,因为它更安全。如果加密口令没有被使用,纯文本口令就会被使用,它能够被别人使用网络分组嗅探器来截取。建议你使用加密口令。
Microsoft SMB协议最初使用纯文本口令。然而,带有服务包3或更高的 Windows NT 4.0、Windows 98、Windows 2000、Windows ME、以及 Windows XP要求加密的Samba口令。要在RedHatLinux系统和运行以上Windows操作系统的系统间使用Samba,你可以编辑Windows注册器来使用纯文本口令过配置你的Linux系统的Samba来使用加密口令。如果你选择要修改你的注册器,你必须为你的全部Windows机器这么做—这很冒险,有可能导致进一步的冲突。为了更高的安全性,推荐你使用加密口令。
要在你的RedHatLinux系统上配置Samba使用加密口令,遵循以下步骤:
1.为 Samba 创建一个单独的口令文件。要根据你的现存 /etc/passwd 文件来创建,在 shell 提示下键入以下命令:
cat /etc/passwd | mksmbpasswd.sh > /etc/samba/smbpasswd
如果系统使用 NIS,键入以下命令:
ypcat passwd | mksmbpasswd.sh > /etc/samba/smbpasswd
mksmbpasswd.sh 脚本和 samba 软件包一起被安装在你的 /usr/bin 目录上。
2.改变Samba口令文件的权限许可,因此只有根用户才有读写权限:
chmod 600 /etc/samba/smbpasswd
3.这个脚本不会把用户口令复制到新文件,Samba用户账号在没有设置口令之前不会被激活。为了更高的安全性,建议你把用户的 Samba 口令设置为不同于用户的 Red Hat Linux 口令的口令。要设置每个 Samba 用户的口令,使用以下命令(把 username 替换为每个用户的用户名):
smbpasswd username
4.加密口令必须在Samba配置文件中被启用。在smb.conf文件中,请确定以下行没有被注释掉:
encrypt passwords = yes
smb passwd file = /etc/samba/smbpasswd
5.在 shel提示下键入 service smb restart来确定smb服务被启动。
6.如果你想让 smb 服务被自动启动,使用 ntsysv、chkconfig、或 服务配置工具来在运行时间启用它。
窍门
阅读 /usr/share/doc/samba-/docs/htmldocs/ENCRYPTION.html 来进一步了解有关加密口令的信息。(替换你安装了的 Samba 版本号码)。
当使用了 passwd 命令后,pam_smbpass PAM模块能够被用来同步用户的 Samba口令和他们的系统口令。如果用户启用了passwd命令,他用来登录到RedHatLinux系统的口令以及他要连接 Samba 共享所必须提供的口令就会被改变。
要启动这个功能,把以下行添加到 /etc/pam.d/system-auth 的启动 pam_cracklib.so 之下:password required /lib/security/pam_smbpass.so nullok use_authtok try_first_pass
启动和停止服务器
在通过Samba共享目录的服务器上必须运行 smb 服务。
使用以下命令来查看 Samba 守护进程的状态:
/sbin/service smb status
使用以下命令来启动守护进程:
/sbin/service smb start
使用以下命令来停止守护进程:
/sbin/service smb stop
要在引导时启动 smb 服务,使用以下命令:
/sbin/chkconfig --level 345 smb on
你还可以使用chkconfig、ntsysv或服务配置工具来配置要在引导时启动的服务。