第一范文网 - 专业文章范例文档资料分享平台

samba howto 中文版

来源:用户分享 时间:2025/5/26 12:42:30 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

许使用明文口令并不会禁止客户参与加密验证的能力。

-------------------------------------------------------------------------------- 2.3.1. SMB加密的好处

不通过网络传送明文口令。使用网络嗅探器无法记录传输的口令。

NT必须使用SMB加密口令同服务器进行通信。如果该服务器还在使用用户级安全模式,它会拒绝浏览服务器。它在每次连接时坚持要用户输入口令,当然这很烦人,而唯一的解决方法就是使用SMB加密。

-------------------------------------------------------------------------------- 2.3.2. 非加密口令的好处 明文口令不保存的磁盘上。

可以使用与其它UNIX服务一样的口令,如login和ftp。

你可能已经使用了发送明文口令的其它服务(如telnet和ftp),所以多加一个也无关紧要。 -------------------------------------------------------------------------------- 2.4. smbpasswd文件

为了使Samba使用上述那些协议,必须查找用户名的16字节散列值。不幸的是,由于UNIX口令值也是通过散列功能来实现的,因此必须使用一个单独的口

令文件smbpasswd存放这个16字节值。同时使用两个口令文件就应该避免同步问题。你可以用一个叫mksmbpasswd.sh的工具从UNIX的 /etc/passwd文件产生一个smbpasswd文件,如:

$ cat /etc/passwd | mksmbpasswd.sh > /usr/local/samba/private/smbpasswd 如果你使用了NIS系统,就用:

$ ypcat passwd | mksmbpasswd.sh > /usr/local/samba/private/smbpasswd 我们把mksmbpasswd.sh程序放在Samba包的source目录中。而smbpasswd文件缺省情况是保存在以下目录的:

/usr/local/samba/private/smbpasswd

这里的/usr/local/samba/private/目录应该属于root,并且它的权限应是0500(chmod 500 /usr/local/samba/private)。

同样,这个目录里的smbpasswd文件也应属于root,且具有权限0600(chmod 600 smbpasswd)。

smbpasswd文件的格式如下(这里已被换行,在文件中应该是每项占一行):

username:uid:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:\\

[Account type]:LCT-:Long name

其中,Samba只使用username、uid、XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX、[Account type]和last-change-time这几项。

这里XXX段中两个冒号?:'之间的32个?X'字符极其重要,如果冒号间的字符不足32个,那么Samba对该账号的验证将会失败。其中第一个XXX段用于Lanman口令散列,而第二个则是Windows NT版本。 这个口令文件在建立时,所有用户的口令都是有32个?X'字符。这样就禁止了用户对服务器的访问。当用户设置了口令后,?X'字符改变为32个ascii十六进制值,用来表示其口令的16字节散列值。

要把用户口令设为空的话(不推荐),可以用vi编辑该文件并用“NO PASSWORD”这样的ascii文本替换头11个字符(不带引号)。

例如,把bob的口令清除之后,他的账号项应该如下:

bob:100:NO

PASSWORDXXXXXXXXXXXXXXXXXXXXX:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:\\

[U ]:LCT-00000000:Bob's full name:/bobhome:/bobshell

如果你想让用户用smbpasswd命令设置他们自己的口令,就可以用NO PASSWORD来初始化他/她的口令项,这样他们在更改新口令时就不必输入旧口令了(不推荐,这不安全)。不过,必须让用户不提供口令也可以用

smbpasswd程序连接到smbd进程,为此,你只要在smb.conf文件的[global]段中加入以下内容:

null passwords = yes

更安全的做法应该是为用户分配一个缺省口令而不是采用上述方法。

注意:要小心保护smbpasswd文件。如果有人可以接触这个文件,那他(具有足够的协议知识)就可以访问你的SMB服务器(要有足够的协议知识)。

-------------------------------------------------------------------------------- 2.5. smbpasswd命令

使用smbpasswd命令可以维护smbpasswd文件中的两个32字节口令字段。我们通常把它安装在/usr/local/samba/bin/目录中(或者你的主Samba二进制程序目录)。

注意,在Samba 1.9.18p4中,不要把这个程序配置为可以setuid到root身份(新版smbpasswd代码已经限制这个操作,不用担心会被意外地按这种方式运行)。

现在,smbpasswd程序以客户机/服务器模式工作,它作为客户端连接本地smbd,然后更改用户口令。所以,它就有下面这些优点:

smbpasswd不再被setuid到root身份 - 消除了大部分的安全问题。

现在,smbpasswd可以更改Windows NT服务器上的口令(在更改NT域用户口令时只能将请求发给NT主域控制器)。

普通用户运行smbpasswd程序只要打:

$ smbpasswd

Old SMB password: New SMB Password:

Repeat New SMB Password:

如果旧口令输入有问题,或者两个新口令不匹配,就无法更改口令。 如果是以普通用户调用该程序,只能更改其自身的Samba口令。

如果是以root用户运行,就可以使用选项来指定要更改口令的用户。注意,smbpasswd不会提示或检查旧口令,因此可以用它来为忘记口令的用户重新分配口令。 对于熟悉UNIX的用户来说,smbpasswd的工作方法与使用passwd或yppasswd命令类似。

关于这个程序的详情请参见它的手册页。

-------------------------------------------------------------------------------- 2.6. 设定Samba支持LanManager加密

下面简要描述一下如何来设定Samba,使它支持LanManager加密: 先编译安装好Samba。

在smb.conf文件的[global]段中加入encrypt passwords = yes选项,打开口令加密功能。

