个人工具
登录
查看“Serverguide”的源代码 - Ubuntu中文
页面
讨论
查看源代码
历史
搜索
导航
首页
最近更改
随机页面
页面分类
帮助
编辑
编辑指南
沙盒
新闻动态
字词处理
工具
链入页面
相关更改
特殊页面
页面信息
查看“Serverguide”的源代码
来自Ubuntu中文
←
Serverguide
跳转至:
导航
,
搜索
因为以下原因,你没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
=== Windows 联网 === 计算机网络通常包含不同的系统,虽然使用全由 Ubuntu 桌面计算机和服务器计算机构成的网络是有趣的,但一些网络环境还是需要 Ubuntu 和 Microsoft® Windows® 这两个系统协同工作。Ubuntu 服务器指南中的这部分内容介绍配置你 Ubuntu 服务器的原理及所用工具,以便同 Windows 计算机共享网络资源。 ==== 介绍 ==== 将你的 Ubuntu 系统与 Windows 客户机成功连网包括为 Windows 环境提供和整合常用服务。这些服务有助于网络中计算机和用户的数据和信息共享,可以将它们按功能划分为以下三大类: **** 文件和打印共享服务。Server Message Block (SMB) 协议使得在网络上共享文件、文件夹、卷和打印机变得容易。 **** 目录服务。通过Lightweight Directory Access Protocol (LDAP) 和 Microsoft Active Directory®技术来共享网络计算机和用户的重要信息。 **** 认证和权限。建立网络计算机和用户身份并通过使用文件权限、组策略和Kerberos认证服务等原理和技术来确定计算机或用户信息。 幸运的是,你的 Ubuntu 系统可以给 Windows 客户机提供上述所有的服务并且在它们之间共享网络资源。你的 Ubuntu 系统中用来和 Windows 网络互连的一个基本软件是包含 SMB 服务器应用程序及其工具。Ubuntu 服务器指南的这部分将简要介绍一下 SAMBA 套件中服务器应用程序及工具的安装和简单配置。此外,SAMBA的详细文档和信息已超出了本文档的编制范围,您可以在 SAMBA 网站 上找到。 ==== 安装 SAMBA ==== 欲安装 SAMBA 服务器应用程序,请在提示符里输入如下命令: <pre><nowiki> sudo apt-get install samba</nowiki></pre> ==== 配置 SAMBA ==== 您可以通过编辑 /etc/samba/smb.conf 文件来配置 SAMBA 服务:用以改变缺省设置或新增设置。可用设置项的更多信息可以查看 /etc/samba/smb.conf 文件中的注释,或在终端提示符后输入以下命令查看 /etc/samba/smb.conf 手册来获得: <pre><nowiki> man smb.conf</nowiki></pre> 在编辑配置文件之前,您应该保留一份原文件的副本,不对其作修改,以便今后必要时可参考和重用这份原始配置。 备份 /etc/samba/smb.conf 文件: <pre><nowiki> sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.original</nowiki></pre> 然后编辑 /etc/samba/smb.conf 文件,进行相应的修改。 ===== 5.3.1. 服务器 ===== 除了文件及打印共享服务器应用程序 SAMBA 之外,Ubuntu 还包括了其他强大的服务器应用程序,它们设计成象真正的 Windows 服务器一样,可以向 Windows 客户端提供相同的网络附加服务功能。例如,Ubuntu 可以提供统一的网络资源,如使用目录服务的计算机和用户,方便的身份识别,以及通过认证服务来获得授权的计算机和用户。 下一节将讨论 SAMBA 及其支持技术,如 Lightweight Directory Access Protocol (LDAP) 服务器和 Kerberos 认证服务器的更多细节。你也可以学到SAMBA配置文件中的一些有用的指令,以方便同 Windows 客户机和服务器集成。 ====== 5.3.1.1. Active Directory ====== Active Directory 是 Microsoft 专用的目录服务实现,用来提供网络资源和用户的共享信息。除了提供这些信息的统一源之外,Active Directory 也担任网络统一身份安全认证的角色。Active Directory 融合了通常独立、专用的目录系统中简单集成,管理和网络资源安全等功能。SAMBA 软件包可以被配置成使用由 Windows 域控制器提供的 Active Directory 服务。 ======= 5.3.1.1.1. LDAP ======= LDAP 服务器应用程序给 Windows 计算机提供了与 Microsoft Active Directory 服务非常相似的目录服务功能。这些服务包括管理加入网络的计算机、用户、计算机组和用户组的身份和关系,为描述、定位和管理这些资源提供一个统一的方法。在你的 Ubuntu 系统中所使用的是 LDAP 的一个自由有效的实现,名为OpenLDAP,这个名为slapd 和 slurpd的服务守护程序负责处理 OpenLDAP 目录请求和 LDAP 服务器与另一个 Ubuntu 服务器之间的目录数据传送。只要 SAMBA编译时加上LDAP 支持,OpenLDAP 与 SAMBA 一起就可以和Windows域服务器一样以相同的方式提供文件、打印和目录服务。 ======= 5.3.1.1.2. Kerberos ======= Kerberos 安全认证系统是一个通过一台集中的服务器给计算机和用户提供认证的标准服务,它允许从其他任何使用 Kerberos 的计算机那里接受加密的授权票据。Kerberos 验证的好处包括相互验证,委派验证,互操作性和简单信任管理。在 Ubuntu 中处理 Kerberos 验证和 Kerberos 数据库管理的主要服务器守护程序是 krb5kdc 和 kadmin。相对于 Windows 域控制器SAMBA 可以使用 Kerberos 作为一个用来给计算机和用户授权的机制。为了做到这些,Ubuntu 系统必须安装 Kerberos,同时 /etc/samba/smb.conf 也需要修改以选择适当的realm 和 security 模式。举个例子,编辑/etc/samba/smb.conf文件,并将下列语句: <pre><nowiki> realm = DOMAIN_NAME security = ADS</nowiki></pre> 添加到文件中并保存 请确定上面示例中的 DOMAIN_NAME 已经被你的 Windows 域名所代替。 你需要重启 SAMBA 进程以使改变产生作用。重启 SAMBA 进程可以在终端提示符后输入以下命令: <pre><nowiki> sudo /etc/init.d/samba restart</nowiki></pre> ====== 5.3.1.2. 计算机帐号 ====== 目录服务中计算机帐号唯一指定网络中的计算机系统,甚至在安全方面就象对待用户一样。计算机账号可以象用户账号一样有密码,同样也象用户账号一样访问网络资源受授权影响。举个例子,如果一个在特定网络中有着合法账号网络用户,企图给一个没有合法计算机账号的计算机上的网络资源授权时,根据网络策略,如果用户企图验证的计算机是未经授权的计算机,则用户也许会被拒绝访问资源。 计算机帐号可以会被添加到 SAMBA 的密码文件中,首先该计算机的名字在本地密码库中做为一个合法用户帐号被添加。添加一个计算机或机器帐号到 SAMBA 的密码文件可以在终端提示符后使用 smbpasswd 命令,如下所示: <pre><nowiki> sudo smbpasswd -a -m COMPUTER_NAME</nowiki></pre> 请确定示例中的 COMPUTER_NAME 被那台你希望添加机器账号的计算机实际名字所代替。 ====== 5.3.1.3. 文件权限 ====== 文件权限清楚地定义计算机和用户对指定的目录、文件或一组文件的权力。这些权限可以通过编辑/etc/samba/smb.conf 来定义并明确被定义文件共享的权限。举个例子,如果你定义了一个叫 sourcedocs 的 SAMBA 共享,并希望给 planning 用户组以 read-only 只读权限,但允许叫 authors 的用户组和名为 richard 的用户可以写该共享,那么你可以编辑/etc/samba/smb.conf 文件,并将下列条目放在 [sourcedocs] 条目下: <pre><nowiki> read list = @planning write list = @authors, richard</nowiki></pre> 将其保存在 /etc/samba/smb.conf中,以使其生效。 另一个适合的权限就是对特定的共享资源声明 administrative 权限。有着administrative 权限的用户可以读、写或修改任何包含在用户已明确给予 administrative 权限的资源里的任何信息。举个例子,如果你想给用户 melissa 在示例 sourcedocs 共享上的 administrative 权限,你可以编辑/etc/samba/smb.conf 文件,并将下面一行添加到 [sourcedocs] 条目下: <pre><nowiki> admin users = melissa</nowiki></pre> 将其保存在 /etc/samba/smb.conf中,以使其生效。 ===== 5.3.2. 客户端 ===== Ubuntu 中包括客户端应用以及通过 SMB 协议远程访问网络资源的能力。例如,一个名为 smbclient 的工具就可以以一种类似文件传输协议(FTP)客户端的方式访问远程共享的文件系统。以使用 smbclient 来访问在名为 bill 远程 Windows 计算机中的共享文件夹资源 documents 来做示范,在提示符后输入类似下面的命令: <pre><nowiki> smbclient //bill/documents -U <username></nowiki></pre> 然后你将被提示输入相对于 -U 参数之后用户名的密码,当成功验证后,将出现一个提示符,在那里我们可以使用与非图形化 FTP 客户端类似的语法来操作和传输文件。smbclient 工具的详细信息可以输入以下命令来查阅该工具的手册页: 使用 SMB 协议的远程网络资源在本地挂载也可以使用 mount 命令。例如,要挂载在一个名为 development 的Windows 服务器上的一个名为 project-code 共享文件夹,并使用 dlightman 用户名挂载到你的 Ubuntu 系统的 /mnt/pcode 挂载点上,你可以在提示符后运行以下命令: <pre><nowiki> mount -t smbfs -o username=dlightman //development/project-code /mnt/pcode</nowiki></pre> 然后你将被提示输入用户密码,在成功验证之后,共享资源的内容就可以通过 mount 命令中的最后一个参数所指定的本地挂载点来访问了。要卸载该共享资源,就象其他被挂载的文件系统一样只需简单的使用 umount 命令即可。例如: <pre><nowiki> umount /mnt/pcode</nowiki></pre> ====== 5.3.2.1. 用户帐号 ====== 用户帐号定义了有一些授权来使用指定计算机和网络资源的人。通常,在网络环境中,用户帐号被提供给每个允许访问计算机或网络的人,然后这些计算机或网络根据策略和权限来明确用户帐号拥有多大的权力。要在你的 Ubuntu 系统中定义 SAMBA 网络用户,你可能使用smbpasswd 命令。如要为你 Ubuntu 系统上名为jseinfeld 的用户添加一个 SAMBA 用户,你可以在提示符后输入命令: <pre><nowiki> smbpasswd -a jseinfeld</nowiki></pre> 然后 smbpasswd 应用程序将提示你为该用户输入密码: <pre><nowiki> New SMB password:</nowiki></pre> 输入你想为用户设置的密码,smbpasswd 会要求你确认密码: <pre><nowiki> Retype new SMB password:</nowiki></pre> 确认密码之后,smbpasswd 将为用户在 SAMBA 密码文件中添加一个条目。 ====== 5.3.2.2. 组 ====== 组定义了对指定网络资源拥有共同访问级别的一组计算机或用户,并提供对这些资源的访问控制粒度级别。举个例子,如果定义一个 qa 组并包含用户 freda、danika 和 rob,再定义第二个组 support 并包含 danika、jeremy 和 vincent。那么某个网络资源被配置为允许 qa 组访问时,则其可以被 freda、danika 和 rob访问,而不是 jeremy 或 vincent。因为用户 danika 属于 qa 和 support 两个组,所以她能够访问配置为两个组访问的资源,而所有其他用户则只能访问明确允许其所属组访问的资源。 当在 SAMBA 配置文件 /etc/samba/smb.conf 中定义组时,被认可的写法是在用“@”符作为组名的开始。例如,如果你希望在 /etc/samba/smb.conf 某段中定义一个名为 sysadmin 的组,那么你需要输入 @sysadmin 来作为组名。 ====== 5.3.2.3. 组策略 ====== 组策略为 SAMBA 服务器定义属于域或工作组计算机帐号的 SAMBA 配置设置及其他全局设置。举个例子,如果 SAMBA 服务器属于一个名为 LEVELONE 的 Windows 计算机工作组,那么 /etc/samba/smb.conf 可以相应改成下面的值: <pre><nowiki> workgroup = LEVELONE</nowiki></pre> 保存文件并重启 SAMBA 守护程序以使改变生效。 其它重要的全局策略设置包括 server string,定义了 Ubuntu 系统向基于 Windows 网络上其它机器所宣称的 NETBIOS 服务器名称。该名称也使你的 Ubuntu 系统被 Windows 客户端及其它使用 SMB 协议浏览网络的计算机所识别。而且用户还可以通过 /etc/samba/smb.conf 文件中的 log file 指令来指定 SAMBA 服务器日志文件的名称和所在位置。 还有一些可以管理全局组策略的附加指令包括对所有共享资源全局性能的说明。例如在 /etc/samba/smb.conf 中 [global] 标题下面的指令将影响所有共享资源,除非在某些共享资源标题下有覆盖全局设置的指令。你可以通过 browseable 指令来使网络中所有的客户机都能浏览全部共享。该指令使用一个布尔值,位于 /etc/samba/smb.conf 文件的 [global] 标题中。编辑该文件,并添加下面一行: <pre><nowiki> browseable = true</nowiki></pre> 到 /etc/samba/smb.conf 文件的 [global] 节的下面。这样所有你 Ubuntu 系统中的共享将通过 SAMBA 被授权客户机浏览,除非该共享包含了覆盖全局指令的 browseable = false 指令。 相同方式运作的其他例子还有 public 和 writeable 指令。public 指令接受一个布尔值并决定特定的共享资源对所有客户是否可见,而无论其被授权与否。writeable 指令也采用布尔值以定义特定共享资源是否对部分或所有网络客户可写。 [[Category:服务器]]
返回至
Serverguide
。