简介:本文将指导您如何在Ubuntu 20.04上设置Samba服务器,以使用Active Directory进行登录认证。我们将通过简单的步骤和示例,使您能够集成Samba和AD,实现文件和打印服务的统一认证。
在Ubuntu 20.04上使用Samba和Active Directory实现登录认证
1. 引言
随着企业网络规模的扩大和管理的复杂性增加,集成不同的服务成为了一个挑战。Samba是一个开源的SMB/CIFS协议实现,允许Linux和Unix系统共享文件和打印机,而Active Directory (AD) 是Microsoft提供的目录服务。通过集成Samba和AD,我们可以实现文件和打印服务的统一认证,简化用户管理和访问控制。
2. 环境准备
在开始之前,请确保您有以下环境:
3. 安装Samba
在Ubuntu上,您可以使用apt包管理器来安装Samba。打开终端并运行以下命令:
sudo apt updatesudo apt install samba samba-common-bin
4. 配置Samba
Samba的主要配置文件是/etc/samba/smb.conf。我们需要编辑此文件以集成AD。
首先,备份原始的smb.conf文件:
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
然后,使用文本编辑器(如nano或vim)打开smb.conf:
sudo nano /etc/samba/smb.conf
在配置文件中,您需要添加以下内容来启用AD集成:
[global]security = adsrealm = YOUR_AD_REALMworkgroup = YOUR_AD_WORKGROUPserver string = Samba Server on Ubuntudns proxy = noidmap config * : backend = tdbidmap config * : range = 10000-20000[shared]path = /path/to/shared/folderbrowsable = yesread only = novalid users = @YOUR_AD_GROUP
请替换YOUR_AD_REALM、YOUR_AD_WORKGROUP和YOUR_AD_GROUP为您的Active Directory的相应值。/path/to/shared/folder是您希望共享的文件夹路径。
5. 配置Kerberos
为了与AD集成,Samba需要使用Kerberos进行身份验证。首先,您需要安装krb5-user和krb5-multidev包:
sudo apt install krb5-user krb5-multidev
然后,使用krb5-config工具初始化Kerberos环境:
sudo krb5-config
运行上述命令后,它会生成一个/etc/krb5.conf文件。您需要编辑此文件,添加或修改以下内容以匹配您的AD设置:
[libdefaults]default_realm = YOUR_AD_REALMdns_lookup_realm = falsedns_lookup_kdc = falseticket_lifetime = 24hrenew_lifetime = 7dforwardable = true[realms]YOUR_AD_REALM = {kdc = YOUR_AD_KDC_SERVERadmin_server = YOUR_AD_ADMIN_SERVER}[domain_realm].your-domain.com = YOUR_AD_REALMyour-domain.com = YOUR_AD_REALM
替换YOUR_AD_REALM、YOUR_AD_KDC_SERVER和YOUR_AD_ADMIN_SERVER为您的Active Directory的相应值。
6. 加入AD域
现在,您可以使用kinit命令和AD管理员账户来加入AD域:
sudo kinit administrator@YOUR_AD_REALMsudo net ads join -U administrator%YOUR_PASSWORD
替换YOUR_AD_REALM和YOUR_PASSWORD为适当的值。
7. 重启Samba服务
最后,重启Samba服务以使更改生效:
```bash
sudo systemctl restart