|
|
51CTO旗下网站
|
|
移动端

6.3.2 用户认证

《Linux服务器配置全程实录》第6章使用Samba配置文件服务器。Samba作为类UNIX系统和Windows的通信的桥梁,目前应用非常广泛,本章中讲解在RHEL下通过Samba配置文件服务器、打印服务器,PAM在Samba中的应用、异构环境相关内容。本节为大家介绍用户认证。

作者:张勤/杨章明来源:人民邮电出版社|2011-08-10 16:23

【51CTO技术沙龙】10月27日,让我们共同探索AI场景化应用实现之道

6.3.2  用户认证

作为一个功能强大的文件服务器软件,Samba提供了丰富的用户认证方式用于管理访问其共享资源的用户。

客户端在访问时,Samba服务器根据全局配置中的参数选择合适的认证方式以及认证用户来源进行认证。Samba服务器认证用户来源可以基于Samba服务器本身的用户信息,也可以基于Windows活动目录中的用户信息。

虽然Samba服务器运行在Linux平台,但Samba服务器认证用户来源并不能直接读取/etc/passwd中的用户及密码信息。如果希望Samba服务器认证用户信息来自其所在系统中的用户需要通过smbpasswd(具体见6.8)命令将系统用户添加到Samba服务中。图6-23所示内容中通过smbpasswd命令将系统中现有用户tonyzhang添加到Samba认证用户中,此处被添加的用户必须是在系统中存在,也就是在/etc/passwd中已有的用户,如果是一个系统中不存在的用户就会出现如图6-24所示的错误。在使用smbpasswd需要为用户设置一个密码,这个密码仅在客户端访问Samba服务器时有效,与用户登录系统密码无关。

 
图6-23  smbpasswd执行正确
 
图6-24  smbpasswd执行错误

如果希望某人可以访问Samba服务器的共享资源时,必须让他知道访问Samba的用户及密码,从系统安全角度来说这样是存在一些安全隐患的,因为他至少已经知道了一个Linux系统中的用户名(访问Samba的密码是使用smbpasswd设置的,不是该用户登录系统的密码)。Samba服务器也考虑到了这一点,通过Samba服务器提供的用户映射功能可以很好地解决这个问题。

用户映射功能实际就是给系统用户在Samba服务器中起一个别名,当访问Samba服务器时用户输入的实际上一个别名,这样就无法得知Linux系统中的用户名。配置用户映射功能需要以下两个步骤。

(1)通过/etc/samba/smbusers文件设置用户映射关系。smbusers文件在安装Samba服务器端时已默认配置了root、nobody的用户映射关系,如图6-25所示。在该文件第一行的注释中已标明该文件的语法。假设已有两个系统用户tonyzhang及tomyang通过smbpasswd添加到Samba服务器,希望将tonyzhang映射为tony或zhangqin,将tomyang映射为tom,则在smbusers文件中加入以下两行。

  1. tonytonyzhang = tony zhangqin  
  2. tomtomyang = tom  
 
图6-25  /etc/samba/smbusers文件
(2)修改Samba主配置文件。在[global]标签下加入如下参数。
  1. [global]  
  2.       username map = /etc/samba/smbusers  
 
图6-26  Samba默认共享用户家目录
 
图6-27  smb.conf中共享用户家目录配置



回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

程序员面试宝典

本书取材于各大IT公司历年面试真题(笔试、口试、电话面试、英语面试,以及逻辑测试和智商测试)。详细分析了应聘程序员(含网络、测试等...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