GNU/Linux >> Belajar Linux >  >> Cent OS

Instalasi Pengontrol Domain Samba 4 di CentOS 7

Mulai dari versi 4.0, Samba dapat dijalankan sebagai pengontrol domain (DC) Active Directory (AD). Dalam tutorial ini, saya akan menunjukkan cara mengkonfigurasi Samba 4 sebagai pengontrol domain dengan klien Windows 10, CentOS 7 dan CentOS 6.

Dalam tutorial ini, saya akan mengkompilasi Samba 4 dari sumbernya. Jika Anda mencari instalasi berbasis Samba 4 RPM dan konfigurasi SELinux untuk Samba 4, silakan lihat tutorial Samba 4 baru saya di sini.

Saya akan menggunakan 3 Sistem, satu server CentOS 7 dan klien Windows 10 untuk pengelolaan jarak jauh, klien CentOS 7 dan CentOS 6.

  • 192.168.1.190 Samba4 AD centos7
  • 192.168.1.191 manajemen jarak jauh menang 10
  • 192.168.1.22 - Otentikasi klien - centos 7
  • 192.168.1.192 - Otentikasi klien - centos 6

Instalasi Samba 4

192.168.1.190 Samba4 AD centos 7

Basisnya adalah CentOS 7 dengan instalasi minimal dan SELinux dinonaktifkan.

 [[email protected] ~]# sestatusSELinux status:nonaktif[[email protected] ~]# 

Buat entri di file /etc/hosts.

[[email protected] ~]# cat /etc/hosts127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4::1 localhost localhost.localdomain localhost6 localhost6.localdomain6192.168.1.190 samba4.sunil.cc samba4[ [dilindungi email] ~]# 

Instal repo epel.

[[email protected] ~]# yum install epel-release -y

Instal semua paket yang diperlukan untuk mengkompilasi samba4.

[[dilindungi email] ~]# yum install perl gcc libacl-devel libblkid-devel gnutls-devel readline-devel python-devel gdb pkgconfig krb5-workstation zlib-devel setroubleshoot-server libaio-devel setroubleshoot-plugins\policycoreutils python libsemanage-python setools-libs-python setools-libs popt-devel libpcap-devel sqlite-devel libidn-devel libxml2-devel libacl-devel libsepol-devel libattr-devel keyutils-libs-devel\cyrus-sasl bind-utils libxslt docbook-style-xsl openldap-devel pam-devel bzip2 vim wget -y

Sekarang unduh paket samba4 . Saya menggunakan samba-4.6.0 yang terbaru selama penyiapan ini.

[[email protected] ~]# wget https://download.samba.org/pub/samba/stable/samba-4.6.0.tar.gz

Sekarang mari kita instal samba4.

 [[email protected] ~]# tar -zxvf samba-4.6.0.tar.gz [[email protected] ~]# cd samba-4.6.0 [[email protected] samba-4.6.0]# . /configure --enable-debug --enable-selftest --with-ads --with-systemd --with-winbind [[email protected] samba-4.6.0]# make &&make install 

Instalasi akan memakan waktu sekitar 10 menit tergantung pada kecepatan sistem.

Sekarang kita akan melakukan provisi domain.

