GNU/Linux >> Belajar Linux >  >> Linux

Cara Mengatur Samba sebagai Pengontrol Domain Utama di Linux

Samba digunakan oleh sysadmin untuk mengatasi masalah interoperabilitas dalam lingkungan campuran di mana Anda memiliki Linux dan Windows. Ini menyediakan platform umum untuk Windows dan Linux untuk memiliki ruang berbagi yang sama.

Pengontrol domain adalah layanan yang digunakan untuk administrasi terpusat pengguna, grup, atau objek apa pun dalam jaringan. Layanan ini memungkinkan kita untuk mengelola, mengotentikasi, dan mengamankan login pengguna dan data terkait.

Tutorial ini menjelaskan bagaimana kita dapat mengkonfigurasi Samba di Linux sebagai pengontrol domain utama.

1. Siapkan Nama Host yang Tepat

Pastikan Anda telah menyiapkan nama host dan ip statis yang sesuai. Jika Anda menggunakan alamat ip internal, dan jika Anda ingin mengaksesnya dari internet, siapkan aturan NAT yang sesuai di firewall Anda.

Dalam tutorial ini akan menggunakan tgs.example.com sebagai nama host.

# vi /etc/sysconfig/network 
HOSTNAME=tgs.example.com

Pastikan ia memiliki pengaturan ip-address statis yang sesuai di file ifcfg-eth0.

# vi /etc/sysconfig/network-script/ifcfg-eth0
IPADDR=192.168.101.1
NETMASK=255.255.255.0

Juga, tetapkan gateway dan dns yang sesuai di file /etc/sysconfig/network dan /etc/resolv.conf Anda.

Verifikasi bahwa file /etc/hosts Anda memiliki entri yang mirip dengan berikut ini.

# vi /etc/hosts
192.168.101.1	tgs.example.com	tgs

Juga, pastikan layanan NTP diatur dan berjalan dengan benar di server ini.

2. Instal Samba dari Sumber

Pada CentOS, secara default paket samba tidak akan diinstal untuk jenis instalasi minimal.

Pertama, instal paket dependen berikut.

# yum install glibc glibc-devel gcc python* libacl-devel krb5-workstation krb5-libs pam_krb5 git-core openldap-devel 

Selanjutnya, unduh sumber samba seperti yang ditunjukkan di bawah ini.

# git clone git://git.samba.org/samba.git sambaserver

File akan diunduh ke direktori sambaserver. Instal server samba seperti yang ditunjukkan di bawah ini.

cd sambaserver

./configure  --enable-debug --enable-selftest

make

make install

Samba akan diinstal di lokasi default /usr/local/samba/bin. Anda akan melihat beberapa utilitas klien samba terinstal di bawah direktori ini.

# cd /usr/local/samba/bin/ 

# ls 
cifsdd       ldbsearch   ntdbrestore    regshell    smbcquotas  tdbbackup 
dbwrap_tool  locktest    ntdbtool       regtree     smbget      tdbdump 
eventlogadm  masktest    ntlm_auth      rpcclient   smbpasswd   tdbrestore 
gentest      ndrdump     oLschema2ldif  samba-tool  smbspool    tdbtool 
ldbadd       net         pdbedit        sharesec    smbstatus   testparm 
ldbdel       nmblookup   pidl           smbcacls    smbtar      wbinfo 
ldbedit      nmblookup4  profiles       smbclient   smbta-util 
ldbmodify    ntdbbackup  regdiff        smbclient4  smbtorture 
ldbrename    ntdbdump    regpatch       smbcontrol  smbtree 

3. Siapkan Penyediaan Domain

Untuk memulai penyediaan domain, jalankan samba-tool seperti yang ditunjukkan di bawah ini. Ini akan mengambil nama host dan nama domain default dari file konfigurasi.

# /usr/local/samba/bin/samba-tool domain provision 
Realm [EXAMPLE.COM]: 
 Domain [EXAMPLE]: 
 Server Role (dc, member, standalone) [dc]: 
 DNS backend (SAMBA_INTERNAL, BIND9_FLATFILE, BIND9_DLZ, NONE) [SAMBA_INTERNAL]: 
 DNS forwarder IP address (write 'none' to disable forwarding) [125.22.47.125]: 8.8.8.8 
Administrator password: 
Retype password: 
...
...
Adding DNS accounts 
Creating CN=MicrosoftDNS,CN=System,DC=example,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:              tgs 
NetBIOS Domain:        EXAMPLE 
DNS Domain:            example.com 
DOMAIN SID:            S-1-5-21-2869186506-3515775153-2841826798 

4. Mulai Layanan Samba

Mulai layanan samba, seperti yang ditunjukkan di bawah ini.

/usr/local/samba/sbin/samba 

