如何使用Active Directory集成Samba(文件共享)进行身份验证

如何使用Active Directory集成Samba(文件共享)进行身份验证

本教程介绍如何安装Gentoo samba服务器以及如何共享具有ActiveDirectory权限的文件夹。

制备

  • 活动目录应该已经实现和工作了。 如果您需要帮助,网络上有很多帮助。
  • 您的Windows系统应该被安全并打补丁。
  • 当然你安装了Gentoo Linux
  • 使用配置文件,您需要更改example.com以匹配您的域。

安装一些工具

你必须安装一些工具。

  • openldap
  • kerberos
  • Samba
# emerge openldap 
# emerge mit-krb5
# USE="kerberos ldap winbind"
# emerge samba

Openldap不需要配置。

配置Kerberos

现在配置文件/etc/krb5.conf如下

[libdefaults]         
		ticket_lifetime = 600       
		default_realm = YOURDOMAIN         
		default_tkt_enctypes = des3-hmac-sha1 des-cbc-crc         
		default_tgs_enctypes = des3-hmac-sha1 des-cbc-crc  
[realms]         
		YOURDOMAIN = {         
			kdc = ip of you ads server         
			default_domain = YOURDOMAIN         
		}  
[domain_realm]         
		.yourdomain = YOURDOMAIN         
		yourdomain = YOURDOMAIN  
[kdc]         
		profile = /etc/krb5kdc/kdc.conf  
[logging]         
		kdc = FILE:/var/log/krb5kdc.log         
		admin_server = FILE:/var/log/kadmin.log         
		default = FILE:/var/log/krb5lib.logog  

将此行添加到/ etc / hosts中

xxx.xxx.xxx.xxx    adserver.yourdomain   adserver  

测试kerberos以确保您可以看到AD域。 键入此命令

kinit Username@DOMAIN

它会要求密码,如果您输入正确,那么您将被返回到promt,这意味着它的工作。

配置SAMBA

您可以使用此示例samba文件:(位置: /etc/samba/smb.conf)

[global]         
	netbios name = name of your server         
	socket options = TCP_NODELAY SO_RCVBUF=16384 SO_SNDBUF=16384         
	idmap uid = 10000-20000         
	winbind enum users = yes         
	winbind gid = 10000-20000         
	workgroup = yourdomain         
	os level = 20         
	winbind enum groups = yes         
	socket address = ip of your ads server         
	password server = *         
	preferred master = no         
	winbind separator = +         
	max log size = 50         
	log file = /var/log/samba3/log.%m         
	encrypt passwords = yes         
	dns proxy = no         
	realm = YOURDOMAIN         
	security = ADS         
	wins server = ip of your wins server         
	wins proxy = no  
[exampleshare]         
	comment = a comment         
	path = /home/exampleshare         
	browseable = yes         
	read only = no         
	inherit acls = yes         
	inherit permissions = yes         
	create mask = 700         
	directory mask = 700         
	valid users = @"DOMAIN+Domain Users"   <-- define your ADS groups         
	admin users = @"DOMAIN+Domain Admins"  <-- define your ads groups with admin rights  

现在跑Samba

# /etc/init.d/samba start

通过键入此命令将您的Samba服务器加入您的域

# net ads join -U Username

我们将要测试winbind以确保Windows身份验证工作您需要编辑/etc/nsswitch.conf文件,并更改两行,看起来像这样

passwd:     compat winbind  
shadow:     compat  
group:      compat winbind  

启动winbindd deamon

# winbindd

将winbindd添加到/etc/conf.d/local.start

# echo "/usr/bin/winbindd" >> /etc/conf.d/local.start

将samba添加到您的rc默认值

# rc-update add samba default

测试您的SAMBA服务器

让我们确保可以看到Active Directory的内容。 键入此命令

# wbinfo -u

您可以看到Acitve Directory的用户列表吗?

查看您的群组类型

# wbinfo -g

配置您的共享

如果你没有配置一个共享,现在做它;)

ACL支持

您需要在内核中激活ACL支持。

现在编辑您的/ etc / fstab并添加acl到您的选项,如下所示:

/dev/sda4               /home           reiserfs        noatime,acl             0 0  

将域组设置为您的共享

您可以使用该命令将组添加到您的共享

# setfacl -m g:"DOMAIN+YourGroup":rwx .

链接

http://forums.gentoo.org/viewtopic.php?p=706581#706581
Samba邮件列表
http://www.samba.org

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