Ubuntu加入AD域并使用域账号登陆认证Samba服务器

Posted 每日learning

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ubuntu加入AD域并使用域账号登陆认证Samba服务器相关的知识,希望对你有一定的参考价值。

1.通过winbind跟Samba跟域进行通讯

hostnamectl set-hostname Ubuntusmbd

设置主机名为:Ubuntusmbd

cat /etc/hostname

查看并确定主机名

hostnamectl

2).

vim /etc/network/interfaces 

添加 dns-nameservers 参数

添加 dns-search 参数,其值为域控制器的主机名

重启计算机使得服务生效,重网卡服务也行

systemctl restart networking.service    


3).配置服务器时间同步。安装 ntpdate  包,使用下面的命令来查询并同步 AD DC 服务器的时间。

sudo apt-get install ntpdate

sudo ntpdate -q your_domain_name

sudo ntpdate your_domain_name

4).安装加入域的环境

sudo apt-get install samba krb5-config krb5-user winbind libpam-winbind libnss-winbind

5).所有环境安装完毕可以使用下面的命令来测试kerberos认证

kinit domain_user_name

输入密码后无报错就可以正常通讯了


6).配置Samba配置文件

Samba配置文件保存在/etc/samba/中

先备份原来的配置文件

mv /etc/samba/smb.conf /etc/samba/smb.conf.bak

vim /etc/samba/smg.conf

将文件内容修改成


[global]

workgroup = 域名比如:domain

realm = 长域名比如:domain.com

netbios name = ubuntusmbd 本机计算机名

security = ADS

idmap config * : backend = tdb

idmap config *:range = 50000-1000000

template homedir = /home/%D/%U

template shell = /bin/bash

winbind use default domain = true

winbind offline logon = false

winbind nss info = rfc2307

winbind enum users = yes

winbind enum groups = yes

vfs objects = acl_xattr

map acl inherit = Yes

store dos attributes = Yes


上面中文标示的都是根据自己的实际情况填写


如果存在本地帐号名跟域帐号同名的情况下,请不要设置该参数: 

winbind use default domain = true


然后重启Samba后台服务

sudo systemctl restart smbd nmbd winbind

sudo systemctl stop samba-ad-dc

sudo systemctl enable smbd nmbd winbind



7).通过下面的命令加入到域中

sudo net ads join -U ad_admin_user

输入域管理员密码加入成功


到安装了ad服务器上查看应该可以查到此计算机了




2.完成ad账号认证还需要一些配置

   编辑名字服务切换 (NSS) 配置文件

sudo vim /etc/nsswitch.conf


改成如下

passwd:         compat winbind

group:          compat winbind

shadow:         compat winbind

gshadow:        files


hosts:          files dns

networks:       files


protocols:      db files

services:       db files

ethers:         db files

rpc:            db files


netgroup:       nis


然后重启计算机


验证计算机是否获取域账号信息

wbinfo -u

wbinfo -g


id domainusername

这条命令也可以查看是否获取到域用户信息


为了让域帐号在 Ubuntu 机器上完成认证登录,你需要使用 root 帐号运行 pam-auth-update 命令,然后勾选 winbind 服务所需的选项,以让每个域帐号首次登录时自动创建 home 目录。

查看所有的选项,按 ‘[空格]’键选中,单击 OK 以应用更改。


其他配置


为了让 AD 用户能够在 Linux 的命令行下修改密码,你需要打开 /etc/pam.d/common-password 配置文件,在 password 那一行删除 use_authtok 参数




如果想让域帐号在 ubuntu 机器上拥有 root 权限,你可以使用下面的命令来把 AD 帐号添加到 sudo 系统组中:

$ sudo usermod -aG sudo your_domain_user



要为整个域用户组添加 root 权限,使用 vi 命令打开并编辑 /etc/sudoers 配置文件,如下图所示,添加如下内容:

%YOUR_DOMAIN\\your_domain\  group                ALL=(ALL:ALL) ALL

group中间如果有空格需要在前面加个转义符

根据参考资料:https://linux.cn/article-8479-1.html测试成功,目前准备把windows文件服务器更换为Linux进行重新部署


以上是关于Ubuntu加入AD域并使用域账号登陆认证Samba服务器的主要内容,如果未能解决你的问题,请参考以下文章

CentOS7加入AD域(winbind)

SharePoint 2013 同步FBA认证用户

怎么结合AD域账户做上网行为管理?

Ubuntu通过LDAP集成AD域账号登录(libnss-ldap方式)

Cisco AnyConnect 通过FreeRADIUS集成域账号+Google MFA认证

怎样在虚拟机上面安装活动目录,搭建DC和DNS服务器,并且把两台客户端加入域环境