Tambahkan entri berikut ke file rc.local untuk memastikan layanan samba dimulai secara otomatis selama startup sistem.

# echo /usr/local/samba/sbin/samba >> /etc/rc.d/rc.local 

# cat /etc/rc.d/rc.local 
touch /var/lock/subsys/local 
/usr/local/samba/sbin/samba 

5. Periksa Versi Samba

ANDA dapat memverifikasi versi samba menggunakan perintah samba atau smbclient seperti yang ditunjukkan di bawah ini.

# /usr/local/samba/sbin/samba -V 
Version 4.2.0pre1-GIT-913b2a1 

# /usr/local/samba/bin/smbclient -V 
Version 4.2.0pre1-GIT-913b2a1 

Perintah berikut akan menampilkan semua share Samba yang saat ini tersedia.

# /usr/local/samba/bin/smbclient -L localhost -U% 
Domain=[EXAMPLE] OS=[Windows 6.1] Server=[Samba 4.2.0pre1-GIT-913b2a1] 

	Sharename       Type      Comment 
	---------       ----      ------- 
	netlogon        Disk      
	sysvol          Disk      
	IPC$            IPC       IPC Service (Samba 4.2.0pre1-GIT-913b2a1) 
Domain=[EXAMPLE] OS=[Windows 6.1] Server=[Samba 4.2.0pre1-GIT-913b2a1] 

	Server               Comment 
	---------            ------- 

	Workgroup            Master 
	---------            ------- 

Verifikasi bahwa Anda dapat masuk menggunakan nama pengguna dan kata sandi administrator.

# /usr/local/samba/bin/smbclient //localhost/netlogon -Uadministrator -c 'ls' 
Enter administrator's password: 
Domain=[EXAMPLE] OS=[Windows 6.1] Server=[Samba 4.2.0pre1-GIT-913b2a1] 
  .   D        0  Fri Feb 21 15:06:15 2014 
  ..  D        0  Fri Feb 21 15:06:28 2014 
57901 blocks of size 8388608. 54372 blocks available 

6. Verifikasi Domain

Sekarang mari kita periksa apakah domain berfungsi seperti yang diharapkan. Periksa catatan SRV dan A seperti yang ditunjukkan di bawah ini.

# host -t SRV _ldap._tcp.example.com 
_ldap._tcp.example.com has SRV record 0 100 389 tgs.example.com. 

# host -t SRV _kerberos._udp.example.com 
_kerberos._udp.example.com has SRV record 0 100 88 tgs.example.com. 

# host -t A tgs.example.com 
tgs.example.com has address 192.168.101.1

Gunakan perintah samba-tool untuk memverifikasi nama ranah seperti yang ditunjukkan di bawah ini.

# /usr/local/samba/bin/samba-tool testparm --suppress-prompt | grep realm 
	realm = EXAMPLE.COM 

7. Konfigurasi Kerberos

Salin contoh file krb5.conf ke direktori /etc.

cp /usr/local/samba/share/setup/krb5.conf /etc/krb5.conf 

Setel default_realm ke nama domain Anda. Dalam hal ini, kami akan menyetelnya ke example.com

# cat /etc/krb5.conf 
[libdefaults] 
	default_realm = EXAMPLE.COM 
	dns_lookup_realm = false 
	dns_lookup_kdc = true 

Gunakan perintah kinit untuk memastikan Kerberos telah diatur dengan benar seperti yang ditunjukkan di bawah ini.

# kinit [email protected] 
Password for [email protected]: 
Warning: Your password will expire in 41 days on Fri Apr  4 15:06:25 2014 

Terakhir, Anda dapat menggunakan alat administrator jarak jauh Windows untuk menyambung ke server Samba dan menggunakannya sebagai pengontrol domain.

Jika Anda menghadapi masalah selama proses di atas, pastikan Anda memperbarui sistem dengan memperbarui semua paket. Anda juga dapat menonaktifkan SELinux untuk sementara, dan meninjau audit.log untuk pesan kesalahan terkait SELinux. Selain itu, pastikan aturan IPTables Anda tidak memblokir port yang diperlukan oleh Samba untuk berkomunikasi antar server.


Linux
  1. Cara Mengatur Terowongan SSH Terbalik di Linux

  2. Cara mengatur login SSH tanpa kata sandi di Linux

  3. Bagaimana cara mengatur font di subsistem Linux?

  1. Cara Membuat Berbagi Jaringan melalui Samba di Linux

  2. Cara Mengatur SSH Tanpa Kata Sandi di Linux

  3. Cara Mencadangkan Konfigurasi Pengontrol Domain Samba di Linux

  1. Cara Mengatur Ingress Controller NGINX di Kubernetes

  2. Cara menyiapkan server Linux di Amazon AWS

  3. Bagaimana cara mengatur `sudo` tanpa kata sandi di Linux?