GNU/Linux >> Belajar Linux >  >> Ubuntu

Cara Mengatur Pengontrol Domain Linux menggunakan Samba di Ubuntu

SAMBA adalah implementasi sumber terbuka dari protokol berbagi file SMB yang menyediakan layanan file dan cetak untuk klien SMB/CIFS. Ini membantu dalam jaringan sistem Ubuntu Anda dengan klien Windows, sehingga menyediakan dan mengintegrasikan dengan layanan umum untuk lingkungan Windows. Layanan ini membantu berbagi data dan informasi tentang komputer dan pengguna yang terlibat dalam jaringan, dan dapat diklasifikasikan dalam tiga kategori utama dalam hal fungsionalitas.

Layanan Berbagi File dan Printer: Ini menggunakan protokol Server Message Block (SMB) untuk memfasilitasi berbagi file, folder, volume, dan printer di seluruh jaringan.

Layanan Direktori: Ini berbagi informasi penting tentang komputer dan pengguna jaringan dengan bantuan Lightweight Directory Access Protocol (LDAP) dan Microsoft Active Directory.

Otentikasi dan Akses: Ini menetapkan identitas komputer atau pengguna jaringan dan menentukan informasi yang diizinkan untuk diakses oleh komputer atau pengguna menggunakan izin file, kebijakan grup, dan layanan otentikasi Kerberos.

Dalam tutorial ini kita mempelajari cara mengkonfigurasi pengontrol domain linux menggunakan samba di Ubuntu 16.04.

Samba sebagai AD DC membutuhkan setidaknya versi 4.0.0. Saya sangat menyarankan untuk menggunakan Samba versi stabil terbaru karena akan berisi perbaikan bug dari rilis sebelumnya dan banyak kompatibilitas Microsoft Active Directory yang ditingkatkan dan fitur tambahan.

Keuntungan utama menggunakan ini adalah, kita tidak perlu menginstal KDC Kerberos terpisah. Samba menyertakan KDC yang kompatibel dengan AD dan mengirimkan implementasi LDAP-nya sendiri untuk backend AD.

Prasyarat

  • Pastikan server Anda dikonfigurasi untuk menggunakan alamat IP Statis. DHCP dapat menyebabkan masalah jika alamat berubah.
  • Perbarui resolv.conf Anda dengan server nama yang tepat.
  • Perbarui file /etc/hosts Anda dengan entri yang benar. Nama host Anda harus ditetapkan ke IP server.

Mari kita mulai dengan prasyarat. Saya akan menunjukkan kepada Anda, bagaimana saya mengubah pengaturan server saya untuk memenuhi pra-kondisi kami.

1) Anda perlu mengkonfigurasi antarmuka jaringan Anda untuk IP statis. Edit file /etc/network/interfaces dengan IP server Anda "96.126.107.141", nama pengontrol domain "nodenixbox.com" dan detail lainnya seperti di bawah ini:

root@ubuntu:~# cat /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet static
address 96.126.107.141
netmask 255.255.255.0
network 96.126.107.0
broadcast 96.126.107.255
gateway 96.126.107.1
dns-nameservers 96.126.107.141 8.8.8.8
dns-search nodenixbox.com

# This is an autoconfigured IPv6 interface
iface eth0 inet6 auto

Saya mengubah iface eth0 inet dhcp menjadi iface eth0 inet static dan menambahkan bagian yang disorot ini ke konfigurasi jaringan saya.

2) Edit file resolv.conf Anda untuk menambahkan nama pengontrol domain Anda.

root@ubuntu:~# cat /etc/resolv.conf
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 96.126.107.141
nameserver 8.8.8.8
nameserver 207.192.69.4
search nodenixbox.com

3) Terakhir, edit file /etc/hosts kami dan atur "ubuntu.nodenixbox.com" sebagai nama host Anda seperti di bawah ini:

root@ubuntu:~# cat /etc/hosts
127.0.0.1 localhost
#127.0.1.1 ubuntu.members.linode.com ubuntu
96.126.107.141 ubuntu.nodenixbox.com ubuntu

# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

root@ubuntu:~# echo ubuntu.nodenixbox.com > /etc/hostname

root@ubuntu:~# /etc/init.d/networking restart
[ ok ] Restarting networking (via systemctl): networking.service.

Mulai ulang jaringan Anda setelah modifikasi ini.