[[email protected] samba]# samba-tool penyediaan domain --use-rfc2307 --interactiveRealm [SUNIL.CC]:Domain [SUNIL]:Server Role (dc, member, standalone) [dc]:dc DNS backend (SAMBA_INTERNAL, BIND9_FLATFILE, BIND9_DLZ, NONE) [SAMBA_INTERNAL]:Alamat IP forwarder DNS (tulis 'none' untuk menonaktifkan penerusan) [4.2.2.1]:Kata sandi administrator:Ketik ulang kata sandi:Mencari alamat IPv4 Mencari alamat IPv6 Tidak akan ada alamat IPv6 ditugaskanMenyiapkan share.ldbMenyiapkan secret.ldbMenyiapkan registriMenyiapkan basis data hak istimewaMenyiapkan idmap dbMenyiapkan SAM dbMenyiapkan partisi dan pengaturan sam.ldbMenyiapkan sam.ldb rootDSEPmemuat ulang skema Samba 4 dan ADMenambahkan DomainDN:DC=sunil,DC=ccMenambahkan wadah konfigurasiMenyiapkan skema sam.ldbMenyiapkan data konfigurasi sam.ldbMenyiapkan penentu tampilanMemodifikasi penentu tampilanMenambahkan wadah penggunaMemodifikasi wadah penggunaMenambahkan wadah komputerMemodifikasi wadah komputerMenyiapkan data sam.ldbMenyiapkan dengan baik prinsip keamanan yang diketahuiMenyiapkan pengguna dan grup sam.ldbERROR(ldb):pengecualian tidak tertangkap - kesalahan operasi di ../source4/dsdb/samdb/ldb_modules/password_hash.c:2820 File "/usr/local/samba/lib64/python2.7 /site-packages/samba/netcmd/__init__.py", baris 176, di _run return self.run(*args, **kwargs) File "/usr/local/samba/lib64/python2.7/site-packages/ samba/netcmd/domain.py", baris 471, di run nosync=ldap_backend_nosync, ldap_dryrun_mode=ldap_dryrun_mode) File "/usr/local/samba/lib64/python2.7/site-packages/samba/provision/__init__.py", baris 2175, dalam ketentuan skip_sysvolacl=skip_sysvolacl) File "/usr/local/samba/lib64/python2.7/site-packages/samba/provision/__init__.py", baris 1787, di provision_fill next_rid=next_rid, dc_rid=dc_rid) File "/usr/local/samba/lib64/python2.7/site-packages/samba/provision/__init__.py", baris 1447, di fill_samdb "KRBTGTPASS_B64":b64encode(krbtgtpass.encode('utf-16-le' )) File "/usr/local/samba/lib64/python2.7/site-packages/samba/provision/ common.py", baris 55, di setup_add_ldif ldb.add_ldif(data, controls) File "/usr/local/samba/lib64/python2.7/site-packages/samba/__init__.py", baris 225, di add_ldif self .add(msg, controls)[[email protected] samba]#

Akan ada beberapa kesalahan saat kami melakukan provisioning domain.

Untuk memperbaikinya, silakan beri komentar pada baris di bawah ini di /etc/krb5.conf.

 -------- #includedir /etc/krb5.conf.d/ --------

Jalankan lagi penyediaan domain dan sekarang domain akan dibuat tanpa kesalahan.

 [[email protected] etc]# samba-tool penyediaan domain --use-rfc2307 --interactiveRealm [SUNIL.CC]:Domain [SUNIL]:Server Role (dc, member, standalone) [dc]:DNS backend (SAMBA_INTERNAL, BIND9_FLATFILE, BIND9_DLZ, NONE) [SAMBA_INTERNAL]:Alamat IP penerus DNS (tulis 'none' untuk menonaktifkan penerusan) [4.2.2.1]:Kata sandi administrator:Ketik ulang kata sandi:Mencari alamat IPv4Mencari alamat IPv6Tidak ada alamat IPv6 yang akan ditetapkanPengaturan up secret.ldbMenyiapkan registriMenyiapkan basis data hak istimewaMenyiapkan idmap dbMenyiapkan SAM dbMenyiapkan partisi dan pengaturan sam.ldbMenyiapkan sam.ldb rootDSEPmemuat ulang skema Samba 4 dan ADMenambahkan DomainDN:DC=sunil,DC=ccMenambahkan wadah konfigurasiMenyiapkan sam Skema .ldbMenyiapkan data konfigurasi sam.ldbMenyiapkan penentu tampilanMemodifikasi penentu tampilanMenambahkan wadah penggunaMemodifikasi wadah penggunaMenambahkan wadah komputerMemodifikasi wadah komputerMenyiapkan data sam.ldbMenyiapkan prinsip keamanan yang terkenal alsMenyiapkan pengguna dan grup sam.ldbMenyiapkan self joinMenambahkan akun DNSMembuat CN=MicrosoftDNS,CN=System,DC=sunil,DC=ccMembuat partisi DomainDnsZones dan ForestDnsZonesMengisi partisi DomainDnsZones dan ForestDnsZonesMenyiapkan ketentuan sam.ldb yang disinkronkan untuk menandai GUI yang disinkronkan Memperbaiki DSE root Samba AD telah dibuat di /usr/local/samba/private/krb5.confMenyiapkan pengaturan server yp palsu Setelah file di atas diinstal, server Samba4 Anda akan siap digunakan Peran Server:pengontrol domain direktori aktifNama host:samba4NetBIOS Domain:SUNILDNS Domain:sunil.ccDOMAIN SID:S-1-5-21-2936486394-2075362935-551615353[[email protected] etc]# 