在Makefile文件指定的目录(--prefix= )中建立一份原始的smbpasswd口令文件。参见

前面smbpasswd文件部分的详情。

提示,完成之后可以用smbclient工具来测试一下。

-------------------------------------------------------------------------------- Chapter 3. 在Samba中配置微软分布式文件系统树 3.1. 介绍

使用分布式文件系统(DFS)可以把用户查看的文件、目录的逻辑视图与相应网络资源的物理位置隔离。它具有更高的可靠性、更透明的存储扩展性以及负载均衡等特点。有关DFS的详细资料可以在微软文档中找到。

本文描述了如何使用Samba在UNIX主机中实现分布式文件系统树(用支持DFS的客户端进行连接)。

要打开DFS功能,可以用--with-msdfs选项对Samba进行配置,当编译完成后,可以在smb.conf文件中设置全局选项host

msdfs使Samba成为DFS服务器。然后再使用共享选项msdfs

root指定一个共享项作为DFS根目录,这个目录用符号链接的形式来连接其它服务器。例如,在根共享目录中有一个符号链接junction->

msdfs:storage1\\share1,它表示一个DFS结点。当支持DFS的客户端访问这样的结点链接时,就会被重定向到实际的存储位置(在此例 中为\\\\storage1\\share1)。

Samba的DFS系统可以同所有支持DFS的客户端(从Windows 95到2000)一起工作。 以下举例说明如何把Samba设置为DFS服务器。先建立如下这样的smb.conf文件 [global]

netbios name = Samba host msdfs = yes [dfs]

path = /export/dfsroot msdfs root = yes

在/export/dfsroot目录中,我们设置一些指到其它网络服务器的DFS链接。

root# cd /export/dfsroot

root# chown root /export/dfsroot root# chmod 755 /export/dfsroot

root# ln -s msdfs:storageA\\\\shareA linka

root# ln -s msdfs:serverB\\\\share,serverC\\\\share linkb

你应该为DFS根目录设置一定的权限,这样,只有指定的用户才能建立、删除或修改DFS链接。另外还要注意,符号链接名应该全部用小写。通过这样的限制,Samba就不会对链接名尝试所有的大小写组合形式。最后,设置符号链接使其指向需要的网络共享,然后重启Samba。

在支持DFS的客户端,用户可以通过\\\\samba\\dfs来浏览服务器上的DFS树。当访问linka或linkb(客户端显示的目录)时,就会立即转到相应的网络共享之上。

-------------------------------------------------------------------------------- 3.1.1. 说明

如果Windows客户端已经装载的非DFS共享现在被用作了DFS根目录的话,就需要重新启动,反之亦然。其实,你应该用一个新的共享项作为DFS根目录。 当前,DFS符号链接名必须全部使用小写字母。

出于安全目的,作为DFS根的目录应该设置合适的权限,只允许指定的用户修改目录中的

符号链接。

-------------------------------------------------------------------------------- Chapter 4. Samba 2.2.x中的打印支持 4.1. 介绍

在2.2.0版本中,Samba使用MS-RPC(例如SPOOLSS命名管道)实现了本地Windows NT打印机制。以前的版本只支持LanMan打印调用。 新的SPOOLSS还提供了以下的额外功能:

根据需要,支持Windows 95/98/NT/2000客户端下载打印机驱动程序。

使用Windows NT添加打印机向导(APW)或Imprints工具包(参考http://imprints.sourceforge.net)上传打印机驱动程序。

支持本地MS-RPC打印调用,如StartDocPrinter、numJobs()等等(关于Win32打印API的详情请参考MSDN文档http://msdn.microsoft.com/)。 支持打印对象的访问控制表(ACL)。

通过使用内部信息数据库来保存脱机任务信息,更好地支持打印队列操作。 注意,Windows

NT/2000客户端要求Samba服务器为打印机分配一个合法的驱动程序。为此,就要考虑支持MSRPC打印调用以;而Windows

9x客户端无须Samba主机安装打印机的驱动程序。而且,Samba也不使用这些驱动程序来处理假脱机文件,驱动程序完全是客户端使用的。

-------------------------------------------------------------------------------- 4.2. 配置

[print$] 与 [printer$]

在以前的版本中,Samba推荐使用一个名为[printer$]的共享,它来自于Windows 9x共享打印机时所创建的printer$服务。Windows 9x打印服务器总是用这个printer$服务来让用户不用口令就可以下载打印机驱动程序。

另外,在那些版本中还有两个与此有关的选项:printer driver location、printer driver。前者用于指定保存打印机驱动程序的目录,后者定义打印机驱动程序名。

现在它们已被忽略,所以请别再用了。关于如何进行更新,请参考移植部分。

-------------------------------------------------------------------------------- 4.2.1. 建立[print$]项

为了上传打印机驱动程序文件,你必须先配置共享项[print$]。注意,它的名称很重要(print$是Windows

NT打印服务器用来提供打印机驱动程序下载的服务项),别写错了。你可以参考一下下面这个例子(当然,有些选项值,如?path'是任意的,可以用适当的 值进行替换):

[print$]

path = /usr/local/samba/printers guest ok = yes browseable = yes read only = yes

; 由于把它配置为只读,所以需要一个?write list'。检查文件

; 系统权限以确保该账号可以向这个共享拷贝文件。如果这个账号 ; 不是root账号,则应该作为?printer admin'。 write list = ntadmin

搜索更多关于: samba howto 中文版 的文档
samba howto 中文版.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c08ahz28t6q2i4cx3qijn_3.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top