Jadi, kita siap untuk memulai instalasi paket.

Penginstalan paket

Pertama-tama, kita perlu menginstal semua paket yang diperlukan untuk menyiapkan direktori Aktif pengontrol Domain. Saya menjalankan perintah ini untuk memperbarui semua paket perangkat lunak server saya dan menginstal perangkat lunak yang diperlukan.

root@ubuntu:~# apt-get update && apt-get upgrade -y

root@ubuntu:~# apt-get install git attr build-essential libacl1-dev libattr1-dev libblkid-dev libgnutls-dev libreadline-dev python-dev libpam0g-dev python-dnspython gdb pkg-config libpopt-dev libldap2-dev dnsutils libbsd-dev attr krb5-user docbook-xsl libcups2-dev acl ntp ntpdate winbind

Selama instalasi paket ini, Anda akan dimintai informasi kerberos. Anda perlu memberikan domain default Kerberos dan informasi server administrator Anda. Anda dapat memasukkan ranah default Anda sebagai nodenixbox.com dan nama server administrator sebagai nama host.

Cara menginstal dan mengkonfigurasi SAMBA

Anda perlu mengunduh paket Samba terbaru menggunakan repositori git ke dalam folder "samba4".

root@ubuntu:~# git clone -b v4-1-stable git://git.samba.org/samba.git samba4
Cloning into 'samba4'...
remote: Counting objects: 1276826, done.
remote: Compressing objects: 100% (280630/280630), done.
remote: Total 1276826 (delta 992350), reused 1267276 (delta 984263)
Receiving objects: 100% (1276826/1276826), 249.03 MiB | 10.51 MiB/s, done.
Resolving deltas: 100% (992350/992350), done.
Checking connectivity... done.

Setelah diunduh, Anda dapat masuk ke folder "samba4" dan mengkonfigurasi paket Samba Anda.

root@ubuntu:~#cd samba4
root@ubuntu:~#./configure --enable-debug --enable-selftest
root@ubuntu:~#make
root@ubuntu:~/samba4# make
WAF_MAKE=1 python ./buildtools/bin/waf build
Waf: Entering directory `/root/samba4/bin'
Selected embedded Heimdal build
Waf: Leaving directory `/root/samba4/bin'
'build' finished successfully (6.288s)
root@ubuntu:~#make install

Kompilasi SAMBA mungkin memerlukan beberapa saat untuk diselesaikan. Setelah selesai, konfirmasi dengan versi klien SAMBA dan SMB. Kedua versi ini harus cocok.

root@ubuntu:~# /usr/local/samba/sbin/samba -V
Version 4.1.23
root@ubuntu:~# /usr/local/samba/bin/smbclient -V
Version 4.1.23

Menyediakan Direktori Aktif Samba

Langkah selanjutnya adalah menyediakan domain Anda. Anda cukup menjalankan perintah ini untuk menyediakan domain Anda.

root@ubuntu:~/samba4# /usr/local/samba/bin/samba-tool domain provision --realm=nodenixbox.com --domain=nodenixbox --adminpass="password" --server-role=dc --dns-backend=SAMBA_INTERNAL
Looking up IPv4 addresses
Looking up IPv6 addresses
Setting up secrets.ldb
Setting up the registry
Setting up the privileges database
Setting up idmap db
Setting up SAM db
Setting up sam.ldb partitions and settings
Setting up sam.ldb rootDSE
Pre-loading the Samba 4 and AD schema
Adding DomainDN: DC=nodenixbox,DC=com
Adding configuration container
Setting up sam.ldb schema
Setting up sam.ldb configuration data
Setting up display specifiers
Modifying display specifiers
Adding users container
Modifying users container
Adding computers container
Modifying computers container
Setting up sam.ldb data
Setting up well known security principals
Setting up sam.ldb users and groups
Setting up self join
Adding DNS accounts
Creating CN=MicrosoftDNS,CN=System,DC=nodenixbox,DC=com
Creating DomainDnsZones and ForestDnsZones partitions
Populating DomainDnsZones and ForestDnsZones partitions
Setting up sam.ldb rootDSE marking as synchronized
Fixing provision GUIDs
A Kerberos configuration suitable for Samba 4 has been generated at /usr/local/samba/private/krb5.conf
Once the above files are installed, your Samba4 server will be ready to use
Server Role: active directory domain controller
Hostname: ubuntu
NetBIOS Domain: NODENIXBOX
DNS Domain: nodenixbox.com
DOMAIN SID: S-1-5-21-4019752003-3807572232-1148719748

