登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

『菜谱网』餐饮策划|品牌设计

Since 2009专注于|餐饮策划|品牌设计|美食摄影!

 
 
 
 
 

日志

 
 

Samba有两种方法来动态增加系统用户帐号  

2007-07-28 23:21:22|  分类: 默认分类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

怎么为网络用户自动创建系统帐号,来连接到Samba服务器上?

解决方法:

虽然加入到域里的Samba服务器上会降低在本地服务器上建立本地Samba密码的需要,Samba仍然必须用一个本地系统用户帐号来映射一个网络用户。这种映射是必须的,因为Samba在决定是否赋予或拒绝网络用户访问资源的请求时,是基于映射的本地用户的uid和组权限,以及共享资源和文件系统的权限。

幸运的是,Samba有两种方法来动态增加系统用户帐号,所以系统管理员不需要给连接到Samba服务器的每个域用户手工创建系统用户帐号。

添加用户脚本

使用添加用户脚本可能是两种方法里面最简单的一种,因为它只需要一个配置选项。

添加用户脚本这个Samba配置选项可以在/etc/samba/smb.conf文件的[global]项里使用。

下面是一个示例:

# if you only want the accounts created but do not want the users to have a real

# login shell or their own home directory on the server, use something like this:

# add user script = /usr/sbin/useradd -g smbusers -s /bin/false -d /dev/null -M %u

# if you want to the domain users to have a real login shell and a home directory

# on the server, use something like this instead:

add user script = /usr/sbin/useradd -g smbusers -s /bin/bash %u

对一个连接用户,如果他成功通过身份认证,并且帐户在/etc/passwd里并不存在,添加用户脚本将为其创建一个系统帐户。除非被配置成其他的目录名,用户主目录将被创建成/home/<username>。

注意上面的例子指示Samba设置新建用户的主组为smbusers组,这个组在红帽企业Linux服务器上并不是缺省存在的。你可以把它改成你的服务器上的任何有效组,或者用groupadd创建一个组,比如 groupadd smbusers。

另外注意这个功能并不会设置该用户的系统密码,这是因为该用户在以非Samba方式登录到服务器之前,并不需要系统密码(Samba使用自己的域帐号密码来做身份认证,该密码被域控制器来认证)。如果系统管理员期望用户有一个系统密码,那么应该用passwd工具来设置。参看passwd的man page获取详细信息,man passwd。

Windbind

Winbind通常被认为是为域用户和组创建帐号信息的更优雅的方法,尽管需要指出,winbind不会真正创建这些用户和组,也就是说,不会把用户和组加入/etc/passwd和/etc/group。简单的说,它用自己的NSS(Name Service Switch)模块,把帐号插入系统用户和组的列表,确保/etc/nsswitch.conf文件被正确的编辑。用户和组并不真正存在于系统中,但它们可以被按照Samba相关的方法来使用,比如共享资源的许可,文件和组的所有权,就像它们是真正的系统用户和组一样。

Winbind是一个单独的服务,需要恰当的编辑/etc/samba/smb.conf和/etc/nsswith.conf文件来正确的配置它。红帽知识库里有其他的文章,介绍了设置Winbind服务的详细信息。

idmap uid = 15000-20000
   idmap gid = 15000-20000
   winbind enum groups = yes
   winbind enum users = yes
   winbind separator = +
   winbind use default domain = no
   template homedir = /homes/%D/%U
   template shell = /bin/bash

http://www.redhat.com.cn/kbase/4760.php

那种选择更好?

每种选择都有它们的优点。

- 添加用户脚本更容易被正确使用,也更可靠,然而,系统密码在需要使用的时候要被手工设定,没有内建的机制来从系统密码库里删除过期的帐号。过期帐号需要由系统管理员从本地帐号数据库里手工删除。

- Winbind在保持域用户和组与域控制器上的实际帐号同步方面做得相当好。但是使用Winbind模拟的帐号,来做除了Samba共享许可和文件或目录所有权之外的其他事情的时候,需要大量的手工配置,而且由于需要和域控制器通讯来获取适当的功能,它并不是总是可靠的。另外注意Winbind使用基于PAM系统的身份认证是可行的,但不被红帽支持。

综合考虑,添加用户脚本总体上是最好的选择,特别是在域用户需要在Samba服务器上能真正的登录和有主目录的情况下。

要获得更多的关于Samba和Winbind配置的信息,我们推荐下面的信息资源:

- 在任何红帽系统上,安装基本的samba的RPM包后,在/usr/share/doc/samba-<version>/docs下,都有Samba的文档。在这个目录下,提供了完整的详细参考手册。

- smb.conf的man页。运行 man smb.conf可以查看。

  评论这张
 
阅读(2887)| 评论(1)

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018