GNU/Linux >> Znalost Linux >  >> Linux

Jak se připojit pomocí Samby k Linux Active Directory

Pokud jste správce systému a přemýšlíte, jak přidat linuxový desktop a server do svého aktuálního Linux Active Directory (AD), pak jste na správném místě. Přidání nových klientů do AD zjednodušuje správu uživatelů mezi více klientskými počítači, zvláště když ve svém prostředí spravujete stovky počítačů.

V tomto tutoriálu se dozvíte, jak přidat systémy Linux (Ubuntu 20.04, Linux Mint a Ubuntu Server) do Linux Samba Active Directory. To umožní uživatelům Samba Active Directory přihlásit se na klientský počítač Linux s vlastním domovským adresářem, výchozím prostředím a právy sudo root (je-li potřeba).

Připraveni? Skočte rovnou dovnitř!

Předpoklady

Tento tutoriál bude praktickou ukázkou. Pokud chcete pokračovat, ujistěte se, že splňujete následující požadavky:

  • Linux Desktop Machine – Tento výukový program používá Ubuntu 20.04 Desktop, ale můžete použít i jiné distribuce, jako je Linux Mint a Ubuntu Server.
  • Uživatel bez oprávnění root s sudo privilegia.
  • Plně funkční Samba Active Directory (AD).

Nastavení trvalého DNS Resolver

Než budete moci přidat klienty Linux do Samba Active Directory, musíte zajistit, aby název domény Samba Active Directory byl dostupný z klientského počítače. Jak? Nastavením adresy IP Samba AD jako výchozího překladače DNS pro každý klientský počítač v /etc/resolv.conf konfigurační soubor.

1. Otevřete terminál a spusťte systemctl příkazem níže deaktivujete a zastavíte systemd-resolved servis. Tím zajistíte, že klient Linux používá statický a trvalý DNS resolver.

Toto trvalé řešení DNS definuje administrátor a není nahrazeno žádnou třetí službou, jako je systemd-resolved .

# disable and stop systemd-resolved service
sudo systemctl disable --now systemd-resolved

2. Dále spusťte unlink příkaz níže k odstranění souboru symbolického odkazu (/etc/resolv.conf ). Tento soubor nahradíte v dalším kroku. # remove symlink file /etc/resolv.conf sudo unlink /etc/resolv.conf

# remove symlink file /etc/resolv.conf
sudo unlink /etc/resolv.conf

3. Nyní vytvořte nový soubor s názvem /etc/resolv.conf pomocí preferovaného editoru a naplňte soubor s následující konfigurací.

Níže uvedená konfigurace nastavuje hlavní a záložní DNS resolvery.

# Samba AD as main DNS resolver
nameserver 172.16.1.10

# fall-back DNS resolver using Cloudflare
nameserver 1.1.1.1

# hostname lookup for domain example.lan
search example.lan

4. Spusťte chattr pomocí níže uvedených příkazů vytvoříte soubor /etc/resolv.conf neměnný, aby bylo zajištěno, že klientské počítače vždy používají Samba AD jako výchozí překladač DNS. Tyto příkazy také zabraňují přepsání z jiných služeb, jako je NetworkManager.

# making the file `/etc/resolv.conf` immutable
sudo chattr +i /etc/resolv.conf

# remove immutable attribute
sudo chattr -i /etc/resolv.conf

5. Nakonec spusťte ping příkazy níže k ověření připojení k doménám Samba AD dc1.example.lanexample.lan .

# ping to AD server dc1.example.an and example.lan
ping -c3 dc1.example.lan
ping -c3 example.lan

Pokud je připojení úspěšné, obdržíte zprávu s odpovědí ze serveru AD a domény dc1.example.lanexample.lan bude převedena na IP adresu Samba AD.

Nastavení Chrony jako klienta NTP

Poté, co nakonfigurujete DNS resolver, nyní nastavíte Chrony pro synchronizaci času mezi klientským počítačem a serverem Samba AD. Pokud existuje časový rozdíl (maximálně pět minut) mezi klientským počítačem a serverem AD, klient nemůže přistupovat ke všem prostředkům na serveru AD.

1. Spuštěním níže uvedeného příkazu nainstalujte chrony svým linuxovým klientům.

# install chrony
sudo apt install chrony -y

2. Nyní upravte výchozí konfiguraci Chrony (/etc/chrony/chrony.conf ) ve vašem preferovaném editoru a přidejte následující konfiguraci.

 bindcmdaddress hodnota musí být IP adresa klienta. Na této IP adrese bude spuštěna služba Chrony. Zatímco server možnost je místo, kde přidáte název své domény Samba AD jako server NTP.