Beberapa menggunakan Bind9 sebagai DNS backend, tetapi SAMBA memiliki server DNS yang berfungsi penuh. Di sini, saya menggunakan SAMBA_INTERNAL. Kita perlu memulai layanan SAMBA setelah menyetel domain ini. Anda dapat menjalankan perintah ini untuk memulai SAMBA.

root@ubuntu:~# /usr/local/samba/sbin/samba
root@ubuntu:~#

Menguji Pengontrol Domain Samba Anda

Kita dapat menjalankan "smbclient", untuk memeriksa apakah Samba menyediakan share default AD DC "netlogon" dan "sysvol", yang dibuat di "smb.conf" Anda selama penyediaan.

root@ubuntu:~# /usr/local/samba/bin/smbclient -L localhost -U%
Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.3.11-Ubuntu]

Sharename Type Comment
--------- ---- -------
print$ Disk Printer Drivers
IPC$ IPC IPC Service (ubuntu server (Samba, Ubuntu))
Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.3.11-Ubuntu]

Server Comment
--------- -------
UBUNTU ubuntu server (Samba, Ubuntu)

Workgroup Master
--------- -------
WORKGROUP UBUNTU

Untuk menguji apakah autentikasi berfungsi, Anda harus mencoba menyambungkan ke bagian "netlogon", menggunakan akun Administrator Domain yang dibuat selama penyediaan.

root@ubuntu:~/samba4# /usr/local/samba/bin/smbclient //localhost/netlogon -UAdministrator -c 'ls'
Enter Administrator's password:
Domain=[NODENIXBOX] OS=[Unix] Server=[Samba 4.1.23]
. D 0 Sun Oct 16 09:30:02 2016
.. D 0 Sun Oct 16 09:31:09 2016

47431 blocks of size 524288. 40274 blocks available

Konfigurasikan DNS SAMBA_INTERNAL

DNS yang berfungsi sangat penting untuk pengoperasian yang benar dari Active Directory. Tanpa entri DNS yang tepat, Kerberos tidak akan berfungsi, yang pada gilirannya berarti banyak fitur dasar tidak akan berfungsi. Sebaiknya luangkan waktu ekstra untuk memastikan penyiapan DNS Anda untuk memastikannya dilakukan dengan benar.

Kita perlu mengedit /etc/resolv.conf kita dengan nama domain kita seperti di bawah ini:

root@ubuntu:~#echo domain nodenixbox.com >> /etc/resolv.conf

Pengontrol Domain Anda memerlukan server nama yang dapat menyelesaikan kueri ke zona Direktori Aktif. Karena ini adalah Pengontrol Domain pertama Anda di hutan AD Anda.

Anda juga perlu mengedit file konfigurasi samba Anda "/usr/local/samba/etc/smb.conf" dan menambahkan server nama google ke dns_forwarder.

root@ubuntu:~# cat /usr/local/samba/etc/smb.conf
# Global parameters

[global]

workgroup =NODENIXBOXrealm =NODENIXBOX.COM nama bios =UBUNTUperan server =direktori aktif pengontrol domain penerusan dns =8.8.8.8

Menguji DNS Anda

Untuk memastikan DNS berfungsi dengan baik, jalankan perintah berikut dan bandingkan hasilnya

root@ubuntu:~# host -t SRV _ldap._tcp.nodenixbox.com
_ldap._tcp.nodenixbox.com has SRV record 0 100 389 ubuntu.nodenixbox.com

root@ubuntu:~# host -t SRV _kerberos._udp.nodenixbox.com.
_kerberos._udp.nodenixbox.com has SRV record 0 100 88 ubuntu.nodenixbox.com.

root@ubuntu:~# host -t A ubuntu.nodenixbox.com
ubuntu.nodenixbox.com has address 96.126.107.141

Konfigurasi Kerberos

Kerberos adalah bagian penting dari Active Directory. Biasanya konfigurasi dilakukan di /etc/krb5.conf. Selama penyediaan, contoh konfigurasi yang berfungsi akan dibuat di /usr/local/samba/share/setup/krb5.conf . Anda dapat mengganti file krb5.conf Anda dengan sampel dengan menyalin atau membuat symlink.

