logo

在Ubuntu 20.04上使用Samba和Active Directory实现登录认证

作者:问题终结者2024.03.19 21:56浏览量:263

简介:本文将指导您如何在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. 环境准备

在开始之前,请确保您有以下环境:

  • Ubuntu 20.04服务器
  • Active Directory环境(包括域名、DNS、域控制器等)
  • 一个有效的AD用户账户,用于配置Samba

3. 安装Samba

在Ubuntu上,您可以使用apt包管理器来安装Samba。打开终端并运行以下命令:

  1. sudo apt update
  2. sudo apt install samba samba-common-bin

4. 配置Samba

Samba的主要配置文件是/etc/samba/smb.conf。我们需要编辑此文件以集成AD。

首先,备份原始的smb.conf文件:

  1. sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak

然后,使用文本编辑器(如nanovim)打开smb.conf

  1. sudo nano /etc/samba/smb.conf

在配置文件中,您需要添加以下内容来启用AD集成:

  1. [global]
  2. security = ads
  3. realm = YOUR_AD_REALM
  4. workgroup = YOUR_AD_WORKGROUP
  5. server string = Samba Server on Ubuntu
  6. dns proxy = no
  7. idmap config * : backend = tdb
  8. idmap config * : range = 10000-20000
  9. [shared]
  10. path = /path/to/shared/folder
  11. browsable = yes
  12. read only = no
  13. valid users = @YOUR_AD_GROUP

请替换YOUR_AD_REALMYOUR_AD_WORKGROUPYOUR_AD_GROUP为您的Active Directory的相应值。/path/to/shared/folder是您希望共享的文件夹路径。

5. 配置Kerberos

为了与AD集成,Samba需要使用Kerberos进行身份验证。首先,您需要安装krb5-userkrb5-multidev包:

  1. sudo apt install krb5-user krb5-multidev

然后,使用krb5-config工具初始化Kerberos环境:

  1. sudo krb5-config

运行上述命令后,它会生成一个/etc/krb5.conf文件。您需要编辑此文件,添加或修改以下内容以匹配您的AD设置:

  1. [libdefaults]
  2. default_realm = YOUR_AD_REALM
  3. dns_lookup_realm = false
  4. dns_lookup_kdc = false
  5. ticket_lifetime = 24h
  6. renew_lifetime = 7d
  7. forwardable = true
  8. [realms]
  9. YOUR_AD_REALM = {
  10. kdc = YOUR_AD_KDC_SERVER
  11. admin_server = YOUR_AD_ADMIN_SERVER
  12. }
  13. [domain_realm]
  14. .your-domain.com = YOUR_AD_REALM
  15. your-domain.com = YOUR_AD_REALM

替换YOUR_AD_REALMYOUR_AD_KDC_SERVERYOUR_AD_ADMIN_SERVER为您的Active Directory的相应值。

6. 加入AD域

现在,您可以使用kinit命令和AD管理员账户来加入AD域:

  1. sudo kinit administrator@YOUR_AD_REALM
  2. sudo net ads join -U administrator%YOUR_PASSWORD

替换YOUR_AD_REALMYOUR_PASSWORD为适当的值。

7. 重启Samba服务

最后,重启Samba服务以使更改生效:

```bash
sudo systemctl restart

相关文章推荐

发表评论