# run Chrony as NTP client on the IP address
bindcmdaddress 172.16.1.85

# time synchronize to the Samba AD dc1.example.lan
server dc1.example.lan iburst

3. Dále spusťte systemctl pomocí níže uvedených příkazů restartujte chronyd a ověřte, že stav služby je active (running) . # restart chronyd service sudo systemctl restart chronyd # verify status chronyd service sudo systemctl status chronyd

# restart chronyd service
sudo systemctl restart chronyd

# verify status chronyd service
sudo systemctl status chronyd

Jak můžete vidět níže, chronyd služba je active (running)enabled . Klient Chrony NTP se nyní spustí automaticky při startu systému.

4. Nakonec spusťte níže uvedený příkaz a ověřte, zda je služba Chrony na klientském počítači připojena k serveru Samba AD NTP. chronyc tracking

chronyc tracking

Jak můžete vidět níže, služba Chrony na klientovi Linux je připojena k serveru Samba AD NTP s adresou IP 172.16.1.10 .

Připojení linuxových klientů k Samba Active Directory

Nyní jste nakonfigurovali Chrony na klientovi Linux. Ale jak přidáte tento klientský počítač do Samba Active Directory? Začněte instalací a konfigurací realmdsssd služby pro přidání linuxových klientů na server Samba AD.

1. Spusťte apt příkaz níže k aktualizaci indexu balíčku. Tento příkaz zajistí, že instalujete nejnovější verzi balíčků z úložiště.

sudo apt update

Poté spusťte níže uvedený příkaz a nainstalujte realmdsssd služby se všemi potřebnými doplňkovými balíčky. realmd se používá se základními službami Linuxu, jako je sssd , připojit se ke službě Samba Active Directory.

sudo apt install -y realmd sssd sssd-tools samba-common krb5-user packagekit samba-common-bin samba-libs adcli

Zadejte výchozí sféru (velkými písmeny) pro Samba Active Directory, jak je uvedeno níže. Tuto výchozí sféru použijete pro ověřování Kerberos.

V tomto příkladu je výchozí doména sféry pro Samba AD EXAMPLE.LAN .

3. Vytvořte nový soubor /etc/realmd.conf pomocí preferovaného editoru a přidejte následující konfiguraci. Níže uvedená konfigurace provádí následující:

  • Ovládá chování domény Samba AD a uživatelů
  • Určuje připojení klienta k serveru AD
  • Určuje, zda použít automatickou instalaci doplňkových služeb či nikoli.
  • Konkrétní konfigurace pro example.lan AD doména.
[users]
# define Samba AD users behavior
# define default home directory and shell for Samba AD users
default-home = /home/%U
default-shell = /bin/bash

[active-directory]
# define realmd connection to the Samba AD
# you can use `sssd` or `winbind` for realmd to join Samba AD
# os-name can used as an identifier for client
default-client = sssd
os-name = Linux Ubuntu and Mint Desktop

[service]
# disable automati install for additional realmd service
automatic-install = no

[example.lan]
# define behavior of Samba AD `example.lan`
# disable fully-qualified-names so you can use a username to identify Samba users
# automatic-id-mapping to yes will automatically generate UID and GID numbers
# user-principal to yes will automatically create UserPrincipalName for the client machine
# manage-system to yes to enabled realmd to manage client machine
fully-qualified-names = no
automatic-id-mapping = yes
user-principal = yes
manage-system = yes

Spusťte kinit níže uvedený příkaz k ověření připojení domény (EXAMPLE.LAN ) do služby Kerberos pomocí výchozího uživatele (administrator ).

Zadejte heslo pro administrator Uživatel Samba AD po zobrazení výzvy, jak je uvedeno níže.

Přidání nových klientů do Samba AD vyžaduje použití administrator uživatel.

# authenticate to Kerberos server on EXAMPLE.LAN using administrator
sudo kinit [email protected]

# verify authentication and print detailed Kerberos tickets for administrator user
sudo klist

5. Nyní spusťte realm join příkaz níže pro přidání linuxových klientů do Samba AD (example.lan ). Nahraďte UbuntuMintDesktop s jedinečným uživatelským hlavním jménem (UPN). Každý klient/stroj musí mít jiný UPN.

# joining/adding Linux Ubuntu/Mint to Samba AD example.lan
# --verbose to get full logs from the process
# --user-principal will automatically set the UserPrincipalName for this machine
# --unattended will run the realm command without prompting for a password prompt,
# because you've already authenticated through the Kerberos ticket
sudo realm join --verbose example.lan --user-principal=UbuntuMintDesktop/[email protected] --unattended