Pastikan port terbuka di firewall.

[[email protected] etc]#firewall-cmd --add-port=53/tcp --permanent;firewall-cmd --add-port=53/udp --permanent;firewall-cmd --add- port=88/tcp --permanent;firewall-cmd --add-port=88/udp --permanent; \firewall-cmd --add-port=135/tcp --permanent;firewall-cmd --add-port=137-138/udp --permanent;firewall-cmd --add-port=139/tcp --permanent; \firewall-cmd --add-port=389/tcp --permanent;firewall-cmd --add-port=389/udp --permanent;firewall-cmd --add-port=445/tcp --permanent; \firewall-cmd --add-port=464/tcp --permanent;firewall-cmd --add-port=464/udp --permanent;firewall-cmd --add-port=636/tcp --permanent; \firewall-cmd --add-port=1024-5000/tcp --permanent;firewall-cmd --add-port=3268-3269/tcp --permanent[[email protected] ~]# firewall-cmd --reload 

Buat skrip startup untuk memulai layanan secara otomatis saat reboot.

[[email protected] ~]# cat /etc/systemd/system/samba.service[Unit]Description=Samba 4 Active DirectoryAfter=syslog.targetAfter=network.target[Service]Type=forkingPIDFile=/usr/local /samba/var/run/samba.pidExecStart=/usr/local/samba/sbin/samba[Install]WantedBy=multi-user.target[[email protected] ~]#[[email protected] ~]# systemctl aktifkan sambaCreated symlink dari /etc/systemd/system/multi-user.target.wants/samba.service ke /etc/systemd/system/samba.service.[[email protected] ~]# systemctl start samba 

Menambahkan host Windows ke domain

192.168.1.191 manajemen jarak jauh menang 10

Pastikan host ditambahkan dengan alamat ipad statis.

Menambahkan host ke domain.

Untuk mengelola Samba4 dari Windows, kita perlu menginstal Microsoft Remote Server Tools (RSAT).

Laman wiki memiliki tautan https://wiki.samba.org/index.php/Installing_RSAT

Menginstal alat RSAT di Windows 10

Jalankan penginstal.

Setelah reboot, jalankan dan ketik dsa.msc

Klik domain sunil.cc dan klik kanan baru -> Pengguna.

Membuat pengguna uji.

Otentikasi klien dengan Samba 4 di CentOS 7

192.168.1.22 - Otentikasi klien pada CentOS 7

Instalasi paket:

[[email protected] ~]# yum -y install realm sssd oddjob oddjob-mkhomedir adcli samba-common

Periksa konektivitas dengan samba4:

 [[email protected] ~]# ranah temukan SUNIL.CCsunil.cc ketik:kerberos nama ranah:SUNIL.CC nama domain:sunil.cc dikonfigurasi:kerberos-member server-software:active-directory client-software :sssd diperlukan-paket:dibutuhkan-paket pekerjaan aneh:ganjil-mkhomedir diperlukan-paket:sssd diperlukan-paket:adcli diperlukan-paket:samba-common-tools login-format:%U login-policy:allow-realm-logins[[ email dilindungi] ~]# 

Bergabung dengan domain.

[[email protected] ~]# realm bergabung dengan SUNIL.CCPassword for Administrator:[[email protected] ~]#

Periksa apakah kami bisa mendapatkan pengguna dari samba4.

[[email protected] ~]# id SUNIL\\testuseruid=1570001104([email protected]) gid=1570000513(domain [email protected]) groups=1570000513(domain [email protected])[[email protected] ~ ]#

Konfigurasikan sssd.

[[email protected] ~]# cat /etc/sssd/sssd.conf[sssd]domains =sunil.ccconfig_file_version =2services =nss, pam[domain/sunil.cc]ad_domain =sunil.ccckrb5_realm =SUNIL.CCrealmd_tags =manages-system join-with-sambacache_credentials =Trueid_provider =adkrb5_store_password_if_offline =Truedefault_shell =/bin/bashldap_id_mapping =Trueuse_fully_qualified_names =Truefallback_homedir =/home/%[email protected]%daccess_provider =ad[email]] 

Mulai ulang sssd.

[[email protected] ~]# systemctl restart sssd[[email protected] ~]# systemctl enable sssd

Periksa pengguna.

