红联Linux门户
Linux帮助

命令行配置Samba服务

发布时间:2006-02-23 15:05:05来源:红联作者:天山老童
Samba 使用 /etc/samba/smb.conf 作为它的配置文件。如果你改变了这个配置文件,这个改变直到你使用 service smb restart 命令重启 Samba 守护进程后才会生效。
要指定 Windows 工作组和对它的简短描述,编辑 smb.conf 文件中的以下几行:
workgroup = WORKGROUPNAME
server string = BRIEF COMMENT ABOUT SERVER
把 WORKGROUPNAME 换成你的机器所属的 Windows 工作组名。BRIEF COMMENT ABOUT SERVER 是可选的,它被用作关于 Samba 系统的 Windows 注释。
要在你的 Linux 系统上创建 Samba 共享目录,在 smb.conf 文件中添加以下几行(根据你和你的系统需要修改了该文件之后):
[sharename]
comment = Insert a comment here
path = /home/share/
valid users = tfox carole
public = no
writable = yes
printable = no
create 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 口令。要在 Red Hat Linux 系统和运行以上 Windows 操作系统的系统间使用 Samba,你可以编辑 Windows 注册器来使用纯文本口令过配置你的 Linux 系统的 Samba 来使用加密口令。如果你选择要修改你的注册器,你必须为你的全部 Windows 机器这么做 -- 这很冒险,有可能导致进一步的冲突。为了更高的安全性,推荐你使用加密口令。

要在你的 Red Hat Linux 系统上配置 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.在 shell 提示下键入 service smb restart 来确定 smb 服务被启动。
6.如果你想让 smb 服务被自动启动,使用 ntsysv、chkconfig、或 服务配置工具来在运行时间启用它。
-----------------------------------------------------------
窍门
阅读 /usr/share/doc/samba- /docs/htmldocs/ENCRYPTION.html 来进一步了解有关加密口令的信息。(把 替换为你安装了的 Samba 版本号码)。
-----------------------------------------------------------
当使用了 passwd 命令后,pam_smbpass PAM 模块能够被用来同步用户的 Samba 口令和他们的系统口令。如果用户启用了 passwd 命令,他用来登录到 Red Hat Linux 系统的口令以及他要连接 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 或 服务配置工具来配置要在引导时启动的服务。
文章评论

共有 3 条评论

  1. nicmonicmo 于 2006-08-08 18:38:17发表:

    除了DNS就它了

  2. chentyoung 于 2006-07-22 11:17:12发表:

    这个算是所有服务中,最容易的了.哈..

  3. 15688 于 2006-07-19 22:23:34发表:

    好,到时照做,谢谢