Získáte Úspěšně zaregistrovaný stroj do sféry po dokončení procesu. V tomto okamžiku jste úspěšně přidali svého linuxového klienta do Samba Active Directory.

6. Dále otevřete /etc/sssd/sssd.conf konfigurační soubor ve vašem preferovaném editoru.

Přidejte následující řádek, který změní výchozí řízení přístupu objektu zásad skupiny (GPO) na permissive a nastavte hodnotu access_provider na ad . ad hodnota označuje výchozí ověření pro sssd služba je Active Directory.

Během tohoto psaní neumožní Ubuntu 20.04 Desktop i Server uživatelům AD přihlásit se, když ad_gpo_access_control je nastavena na enforcing (výchozí hodnota). Takže změníte  ad_gpo_access_control hodnotu na permissive .

Ale v Linux Mint se stále můžete přihlásit pomocí uživatelů AD, i když ad_gpo_access_control je na enforcing režimu.

# change default GPO access control to permissive
ad_gpo_access_control = permissive

7. Spusťte pam-auth-update příkaz níže pro úpravu konfigurace PAM. Tento příkaz aktivuje modul PAM (pam_mkhomedir.so ). Povolením modulu PAM se automaticky vytvoří domovský adresář pro uživatele Samba AD (pouze v případě, že domovský adresář není dostupný).

# modify PAM configuration
pam-auth-update

Vyberte možnost Vytvořit domovský adresář při přihlášení na obrazovce terminálu a vyberte OK pro potvrzení.

Stisknutím klávesy MEZERNÍK povolte možnost a stisknutím klávesy TAB přesuňte nabídku kurzoru.

8. Spusťte realm list níže, abyste ověřili své připojení k Samba Active Directory.

# Checking connected AD
realm list

Pokud je vaše připojení úspěšné, obdržíte podrobné AD připojení, jak je uvedeno níže.

Níže můžete vidět, že stolní počítač Ubuntu/Mint je připojen k Samba Active Directory (example.lan ) jako (člen kerberos ).

9. Nyní spusťte id níže pro kontrolu uživatele Samba AD.

# checking Samba AD user `alice`
id alice

Pokud bude instalace úspěšná, obdržíte náhodně uidgid pro uživatele Samby alice . V tomto příkladu můžete vidět uživatele alice je vytvořen a dostupný na Samba AD.

10. Dále spusťte následující příkazy pro nastavení výchozího textového editoru a otevření (visudo ) /etc/sudoers soubor ve vašem výchozím editoru. Upřednostňovaný textový editor můžete kdykoli změnit, ale výchozí editor je nano pro toto demo.

# Sets default editor to nano
export EDITOR=nano
# Opens the /etc/sudoers file in the default editor
visudo

Přidejte svého uživatele Samba AD do sudoers soubor v následujícím formátu, uložte změny a zavřete editor. To vám umožní povolit sudo oprávnění pro uživatele Samby (pokud potřebujete, aby uživatel spouštěl sudo).

# add Samba user `alice` to sudoers
alice ALL=(ALL:ALL) ALL

11. Nakonec spusťte následující příkaz na ploše Ubuntu na reboot systém použít nové konfigurace.

Ale pro Linux Mint a server Ubuntu budete muset přidat další konfiguraci, která je popsána v následující části.

sudo reboot

Nastavení LightDM pro Samba Active Directory

Výchozí konfigurace LightDM pro proces ručního přihlášení pomocí uživatelského jména a hesla je na ploše Linux Mint zakázána. Změníte konfiguraci LightDM, abyste povolili proces ručního přihlášení, aby se uživatelé Samba AD mohli přihlásit k počítači Mint Desktop.

Otevřete LightDM (/etc/lightdm/lightdm.conf ) konfigurační soubor ve vašem preferovaném editoru a vyplňte následující konfiguraci pod [Seat:*] sekce.

greeter-show-manual-login=true možnost níže umožňuje proces ručního přihlášení na LightDM, zatímco allow-guest=false možnost zakáže přihlášení pro uživatele typu host.

# enable manual login
greeter-show-manual-login=true

# disable guest login
allow-guest=false

Nyní spusťte níže uvedený příkaz a restartujte plochu Linux Mint a použijte nové konfigurace.

sudo reboot

Nastavení ověřování Kerberos pro službu SSH

Musíte povolit ověřování Kerberos na službě SSH v prostředí serveru. Tím umožníte uživateli AD přihlásit se k serveru. Jak? Úpravou konfiguračního souboru SSH.

Otevřete SSH (/etc/ssh/sshd_config ) konfigurační soubor ve vašem preferovaném editoru.