[[email protected] ~]# id [email protected]uid=1570001105([email protected]) gid=1570000513(domain [email protected]) groups=1570000513(domain [email protected]),1570000512(domain [ email dilindungi]),1570000572(replikasi kata sandi rodc ditolak [dilindungi email])[[dilindungi email] ~]#

Untuk mendapatkan pengguna tanpa nama domain.

[[email protected] ~]# vim /etc/sssd/sssd.conf-----------------------use_fully_qualified_names =False---- ------------------

Mulai ulang sssd dan periksa perintah id.

[[email protected] ~]# systemctl restart sssd[[email protected] ~]# id sambauseruid=1570001105(sambauser) gid=1570000513(pengguna domain) groups=1570000513(pengguna domain),1570000512(admin domain), 1570000572(grup replikasi sandi rodc ditolak)[[email protected] ~]#

Otentikasi klien dengan Samba 4 pada CentOS 6

192.168.1.192 - Otentikasi klien pada CentOS 6.

Instalasi paket.

 [[email protected] db]# yum install pam pam_ldap pam_krb5 sssd sssd-ldap sssd-common authconfig oddjob oddjob-mkhomedir openldap openldap-clients krb5-workstation adcli -y 

Ubah file konfigurasi kerberos.

 [[email protected] db]# cat /etc/krb5.conf[logging] default =FILE:/var/log/krb5libs.log kdc =FILE:/var/log/krb5kdc.log admin_server =FILE:/ var/log/kadmind.log[libdefaults] default_realm =SUNIL.CC dns_lookup_realm =false dns_lookup_kdc =false ticket_lifetime =24j renew_lifetime =7d forwardable =true[realms] SUNIL.CC ={ kdc =samba4.sunil.cc admin_server =samba4.sunil.cc admin_server =samba4.sunil.cc .cc }[domain_realm] .sunil.cc =SUNIL.CC sunil.cc =SUNIL.CC[[email protected] db]# 

Kami akan menggunakan perintah adcli untuk bergabung dengan domain.

 [[email protected] db]# adcli info sunil.cc[domain]domain-name =sunil.ccdomain-short =SUNILdomain-forest =sunil.ccdomain-controller =samba4.sunil.ccdomain-controller-site =Default -First-Site-Namedomain-controller-flags =pdc gc ldap ds kdc timeserv terdekat yang dapat ditulis good-timeserv full-secretdomain-controller-usable =yesdomain-controllers =samba4.sunil.cc[computer]computer-site =Default-First- Nama Situs[[email protected] db]#[[email protected] db]# adcli join sunil.ccPassword for [email protected]:[[email protected] db]# 

Pastikan tiket kerberos sudah dibuat.

 [[email protected] db]# klist -ke 

Konfigurasi autentikasi.

 [[email protected] db]# authconfig --enablesssd --enablesssdauth --enablemkhomedir --update 

Ubah konfigurasi sssd sekarang untuk melakukan otentikasi.

 [[email protected] db]# cat /etc/sssd/sssd.conf[sssd]services =nss, pam, ssh, autofsconfig_file_version =2domains =sunil.cc[domain/sunil.cc]id_provider =ad# Batalkan komentar jika penemuan layanan tidak berfungsi# ad_server =server.win.example.comdefault_shell =/bin/bashfallback_homedir =/home/%u[[email protected] db]# 

Mulai ulang layanan sssd.

 [[email protected] db]# chkconfig sssd on[[email protected] db]# service sssd restartMenghentikan sssd:[ OK ]Memulai sssd:[ OK ][[email protected] db]# 

Memvalidasi pengguna.

 [[email protected] db]# id sambauseruid=1570001105(sambauser) gid=1570000513(pengguna domain) groups=1570000513(pengguna domain),1570000512(admin domain),1570000572(grup replikasi kata sandi rodc ditolak)[[email dilindungi] db]# 

Cent OS
  1. Instalasi PHP 5.5 di CentOs

  2. Centos – Menyiapkan Gateway Di Centos 7?

  3. Cara Mengatur Samba sebagai Pengontrol Domain Utama di Linux

  1. Panduan Netinstall CentOS 7

  2. Instal Anaconda di CentOS 8

  3. Cara Mencadangkan Konfigurasi Pengontrol Domain Samba di Linux

  1. Cara Menginstal Anaconda di CentOS 7

  2. Cara Menginstal Anaconda di CentOS 8

  3. Langkah-langkah Instalasi OpenCart 2.0 pada CentOS 7