Teori dulu nih, Samba adalah himpunan aplikasi yang bertujuan agar komputer dengan sistem operasi Linux, BSD ( atau UNIX lainnya) dapat bertindak sebagai file dan print server yang berbasis protokol SMB (session message block). Jaringan yang semacam ini biasa dijumpai pada Windows workgroup atau Windows NT Domain. Samba juga dilengkapi dengan beberapa program bantu sehingga sistem operasi Linux (dan UNIX lainnya) bisa mengakses resources yang ada pada jaringan Windows yang telah ada. Bisa dikatakan, Samba adalah jembatan penghubung antara Windows dan UNIX.
Samba terdiri atas dua program yang berjalan di background: SMBD dan NMBD. Secara singkat dapat disebutkan bahwa SMBD adalah file server yang akan menghasilkan proses baru untuk setiap client yang aktif sementara NMBD bertugas mengkonversi nama komputer (NetBIOS) menjadi alamat IP sekaligus juga memantau share yang ada di jaringan. Kerja SMBD sendiri diatur melalui file konfigurasi /etc/samba/smb.conf. Dengan membuat file konfigurasi yang tepat, Samba dapat dijadikan file server, print server, domain controller, dan banyak fungsi lainnya.
Untuk Instalasi dan Konfigurasi Samba, bisa ikuti langkah-langkah di bawah ini :
- Install paket samba dan kroni-kroninya :apt-get install samba samba-common samba-doc winbind smbclient 
- Konfigurasi file/etc/samba/smb.conf sebagai berikut atau ganti isi file dengan code di bawah ini :
 [global]
 workgroup = INFESTGROUP
 netbios name = khayat
 server string = %h server (Samba, Ubuntu)
 passdb backend = tdbsam
 security = user
 username map = /etc/samba/smbusers
 name resolve order = wins bcast hosts
 domain logons = yes
 preferred master = yes
 wins support = yes
 # Useradd scripts
 add user script = /usr/sbin/useradd -m %u
 delete user script = /usr/sbin/userdel -r %u
 add group script = /usr/sbin/groupadd %g
 delete group script = /usr/sbin/groupdel %g
 add user to group script = /usr/sbin/usermod -G %g %u
 add machine script = /usr/sbin/useradd -s /bin/false/ -d /var/lib/nobody %u
 idmap uid = 15000-20000
 idmap gid = 15000-20000
 # sync smb passwords woth linux passwords
 passwd program = /usr/bin/passwd %u
 passwd chat = *Enter\snew\sUNIX\spassword:* %n\n *Retype\snew\sUNIX\spassword:* %n\n .
 passwd chat debug = yes
 unix password sync = yes
 # set the loglevel
 log level = 3
 [homes]
 comment = Home
 valid users = %S
 read only = no
 browsable = no
 [netlogon]
 comment = Network Logon Service
 path = /home/samba/netlogon
 admin users = Administrator
 valid users = %U
 read only = no
 [profile]
 comment = User profiles
 path = /home/samba/profiles
 valid users = %U
 create mode = 0600
 directory mode = 0700
 writable = yes
 browsable = no
- Buat beberapa direktori berikut sebagai domain logon dan profile :mkdir /home/samba
 mkdir /home/samba/netlogon
 mkdir /home/samba/profiles
 mkdir /var/spool/samba
 chmod 777 /var/spool/samba/
 chown -R root:users /home/samba/
 chmod -R 771 /home/samba/
- Lalu restart service samba :/etc/init.d/samba restart
 atau
 /etc/init.d/smbd restart
- Ubah file /etc/nsswitch.conf, pada baris :hosts: files dns
 menjadi
 hosts: files wins dns
- Tambahkan beberapa client pada file /etc/hosts :127.0.0.1 localhost
 10.10.0.10 infest
 10.10.0.9 lamuk
 10.10.0.8 inyong
- Tambahkan user root kedalam user samba :smbpasswd -a root
 New SMB password:
 Retype new SMB password:
- Buat file /etc/samba/smbusers lalu isikan dengan :
 root = Administratormengartikan bahwa user root = user administrator pada windows
- Sekarang kita coba, apakah konfigurasi sudah benar :smbclient -L localhost -U%akan menghasilkan :
 Domain=[INFESTGROUP] OS=[Unix] Server=[Samba 3.3.2]
 Sharename Type Comment
 ——— —- ——-
 netlogon Disk Network Logon Service
 allusers Disk All Users
 IPC$ IPC IPC Service (khayat-desktop server (Samba, Ubuntu))
 my picture Disk
 musik Disk
 Domain=[INFESTGROUP] OS=[Unix] Server=[Samba 3.3.2]
 Server Comment
 ——— ——-
 INDRA khayat-desktop server (Samba, Ubuntu)
 Workgroup Master
 ——— ——-
 INFEST INFEST
 INFESTGROUP KHAYAT
- Lalu kita setup domain group untuk windows, jalankan perintah :net groupmap modify ntgroup=”Domain Admins” unixgroup=root
 net groupmap modify ntgroup=”Domain Users” unixgroup=users
 net groupmap modify ntgroup=”Domain Guests” unixgroup=nogroup
- Tambah user linux dan user samba dengan cara :useradd lamuk -m -G users
 smbpasswd -a lamuk
- Ubah juga pada /etc/samba/smb.conf, tambahkan baris berikut :[allusers]
 comment = All Users
 path = /home/shares/allusers
 valid users = @users
 force group = users
 create mask = 0660
 directory mask = 0771
 writable = yes
- Restart samba :/etc/init.d/samba restart
 atau
 /etc/init.d/smbd restart
- Langkah terakhir adalah memanggil shared folder dari komputer lain dalam jaringan :smb://infest/www-data/atau Windows OS dengan cara :
 - click kanan pada mycomputer
 - pilih computer name lalu change
 - masukan domain PDC pada bagisn domain
 - akan muncul windows yang meminta memasukan user dan password, pada langkah ini masukan user root dan password samba untuk user root
 - OK
 - Akan muncul bahwa kita sukses menjoinkan mesin windows ke PDC linux
Untuk konfigurasi berbasis GUI bisa memakai :
apt-get install system-config-samba
Referensi : http://howtoforge.com/
 
 