root@ubuntu:~# ln -s /usr/local/samba/share/setup/krb5.conf /etc/krb5.conf

Anda perlu mengedit file ini dan memodifikasi default_realm dengan nama DC Anda seperti di bawah ini:

root@ubuntu:~# cat //etc/krb5.conf

[libdefault]

default_realm =NODENIXBOX.COMdns_lookup_realm =falsedns_lookup_kdc =true

Nama ranah harus dalam UPPERCASE.

Menguji Kerberos

Anda dapat menggunakan kinit untuk menguji konfigurasi Kerberos Anda. Jalankan perintah ini seperti di bawah ini untuk pengujian:

root@ubuntu:~# kinit [email protected]
Password for [email protected]:
Warning: Your password will expire in 41 days on Sun 27 Nov 2016 09:31:07 AM UTC

Anda perlu menonaktifkan masa berlaku sandi untuk pengguna administrator direktori aktif dengan menjalankan perintah ini untuk menghindari masalah autentikasi di masa mendatang.

root@ubuntu:~# /usr/local/samba/bin/samba-tool user setexpiry administrator --noexpiry
Expiry for user 'administrator' disabled.

Catatan:Anda harus selalu menentukan ranah Anda dalam huruf besar. Untuk memverifikasi Kerberos berfungsi, Anda dapat menjalankan ini.

root@ubuntu:~# klist -e
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: [email protected]

Valid starting Expires Service principal
10/17/2016 04:19:31 10/17/2016 14:19:31 krbtgt/[email protected]
renew until 10/18/2016 04:19:19, Etype (skey, tkt): arcfour-hmac, arcfour-hmac

Membuat folder beranda pengguna Anda

Sekarang, Anda dapat membuat folder beranda pengguna dan mengatur izin dan kepemilikan yang tepat.

root@ubuntu:~# mkdir -m 770 /Users
root@ubuntu:~# chmod g+s /Users
root@ubuntu:~# chown root:users /Users

Selanjutnya, Anda perlu mengedit file konfigurasi SMB Anda "/usr/local/samba/etc/smb.conf" seperti di bawah ini:

[Users]
directory_mode: parameter = 0700
read only = no
path = /Users
csc policy = documents

Konfigurasi NTP

Direktori Aktif memerlukan sinkronisasi waktu dekat antara semua mesin peserta agar Kerberos berfungsi dengan baik. Sangat disarankan untuk menggunakan NTP pada Pengontrol Domain Anda untuk sinkronisasi waktu. Dokumentasi ini akan memberi Anda semua informasi yang diperlukan, untuk mengonfigurasi NTP pada Pengontrol Domain AD.

Kesimpulan

Terakhir, kami telah membuat pengontrol Domain direktori aktif kami di server Ubuntu 16.04. Anda dapat membuat direktori Aktif DC Anda sendiri dan berbagi melalui jaringan. Keuntungan utama dari konfigurasi ini adalah kemampuan untuk memusatkan kredensial pengguna dan mesin. Ini memiliki beberapa manfaat lainnya. Beberapa manfaat utama adalah sebagai berikut:

  • Ini memelihara daftar pengguna yang dapat mengakses jaringan di direktori aktif dan menentukan file mana yang dapat diakses pengguna dan apa yang dapat mereka lakukan dengan file ini.
  • Selain keamanan dan kenyamanan, pengontrol domain memberikan kecepatan dengan membebaskan sumber daya PC individu dari menjalankan fungsi server yang pada akhirnya meningkatkan kinerja mesin klien.
  • Ini juga menyediakan log keamanan lengkap yang diperlukan untuk Keamanan dan Audit Sistem.

Ubuntu
  1. Cara me-restart jaringan di Ubuntu 16.04 Xenial Xerus Linux

  2. Cara Mengatur Samba sebagai Pengontrol Domain Utama di Linux

  3. Cara Mencadangkan Konfigurasi Pengontrol Domain Samba di Linux

  1. Cara Unzip File ZIP di Ubuntu / Linux

  2. Cara membuka file ISO di Ubuntu Linux

  3. Bagaimana cara menyalin file melalui FTP menggunakan Ubuntu Linux?

  1. Cara menghapus file di Ubuntu Linux

  2. Cara Setup Ubuntu Rolling Release Menggunakan Rolling-Rhino

  3. Cara Menjalankan File Jar di Ubuntu Linux