samba_logo_4c

 

Artikel ini adalah satu cara untuk membuat konfigurasi samba4 dengan Ubuntu. Versi Ubuntu yang digunakan adalah 12.04.

Ini merupakan entri kopipes tahap dewa dewi sebab diserang sakit “malas”.

Parameter rangkaian yang digunakan (ini adalah sebagai contoh sahaja):

Nama Domain : demo.lan
IP : 192.168.10.0/24
Pemasangan sistem asas dan Samba 4

Langkah 1: Pasang sistem operasi Ubuntu 12.04
Langkah 2: Konfigurasi rangkaian menggunakan Ip statik. Edit /etc/network/interfaces:

auto lo eth0
iface lo inet loopback

iface eth0 inet static
address 192.168.10.200
netmask 255.255.255.0
gateway 192.168.10.254
dns-nameservers 192.168.10.200 192.168.10.254
dns-search demo.lan

Langkah 3: Letakkan asas host pada DNS

Edit /etc/hosts dan masukkan:

127.0.0.1 localhost
192.168.10.200 smb4ad smb4ad.demo.lan

Langkah 4: Pasang pakej Samba4

apt-get install samba4

Pemasangan akan memaparkan ralat dan apt akan set pakej samba4 sebagai “half-configured”. Oleh kerana ralat ini tidak memberikan masalah kepada keseluruhan konfigurasi, pakej ini akan ditukar setatus kepada “installed” secara manual.

Edit /var/lib/dpkg/status dan buat carian “Package: samba4″

Tukar “half-configured” dengan “installed”

Sekarang kita akan bina Domain Active Directory:

rm /etc/samba/smb.conf
/usr/share/samba/setup/provision –realm=demo.lan –domain=DEMO –adminpass=’Test123′ –server-role=dc

Ini akan membenarkan konfigurasi untuk melarikan Domain (LDAP, Kerberos, …)

Seterusnya adalah untuk melancarkan Samba:

initctl start samba4

Langkah 5: Menguji pemasangan

apt-get install samba4-clients
smbclient -L localhost -U%

Arahan terakhir sepatutnya memaparkan penentuan konfigurasi dan perkongsian yang ada pada pelayan. Ia adalah seperti dibawah:

Sharename Type Comment
——— —- ——-
netlogon Disk
sysvol Disk
IPC$ IPC IPC Service

Bind Name Server

Kita perlu servis BIND untuk menyelesaikan nama hos dan servis. Active Directory menggunakan DNS untuk menemui semua servic yang ada, jadi:

Langkah 1: Pasang BIND

apt-get install bind9

Langkah 2: Konfigurasi BIND

Sekarang kita perlu edit fail konfigurasi bind untuk meletakkan sekali konfigurasi yang perlu untuk Samba – Active Directory amat bergantung pada entri DNS untuk mencari pelbagai servis dalan rangkaian.

Edit /etc/bind/named.conf dan ubah baris pada penghujungnya:

include “/var/lib/samba/private/named.conf”

Langkah 3: Meletakkan konfgurasi AppArmor

Ubuntu mebina keselamatan servis yang ada menggunakan AppArmor, jadi kita perlu memastikan bind mempunyai hak untuk akses fail yang ada pada Samba.

Edit /etc/apparmor.d/usr.sbin.named dan ubah entri berikut:

/var/lib/samba/private/** rkw,
/var/lib/samba/private/dns/** rkw,
/usr/lib/x86_64-linux-gnu/samba/bind9/** rm,
/usr/lib/x86_64-linux-gnu/samba/gensec/** rm,
/usr/lib/x86_64-linux-gnu/ldb/modules/ldb/** rm,
/usr/lib/x86_64-linux-gnu/samba/ldb/** rm,

Sekarang masukkan semula konfigurasi agar ia dapat dilaksanakan:

/etc/init.d/apparmor reload

Langkah 4: Larikan dan uji BIND

Larikan arahan berikut untuk melancarkan bind:

/etc/init.d/bind9 start

Untuk memastikan semua dapat dihasilkan seperi dikehendaki, larikan arahan ini dan perhatikan paparan yang tersedia:

host -t SRV _ldap._tcp.demo.lan.
root@vupapsam401:/var/lib/samba/private# host -t SRV _kerberos._tcp.demo.lan.
root@vupapsam401:/var/lib/samba/private# host -t A smb4ad.demo.lan.

Paparan yang terhasil sepatunya seperti dibawah:

_ldap._tcp.biomerx.lan has SRV record 0 100 389 smb4ad.demo.lan.
_kerberos._tcp.biomerx.local has SRV record 0 100 88 smb4ad.demo.lan.
smb4ad.biomerx.local has address 192.168.10.200

Langkah 5: Benarkan kemaskinian Dynamics DNS

Kita mahu semua klien dapat kemaskini DNS secara automatik. Edit /etc/bind/named.conf dan ubah baris berikut:

tkey-gssapi-keytab “/var/lib/samba/private/dns.keytab”;

Langkah 6: Konfigurasi BINS sebagai Forwarder

Jika anda mempunyai pelayan DNS lain (seperti Router) pada rangkaian yang memberikan servis untuk menyelesaikan nama domain luaran (seperti www.google.com), anda perlu membuat konfigurasi agar Bind menggunakan DNS ini untuk menyelesaikan entri you’ll need to configure Bind to use this DNS to resolve entries.

Pertama, kita perlu melumpuhkan IPv6 dalam Bind dengan edit /etc/default/bind9 dan ubah:

OPTIONS=”-4 -u bind”

Sekarang ubah /etc/bind/named.conf dengan memasukkan arahan dibawah dalam bahagian pilihan:

allow-query { any; };
allow-recursion { any; };
forwarders { 192.168.99.254; };
dnssec-validation no;

Kerberos

Langkah 1: Pasang Utiliti Kerberos

apt-get install krb5-user

Apabila ditanya mengenai pilihan lalai, masukkan demo.lan dan ‘smb4ad’ sebagai hos. Uji Kerberos dengan melarikan:

kinit administrator@DEMO.LAN

Nama Domain perlu ditulis dengan huruf besar. Jika arahan tersebut berjaya, larikan arahan berikut untuk memeriksa tiket yang telah dijana oleh Kerberos:

klist -e

Network Time Protocol

Oleh kerana Samba sepatutnya memberikan masa yang tepat kepada ahli domain, kita perlu pastikan hos itu sendiri mempunyai masa yang betul. Ini boleh dilakukan dengan memasang dan membuat konfigurasi NTP untuk mendapatkan masa dari pelayan internet.

Langkah 1: Pasang NTP

apt-get install ntp

Langkah 2: Kofigurasi NTP

Edit /etc/ntp.conf dan tukar baris ‘server’ dengan NTP Timeserver pilihan anda.

server smb4ad.demo.lan

Sekarang, lakukan konfigurasi masa asas:

service ntp stop
ntpdate -B smb4ad.demo.lan
service ntp start

Semak jika semua berjalan dengan baik:

ntpq -p

Konfigurasi lain dan penyelesaian masalah

  • Sokongan ACL

Untuk memastikan sistem operasi anda boleh menyokong “Access Control List” (ACL), lakukan seperti dibawah

apt-get install attr

Uji jika sistem fail anda menyokong ACL:

touch test.txt
setfattr -n user.test -v test test.txt
setfattr -n security.test -v test2 test.txt
getfattr -d test.txt
getfattr -n security.test -d test.txt
DNS Server delivery via DHCP

Anda perlu memastikan pelayan DHCP anda diset dengan pelayan Samba sebagai satu-satunya pelayan DNS untuk klien

  • Menyertai Domain

Pastikan anda menggunakan huruf besar untuk membuat sambungan, seperti ‘DEMO.LAN’ sebagai nama domain.

  • Menguji Active Directory

Larikan ‘dsa.msc’ pada hos Windows (selepas memasang Windows Remote Server Administration Tools)

Jika tidak berjaya (Domain tidak tersedia), pastikan DNS anda berfungsi dengan baik.

  • Membina perkongsian

Untuk membina perkongsian, anda perlu membuat arahan dibawah ini:

mkdir /data/global
chmod 777 /data/global

Kemudian masukkan entri pada /etc/samba/smb.conf:

[global]
comment = Global share for all users
path = /data/global
read only = No

Restart samba:

initctl restart samba4

  • Menambah pengguna

Ketika menambah pengguna, setkan direktori “home” mereka kepada to

\\smb4ad\users\

Direktori ini akan terbina secara automatik.

  • Meletakkan entri DNS yang baru.

Gunakan DNS Snap-In dalam konsol pengurusan.

  • Ralat ketika membuat salinan fail

Jika ingin menyalin fail yang terdapat apda sistem Windows kepada Samba dan paparan ralat seperti ‘Not enough memory’, ini mungkin kerana Metadata tersembunyi, anda boleh membuangnya dengan menggunakan alatan yang ada di:

http://technet.microsoft.com/de-de/sysinternals/bb897440

dan larikan arahan berikut:

streams -s -d C:\data

  • Masalah Kebenaran Fail

Jika anda ada masalah untuk akses fail yang dihasilkan oleh pengguna yang berbeza, ubah baris berikut pada /etc/samba/smb.conf (dalam bahagian “share”):

directory mask = 0777
create mask = 0777

dan restart samba:

service samba4 restart