Odkomentujte následující možnosti a nastavte jejich hodnoty na yes :

  • KerberosAuthentication – Povolí ověřování Kerberos.
  • KerberosTicketCleanup – Automaticky zničí lístky Kerberos při odhlášení

Nyní spusťte níže uvedený příkaz a restartujte server a použijte nové konfigurace.

sudo reboot

Přihlášení do počítačů Linux pomocí uživatelů Samba AD

Nyní jste dokončili a přidali linuxové klienty do Samba AD. Ale jak můžete ověřit, že se uživatelé Samba AD mohou přihlásit k těmto linuxovým klientům? Uživatele a heslo můžete zadat na přihlašovací obrazovce Display Manager na klientech Linux Desktop. V případě serveru Ubuntu se můžete připojit prostřednictvím zabezpečeného protokolu SSH.

Přihlášení k serveru Ubuntu, Mint a Ubuntu vypadá odlišně. Ale žádný strach, v této ukázce uvidíte, jak se přihlásit ke každému OS pomocí uživatelů Samba AD.

Přihlášení do Linuxu Ubuntu Desktop

S Linuxem Ubuntu Desktop je přihlašování pomocí uživatelů Samba AD stejné, jako se obvykle přihlašujete pomocí uživatelského účtu.

1. Spusťte svého desktopového klienta Ubuntu a klikněte na Není v seznamu? možnost na přihlašovací obrazovce Ubuntu GDM pro přihlášení s jiným uživatelem.

2. Dále zadejte svého uživatele Samba AD do [email protected] formát. Tento příklad používá uživatele Samba AD alice(example.lan) , Jak je ukázáno níže.

3. Zadejte heslo uživatele Samba AD (alice) a stiskněte ENTER pro přihlášení.

Po přihlášení uvidíte výchozí plochu Ubuntu jako snímek obrazovky níže, kde je uživatel Samba AD alice je úspěšně přihlášen.

Níže můžete vidět, že modul PAM (pam_mkhomedir.so. ) automaticky vytvořil domovský adresář uživatele. Zatímco oprávnění sudo root se konfigurují prostřednictvím souboru sudoers .

Přihlášení do Linux Mint Desktop

Na ploše Linux Mint vypadá přihlašování trochu jinak, než jak se přihlašujete na ploše Ubuntu,

Klikněte na tlačítko Přihlásit se, zadejte své uživatele a heslo, jak je uvedeno níže, a poté se přihlaste stisknutím klávesy ENTER.

Nyní uvidíte plochu Linux Mint pro uživatele Samba AD, jako je ta níže.

Přihlášení k serveru Ubuntu

Na rozdíl od prvních dvou operačních systémů se budete k serveru Ubuntu přihlašovat prostřednictvím prostředí příkazového řádku pomocí ssh příkaz.

Spusťte ssh příkaz níže z jiného počítače pro připojení k serveru pomocí uživatele Samba AD podle [email protected]_ip formát, jak je uvedeno níže.

# connect to SSH using AD user
ssh [email protected]

Zadejte yes přidat identitu otisku serveru a zadat heslo pro uživatele Samba AD na server Ubuntu.

Jak vidíte níže, domovský adresář uživatele se vytvoří automaticky a výchozí prostředí pro uživatele Samba AD je Bash.

Závěr

V tomto tutoriálu jste se naučili, jak přidat linuxové klienty (Desktop a Server) do Samba Active Directory (AD) pomocí SSSD a služby Realm. Také jste se naučili povolit ověřování Kerberos ve službě SSH pro server Linux.

Jak byste nyní využili funkčnost Samba Active Directory? Možná zkuste přidat další server jako řadič domény (DC), abyste se připojili k aktuální Samba AD? Toto nastavení poskytuje podporu replikace, redundance a vyvažování zátěže na vašem AD. V důsledku toho můžete do Samba AD přidat další skupinu klientů.


Linux
  1. Jak šifrovat adresář pomocí EncFS na Debian 9 Stretch Linux

  2. Jak odstranit uživatelské účty pomocí domovského adresáře v systému Linux

  3. Integrujte linuxové servery s Active Directory pomocí Samba, Winbind a Kerberos

  1. Jak spravovat uživatele pomocí useradd v linuxu

  2. Jak vytvořit uživatele s vlastním domovským adresářem v Linuxu

  3. Jak přejmenovat adresář v Linuxu

  1. Linux – jak zkombinovat strom s velikostí adresáře?

  2. Jak gzipovat adresář v Linuxu

  3. Jak získat velikost adresáře v Linuxu