<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-6077242147986447802</id><updated>2024-10-17T09:16:07.035-07:00</updated><title type='text'>Linux Professional</title><subtitle type='html'>Linux is my Passion.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://mfarrukhsiddique.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6077242147986447802/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://mfarrukhsiddique.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Muhammad Farrukh Siddique</name><uri>http://www.blogger.com/profile/16573866233332117170</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>11</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6077242147986447802.post-6784091948838105720</id><published>2016-06-02T02:55:00.002-07:00</published><updated>2020-03-11T07:50:09.753-07:00</updated><title type='text'>Linux Xen Virtualization</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;br /&gt;
Please follow the link:&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;calibri&amp;quot; , sans-serif; text-align: justify; text-indent: 0.5in;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href=&quot;https://www.youtube.com/playlist?list=PL796AF1E85216E3CA&quot;&gt;https://www.youtube.com/playlist?list=PL796AF1E85216E3CA&lt;/a&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;calibri&amp;quot; , sans-serif; text-align: justify; text-indent: 0.5in;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &amp;quot;calibri&amp;quot; , sans-serif; text-align: justify; text-indent: 0.5in;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify; text-indent: .5in;&quot;&gt;
&lt;span class=&quot;MsoHyperlink&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;calibri&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify; text-indent: .5in;&quot;&gt;
&lt;span class=&quot;MsoHyperlink&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;calibri&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://mfarrukhsiddique.blogspot.com/feeds/6784091948838105720/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mfarrukhsiddique.blogspot.com/2016/06/linux-xen-virtualization.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6077242147986447802/posts/default/6784091948838105720'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6077242147986447802/posts/default/6784091948838105720'/><link rel='alternate' type='text/html' href='http://mfarrukhsiddique.blogspot.com/2016/06/linux-xen-virtualization.html' title='Linux Xen Virtualization'/><author><name>Muhammad Farrukh Siddique</name><uri>http://www.blogger.com/profile/16573866233332117170</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6077242147986447802.post-9092465667532730644</id><published>2016-06-02T02:54:00.001-07:00</published><updated>2020-03-11T07:53:32.455-07:00</updated><title type='text'>Linux Load Balancers</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Please follow the link:&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 10.0pt; mso-ansi-language: EN-US; mso-bidi-font-size: 12.0pt; mso-bidi-language: AR-SA; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: AR-SA;&quot;&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=mXyjcng80sY&amp;amp;list=PLAFFB3667791BBC9B&amp;amp;index=8&quot;&gt;https://www.youtube.com/watch?v=mXyjcng80sY&amp;amp;list=PLAFFB3667791BBC9B&amp;amp;index=8&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://mfarrukhsiddique.blogspot.com/feeds/9092465667532730644/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mfarrukhsiddique.blogspot.com/2016/06/linux-load-balancers.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6077242147986447802/posts/default/9092465667532730644'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6077242147986447802/posts/default/9092465667532730644'/><link rel='alternate' type='text/html' href='http://mfarrukhsiddique.blogspot.com/2016/06/linux-load-balancers.html' title='Linux Load Balancers'/><author><name>Muhammad Farrukh Siddique</name><uri>http://www.blogger.com/profile/16573866233332117170</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6077242147986447802.post-3566120379348083640</id><published>2016-06-02T02:52:00.000-07:00</published><updated>2020-03-11T07:54:32.760-07:00</updated><title type='text'>Linux High Availability Cluster</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify; text-indent: .5in;&quot;&gt;
Please follow the link:&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify; text-indent: .5in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify; text-indent: .5in;&quot;&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify; text-indent: .5in;&quot;&gt;
&lt;span class=&quot;MsoHyperlink&quot;&gt;&lt;a href=&quot;https://www.youtube.com/playlist?list=PLAFFB3667791BBC9B&quot;&gt;https://www.youtube.com/playlist?list=PLAFFB3667791BBC9B&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify; text-indent: .5in;&quot;&gt;
&lt;span class=&quot;MsoHyperlink&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://mfarrukhsiddique.blogspot.com/feeds/3566120379348083640/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mfarrukhsiddique.blogspot.com/2016/06/linux-high-availability-cluster.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6077242147986447802/posts/default/3566120379348083640'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6077242147986447802/posts/default/3566120379348083640'/><link rel='alternate' type='text/html' href='http://mfarrukhsiddique.blogspot.com/2016/06/linux-high-availability-cluster.html' title='Linux High Availability Cluster'/><author><name>Muhammad Farrukh Siddique</name><uri>http://www.blogger.com/profile/16573866233332117170</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6077242147986447802.post-4386196525547065282</id><published>2016-06-02T02:49:00.001-07:00</published><updated>2016-06-02T02:49:50.439-07:00</updated><title type='text'>Configure DHCP in Linux</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;br /&gt;
&lt;div class=&quot;msg-content undoreset&quot; id=&quot;yui_3_15_0_1_1464860956693_747&quot; style=&quot;background-color: white; color: #3f3f3f; font-family: &#39;Helvetica Neue&#39;, Helvetica, Arial, san-serif, Roboto; font-size: 13px; line-height: 13px; margin: 0px; overflow-x: auto; padding: 10px; position: relative; word-wrap: break-word;&quot;&gt;
&lt;div id=&quot;ygrps-yiv-929193972&quot; style=&quot;margin: 0px; padding: 0px;&quot;&gt;
First Go to the rpm directory where dhcp rpm is stored&lt;br /&gt;&lt;br /&gt;# rpm -ivh dhcp-version-number.rpm&lt;br /&gt;&lt;br /&gt;# vim /etc/dhcpd.conf&lt;br /&gt;&lt;br /&gt;and then paste the following lines in that file&lt;br /&gt;&lt;br /&gt;subnet 192.168.1.0 netmask 255.255.255.0 {&lt;br /&gt;range 192.168.1.50 192.168.1.100;&lt;br /&gt;option domain-name-servers 192.168.1.1;&lt;br /&gt;option domain-name &quot;yourdomain.com&quot;;&lt;br /&gt;option netbios-name-servers 192.168.1.1;&lt;br /&gt;option routers 192.168.1.1; #Default Gateway Address&lt;br /&gt;option broadcast-address 192.168.1.255;&lt;br /&gt;default-lease-time 2678400;&lt;br /&gt;max-lease-time 2878400;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;#To fix an IP Address&lt;br /&gt;&lt;br /&gt;host computername {&lt;br /&gt;hardware ethernet 00:50:da:65:07:74;&lt;br /&gt;fixed-address 192.168.1.51;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;save and exit the file&lt;br /&gt;&lt;br /&gt;# service dhcpd start&lt;br /&gt;# service dhcpd status&lt;br /&gt;if &quot;service is running&quot; message appears then you have successfully configured the Dhcp Server. Now enable the clients to get IP from dhcp server by typing command&lt;br /&gt;# setup&lt;br /&gt;Then select Network configuration&lt;br /&gt;and Select your LAN Card&lt;br /&gt;Check the dhcp option by pressing spacebar and then quit and restart the network service&lt;br /&gt;&lt;br /&gt;# service network restart&lt;br /&gt;&lt;br /&gt;to permanently ON the dhcp service at startup, type command&lt;br /&gt;&lt;br /&gt;# chkconfig --level 35 dhcpd on&lt;br /&gt;&lt;br /&gt;Feel free for any further queries&lt;br /&gt;&lt;br /&gt;Regards&lt;br /&gt;Muhammad Farrukh`&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://mfarrukhsiddique.blogspot.com/feeds/4386196525547065282/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mfarrukhsiddique.blogspot.com/2016/06/configure-dhcp-in-linux.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6077242147986447802/posts/default/4386196525547065282'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6077242147986447802/posts/default/4386196525547065282'/><link rel='alternate' type='text/html' href='http://mfarrukhsiddique.blogspot.com/2016/06/configure-dhcp-in-linux.html' title='Configure DHCP in Linux'/><author><name>Muhammad Farrukh Siddique</name><uri>http://www.blogger.com/profile/16573866233332117170</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6077242147986447802.post-5781069978787315933</id><published>2016-06-02T02:47:00.002-07:00</published><updated>2016-06-02T02:47:48.465-07:00</updated><title type='text'>Enabling NTFS Support in Linux</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div class=&quot;msg-content undoreset&quot; id=&quot;yui_3_15_0_1_1464860709044_747&quot; style=&quot;background-color: white; color: #3f3f3f; font-family: &#39;Helvetica Neue&#39;, Helvetica, Arial, san-serif, Roboto; font-size: 13px; line-height: 13px; margin: 0px; overflow-x: auto; padding: 10px; position: relative; word-wrap: break-word;&quot;&gt;
&lt;div id=&quot;ygrps-yiv-1099865615&quot; style=&quot;margin: 0px; padding: 0px;&quot;&gt;
This SOP of NTFS support in linux is especially for NEWBIES.&lt;br /&gt;&lt;br /&gt;Method#1 A most simple procedure is to install kmod-ntfs through yum. Remember you must have yum-repository for kmod-ntfs installed and copy the commands withour #&lt;br /&gt;&lt;br /&gt;# yum install kmod-ntfs&lt;br /&gt;&lt;br /&gt;then run the mount command e.g:&lt;br /&gt;&lt;br /&gt;# mount /dev/sda1 /mnt/NtfsDrive&lt;br /&gt;&lt;br /&gt;sda1 is XpWindowsDrive which can be different in your case, so replace sda1 accordingly. while /mnt/NtfsDrive is mount point, you can define it according to your needs.&lt;br /&gt;&lt;br /&gt;Method#2 If you find yourself unlucky in Step#1, then don&#39;t worry just follow this this Method.&lt;br /&gt;&lt;br /&gt;just download 2 RPMS from the given links&lt;br /&gt;&lt;br /&gt;&lt;a data-rapid_p=&quot;3&quot; href=&quot;http://rpm.pbone.net/index.php3/stat/4/idpl/11207076/com/fuse-2.7.3-61.2.i386.rpm.html&quot; id=&quot;yui_3_15_0_1_1464860709044_767&quot; rel=&quot;nofollow&quot; style=&quot;color: #324fe1; text-decoration: none;&quot; target=&quot;_blank&quot;&gt;http://rpm.pbone.net/index.php3/stat/4/idpl/11207076/com/fuse-2.7.3-61.2.i386.rpm.html&lt;/a&gt;&lt;br /&gt;&lt;a data-rapid_p=&quot;4&quot; href=&quot;http://rpm.pbone.net/index.php3/stat/4/idpl/8449517/com/ntfsprogs-2.0.0-3.i586.rpm.html&quot; id=&quot;yui_3_15_0_1_1464860709044_768&quot; rel=&quot;nofollow&quot; style=&quot;color: #324fe1; text-decoration: none;&quot; target=&quot;_blank&quot;&gt;http://rpm.pbone.net/index.php3/stat/4/idpl/8449517/com/ntfsprogs-2.0.0-3.i586.rpm.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Go to the directory where rpms have been downloaded and run commands in the given order&lt;br /&gt;&lt;br /&gt;# rpm -ivh fuse-2.7.3-61.2.i386.rpm&lt;br /&gt;# rpm -ivh ntfsprogs-2.0.0-3.i586.rpm&lt;br /&gt;&lt;br /&gt;Now mount your NTFS drive by the following command. See Method#1 for sda1 and /mnt/NtfsDrive descriptions&lt;br /&gt;&lt;br /&gt;# ntfsmount /dev/sda1 /mnt/NtfsDrive&lt;br /&gt;&lt;br /&gt;Note: ntfsmount command is used to mount NTFS drives, but to unmount these drives we will use traditional umount command. Congratulations you have successfully enabled NTFS support&lt;br /&gt;&lt;br /&gt;To mount NTFS drives permanently just add an entry in /etc/fstab file as follows&lt;br /&gt;&lt;br /&gt;# vim /etc/fstab&lt;br /&gt;&lt;br /&gt;/dev/sda1 /mnt/NtfsDrive ntfs defaults 0 0&lt;br /&gt;&lt;br /&gt;after saving /etc/fstab, restart your Linux Box and enjoy.&lt;br /&gt;&lt;br /&gt;Oh ho.. you didn&#39;t find any success? No problem&lt;br /&gt;&lt;br /&gt;put a # sign in start of ntfs entry in /etc/fstab and save the file, now follow these commands&lt;br /&gt;&lt;br /&gt;# vim /etc/rc.d/rc.local&lt;br /&gt;&lt;br /&gt;modprobe fuse&lt;br /&gt;ntfsmount /dev/sda1 /mnt/NtfsDrive -o force&lt;br /&gt;&lt;br /&gt;now save the file and exit.&lt;br /&gt;&lt;br /&gt;You can also make a simple script instead of adding entries in rc.local&lt;br /&gt;&lt;br /&gt;I put an example for KDE lovers&lt;br /&gt;&lt;br /&gt;# vim /root/.kde/Autostart/mount.sh&lt;br /&gt;&lt;br /&gt;Below is the context of script&lt;br /&gt;*********************************************&lt;br /&gt;#!/bin/sh&lt;br /&gt;&lt;br /&gt;modprobe fuse&lt;br /&gt;&lt;br /&gt;ntfsmount /dev/sda1 /mnt/NtfsDrive -o force&lt;br /&gt;*********************************************&lt;br /&gt;&lt;br /&gt;now by saving the script by pressing ESC button and then typing :wq!&lt;br /&gt;just make that script executable&lt;br /&gt;&lt;br /&gt;# chmod +x mount.sh&lt;br /&gt;OR # chmod 777 mount.sh&lt;br /&gt;&lt;br /&gt;Now restart your machine and enjoy.&lt;br /&gt;Do Inform me in case of any succes/failure.&lt;br /&gt;&lt;br /&gt;Best Regards&lt;br /&gt;Muhammad Farrukh`&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://mfarrukhsiddique.blogspot.com/feeds/5781069978787315933/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mfarrukhsiddique.blogspot.com/2016/06/enabling-ntfs-support-in-linux.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6077242147986447802/posts/default/5781069978787315933'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6077242147986447802/posts/default/5781069978787315933'/><link rel='alternate' type='text/html' href='http://mfarrukhsiddique.blogspot.com/2016/06/enabling-ntfs-support-in-linux.html' title='Enabling NTFS Support in Linux'/><author><name>Muhammad Farrukh Siddique</name><uri>http://www.blogger.com/profile/16573866233332117170</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6077242147986447802.post-6549023313219491102</id><published>2012-09-13T22:53:00.003-07:00</published><updated>2012-09-13T22:58:07.558-07:00</updated><title type='text'>Latest Technology Vidoes (CBTs)</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Keep yourself updated by watching latest technology videos in Urdu and Howtos in English&lt;br /&gt;
&lt;br /&gt;
http://www.linuxurducbts.com/urducbts-section-by-babar-zahoor.html


&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://mfarrukhsiddique.blogspot.com/feeds/6549023313219491102/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mfarrukhsiddique.blogspot.com/2012/09/httpwwwlinuxurducbtscomurducbts-section.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6077242147986447802/posts/default/6549023313219491102'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6077242147986447802/posts/default/6549023313219491102'/><link rel='alternate' type='text/html' href='http://mfarrukhsiddique.blogspot.com/2012/09/httpwwwlinuxurducbtscomurducbts-section.html' title='Latest Technology Vidoes (CBTs)'/><author><name>Muhammad Farrukh Siddique</name><uri>http://www.blogger.com/profile/16573866233332117170</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6077242147986447802.post-251132711708660949</id><published>2012-09-12T05:28:00.002-07:00</published><updated>2012-09-12T05:31:06.385-07:00</updated><title type='text'>LDAP-Samba: An Alternative to Microsoft Active Directory</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;br /&gt;&lt;/div&gt;

Watch Step by Step Videos of LDAP Samba Configuration. A wonderful alternative to Microsoft Active Directory.

Videos Link: http://mfarrukhsiddique.blip.tv

Total 6 Videos
</content><link rel='replies' type='application/atom+xml' href='http://mfarrukhsiddique.blogspot.com/feeds/251132711708660949/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mfarrukhsiddique.blogspot.com/2012/09/ldap-samba-alternative-to-microsoft.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6077242147986447802/posts/default/251132711708660949'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6077242147986447802/posts/default/251132711708660949'/><link rel='alternate' type='text/html' href='http://mfarrukhsiddique.blogspot.com/2012/09/ldap-samba-alternative-to-microsoft.html' title='LDAP-Samba: An Alternative to Microsoft Active Directory'/><author><name>Muhammad Farrukh Siddique</name><uri>http://www.blogger.com/profile/16573866233332117170</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6077242147986447802.post-2829688656722759216</id><published>2010-04-01T00:31:00.000-07:00</published><updated>2010-04-01T01:07:29.508-07:00</updated><title type='text'>&quot;Snort RPM Based Installation with SnortSnarf and Snort Rule Creation Methods&quot;</title><content type='html'>RPM Based Installation of Snort with SnortSnarf and Snort Rule Creation Methods:&lt;br /&gt;===============================================================================&lt;br /&gt;written by: Muhammad Farrukh Siddique&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Snort is an open source Network Intrusion Detection System&lt;br /&gt;Snort can also act as Sniffer and Logger&lt;br /&gt;In this section we will discuss the more beneficial part of Snort that is Intrusion Detection System (IDS)&lt;br /&gt;&lt;br /&gt;Snort can also be installed on Windows Platform which will be covered later.&lt;br /&gt;Currently the Operating System is CentOS-5.3&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Snort Installation and Configuration:&lt;br /&gt;------------------------------------&lt;br /&gt;&lt;br /&gt;First of all download and install the following required packages&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;# snort and snort-mysql rpm (download-able from http://www.snort.org/downloads) &lt;br /&gt;# mysql and mysql-server-5.0 with all affected packages&lt;br /&gt;# libpcap&lt;br /&gt;# Apache&lt;br /&gt;# php5&lt;br /&gt;# php-cli&lt;br /&gt;# php-common&lt;br /&gt;# php-devel&lt;br /&gt;# php-ldap&lt;br /&gt;# Php5-mysql&lt;br /&gt;&lt;br /&gt;You can check these rpms through rpm -qa command. &lt;br /&gt;you can install missing packages either from source DVD or through yum command&lt;br /&gt;&lt;br /&gt;After downloading snort rpms, just install them&lt;br /&gt;&lt;br /&gt;[root@snortserver tmp]# rpm -ivh snort-2.8.5.3-1.RH5.i386.rpm&lt;br /&gt;&lt;br /&gt;[root@snortserver tmp]# rpm -ivh snort-mysql-2.8.5.3-1.RH5.i386.rpm&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;now configure some basic settings for snort:&lt;br /&gt;&lt;br /&gt;# vim /etc/snort/snort.conf&lt;br /&gt;&lt;br /&gt;Change var HOME_NET any to var HOME_NET 192.168.2.0/24   # you can give a single ip address or range of IP addresses by syntax [192.168.2.1,192.168.2.10] and similarly different networks can also be defined as [192.168.1.0/24,192.168.2.0/24]&lt;br /&gt;&lt;br /&gt;Change var EXTERNAL_NET any to var EXTERNAL_NET !$HOME_NET    # (It states that everything except HOME_NET is external).&lt;br /&gt;&lt;br /&gt;The rule path should be&lt;br /&gt;&lt;br /&gt;var RULE_PATH /etc/snort/rules&lt;br /&gt;&lt;br /&gt;save and exit&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Now add rules to /etc/snort/rules directory&lt;br /&gt;&lt;br /&gt;just download all the .rules file from the link http://cvs.snort.org/viewcvs.cgi/snort/rules/ one by one.&lt;br /&gt;&lt;br /&gt;or just follow a simple way, i have created all the links for your convenience and time saving.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;# cd /tmp&lt;br /&gt;&lt;br /&gt;# mkdir rules&lt;br /&gt;&lt;br /&gt;# cd rules&lt;br /&gt;&lt;br /&gt;# vim download-rules.txt&lt;br /&gt;&lt;br /&gt;http://cvs.snort.org/viewcvs.cgi/*checkout*/snort/rules/attack-responses.rules?rev=1.23.2.7&lt;br /&gt;http://cvs.snort.org/viewcvs.cgi/*checkout*/snort/rules/backdoor.rules?rev=1.50&lt;br /&gt;http://cvs.snort.org/viewcvs.cgi/*checkout*/snort/rules/bad-traffic.rules?rev=1.22.2.5&lt;br /&gt;http://cvs.snort.org/viewcvs.cgi/*checkout*/snort/rules/chat.rules?rev=1.27&lt;br /&gt;http://cvs.snort.org/viewcvs.cgi/*checkout*/snort/rules/ddos.rules?rev=1.14.2.7&lt;br /&gt;http://cvs.snort.org/viewcvs.cgi/*checkout*/snort/rules/deleted.rules?rev=1.39&lt;br /&gt;http://cvs.snort.org/viewcvs.cgi/*checkout*/snort/rules/dns.rules?rev=1.42&lt;br /&gt;http://cvs.snort.org/viewcvs.cgi/*checkout*/snort/rules/dos.rules?rev=1.43&lt;br /&gt;http://cvs.snort.org/viewcvs.cgi/*checkout*/snort/rules/experimental.rules?rev=1.80&lt;br /&gt;http://cvs.snort.org/viewcvs.cgi/*checkout*/snort/rules/finger.rules?rev=1.29&lt;br /&gt;http://cvs.snort.org/viewcvs.cgi/*checkout*/snort/rules/ftp.rules?rev=1.63&lt;br /&gt;http://cvs.snort.org/viewcvs.cgi/*checkout*/snort/rules/icmp-info.rules?rev=1.25&lt;br /&gt;http://cvs.snort.org/viewcvs.cgi/*checkout*/snort/rules/icmp.rules?rev=1.27&lt;br /&gt;http://cvs.snort.org/viewcvs.cgi/*checkout*/snort/rules/imap.rules?rev=1.13.2.13&lt;br /&gt;http://cvs.snort.org/viewcvs.cgi/*checkout*/snort/rules/info.rules?rev=1.31&lt;br /&gt;http://cvs.snort.org/viewcvs.cgi/*checkout*/snort/rules/misc.rules?rev=1.59&lt;br /&gt;http://cvs.snort.org/viewcvs.cgi/*checkout*/snort/rules/local.rules?rev=1.13&lt;br /&gt;http://cvs.snort.org/viewcvs.cgi/*checkout*/snort/rules/multimedia.rules?rev=1.15&lt;br /&gt;http://cvs.snort.org/viewcvs.cgi/*checkout*/snort/rules/mysql.rules?rev=1.13&lt;br /&gt;http://cvs.snort.org/viewcvs.cgi/*checkout*/snort/rules/netbios.rules?rev=1.54&lt;br /&gt;http://cvs.snort.org/viewcvs.cgi/*checkout*/snort/rules/nntp.rules?rev=1.16&lt;br /&gt;http://cvs.snort.org/viewcvs.cgi/*checkout*/snort/rules/oracle.rules?rev=1.21&lt;br /&gt;http://cvs.snort.org/viewcvs.cgi/*checkout*/snort/rules/other-ids.rules?rev=1.12&lt;br /&gt;http://cvs.snort.org/viewcvs.cgi/*checkout*/snort/rules/p2p.rules?rev=1.20&lt;br /&gt;http://cvs.snort.org/viewcvs.cgi/*checkout*/snort/rules/pop2.rules?rev=1.14&lt;br /&gt;http://cvs.snort.org/viewcvs.cgi/*checkout*/snort/rules/pop3.rules?rev=1.26&lt;br /&gt;http://cvs.snort.org/viewcvs.cgi/*checkout*/snort/rules/porn.rules?rev=1.12&lt;br /&gt;http://cvs.snort.org/viewcvs.cgi/*checkout*/snort/rules/rservices.rules?rev=1.24&lt;br /&gt;http://cvs.snort.org/viewcvs.cgi/*checkout*/snort/rules/scan.rules?rev=1.19.2.6&lt;br /&gt;http://cvs.snort.org/viewcvs.cgi/*checkout*/snort/rules/shellcode.rules?rev=1.27&lt;br /&gt;http://cvs.snort.org/viewcvs.cgi/*checkout*/snort/rules/smtp.rules?rev=1.48&lt;br /&gt;http://cvs.snort.org/viewcvs.cgi/*checkout*/snort/rules/snmp.rules?rev=1.19&lt;br /&gt;http://cvs.snort.org/viewcvs.cgi/*checkout*/snort/rules/sql.rules?rev=1.32&lt;br /&gt;http://cvs.snort.org/viewcvs.cgi/*checkout*/snort/rules/telnet.rules?rev=1.40&lt;br /&gt;http://cvs.snort.org/viewcvs.cgi/*checkout*/snort/rules/tftp.rules?rev=1.21&lt;br /&gt;http://cvs.snort.org/viewcvs.cgi/*checkout*/snort/rules/web-attacks.rules?rev=1.21&lt;br /&gt;http://cvs.snort.org/viewcvs.cgi/*checkout*/snort/rules/web-cgi.rules?rev=1.63.2.15&lt;br /&gt;http://cvs.snort.org/viewcvs.cgi/*checkout*/snort/rules/web-client.rules?rev=1.27&lt;br /&gt;http://cvs.snort.org/viewcvs.cgi/*checkout*/snort/rules/web-coldfusion.rules?rev=1.30&lt;br /&gt;http://cvs.snort.org/viewcvs.cgi/*checkout*/snort/rules/web-frontpage.rules?rev=1.35&lt;br /&gt;http://cvs.snort.org/viewcvs.cgi/*checkout*/snort/rules/web-iis.rules?rev=1.84&lt;br /&gt;http://cvs.snort.org/viewcvs.cgi/*checkout*/snort/rules/web-misc.rules?rev=1.102.2.15&lt;br /&gt;http://cvs.snort.org/viewcvs.cgi/*checkout*/snort/rules/web-php.rules?rev=1.23&lt;br /&gt;http://cvs.snort.org/viewcvs.cgi/*checkout*/snort/rules/x11.rules?rev=1.20&lt;br /&gt;&lt;br /&gt;save and exit&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;# wget -i download-rules.txt&lt;br /&gt;&lt;br /&gt;it will download all the rules at once saving a lot of time.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;[you can start snort by simple creating blank .rules files but remember with blank rule files snort will not detect anything]&lt;br /&gt;&lt;br /&gt;after downloading the rules in a directory. Copy the directory on another location. Rename each file to rule-name.rules and then paste the files in /etc/snort/rules directory&lt;br /&gt;&lt;br /&gt;change the ownership of newly created rules files&lt;br /&gt;&lt;br /&gt;# chown snort.root /etc/snort/rules/*&lt;br /&gt;&lt;br /&gt;Keep the original rules directory and match weekly the revision version of each rule on the site to incorporate changes accordingly.&lt;br /&gt;&lt;br /&gt;some rules can also be download and copied in rules directory from http://openmaniak.com/snort_bleeding.php&lt;br /&gt;then append these lines in inlude section of /etc/snort/snort.conf file for each new rule&lt;br /&gt;&lt;br /&gt;include $RULE_PATH/bleeding.rules&lt;br /&gt;include $RULE_PATH/bleeding-attack_response.rules&lt;br /&gt;include $RULE_PATH/bleeding-dos.rules&lt;br /&gt;include $RULE_PATH/bleeding-drop.rules&lt;br /&gt;include $RULE_PATH/bleeding-dshield.rules&lt;br /&gt;include $RULE_PATH/bleeding-exploit.rules&lt;br /&gt;include $RULE_PATH/bleeding-game.rules&lt;br /&gt;include $RULE_PATH/bleeding-inappropriate.rules&lt;br /&gt;include $RULE_PATH/bleeding-malware.rules&lt;br /&gt;include $RULE_PATH/bleeding-p2p.rules&lt;br /&gt;include $RULE_PATH/bleeding-scan.rules&lt;br /&gt;include $RULE_PATH/bleeding-virus.rules&lt;br /&gt;include $RULE_PATH/bleeding-web.rules&lt;br /&gt;&lt;br /&gt;Now its time to start snort&lt;br /&gt;&lt;br /&gt;Start snort&lt;br /&gt;&lt;br /&gt;# /etc/init.d/snortd start&lt;br /&gt;&lt;br /&gt;Remember syslogd daemon must be running in order to take logs&lt;br /&gt;&lt;br /&gt;The log file named &#39;alert&#39; will be generated in /var/log/snort directory&lt;br /&gt;&lt;br /&gt;now do a port scan and check the alerts in /var/log/snort/alert file, if you have defined a complete subnet in HOME_NET variable then you can do a port scan of any host but that host must be reachable by snort server&lt;br /&gt;If you have some network issues then try stopping iptables and SElinux for test purpose&lt;br /&gt;&lt;br /&gt;if you have nmap installed then simple run the command to scan ports&lt;br /&gt;&lt;br /&gt;# nmap localhost&lt;br /&gt;&lt;br /&gt;you can see alerts in real time by command&lt;br /&gt;&lt;br /&gt;# tailf /var/log/snort/alert&lt;br /&gt;&lt;br /&gt;At this time snort is running fine and generating alerts &lt;br /&gt;Now lets move to an interesting section&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Creating your own Snort Rules:&lt;br /&gt;----------------------------&lt;br /&gt;&lt;br /&gt;you can also use Snort Rule Generator or some other utilities but its better to write a rule in a file. lets do it&lt;br /&gt;&lt;br /&gt;We are going to create a rule for generating alerts whenever someone is trying to open youtube.com&lt;br /&gt;&lt;br /&gt;# vim /etc/snort/rules/youtube.rules&lt;br /&gt;&lt;br /&gt;alert tcp any any -&gt; any any (content:&quot;www.youtube.com&quot;; msg:&quot;someone is accessing youtube&quot;; sid:1000003; rev:1;)&lt;br /&gt;&lt;br /&gt;save and exit&lt;br /&gt;&lt;br /&gt;now add the rule path in snort.conf&lt;br /&gt;&lt;br /&gt;#vim /etc/snort/snort.conf&lt;br /&gt;&lt;br /&gt;append the line in include section as&lt;br /&gt;&lt;br /&gt;include $RULE_PATH/youtube.rules&lt;br /&gt;&lt;br /&gt;save and exit&lt;br /&gt;&lt;br /&gt;and restart snort daemon to take affect changes&lt;br /&gt;&lt;br /&gt;# /etc/init.d/snortd restart&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;lets describe the rule:&lt;br /&gt;   &lt;br /&gt;       &lt;br /&gt;alert tcp any any -&gt; any any (content:&quot;www.youtube.com&quot;; msg:&quot;someone is accessing youtube&quot;; sid:1000003; rev:1;) &lt;br /&gt;                                  &lt;br /&gt;     &lt;br /&gt;tcp = protocol&lt;br /&gt;1st any = Source IP (your local IP in this case)&lt;br /&gt;2nd any = Source Port&lt;br /&gt;-&gt; = request for&lt;br /&gt;3rd any = Destination IP (youtube IP in this case)&lt;br /&gt;4th any = Destination Port (that would be 80 in this case)&lt;br /&gt;sid = snort unique id which snort uses to differentiate different alerts and their descriptions&lt;br /&gt;rev = version number&lt;br /&gt;&lt;br /&gt;Now after creating the rule and restarting the snort daemon, lets check our new rule working status&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;just type&lt;br /&gt;&lt;br /&gt;# elinks www.youtube.com &lt;br /&gt;&lt;br /&gt;wait for youtube to be loaded&lt;br /&gt;&lt;br /&gt;or Open a browser and type www.youtube.com&lt;br /&gt;&lt;br /&gt;then view the alerts&lt;br /&gt;&lt;br /&gt;# cat /var/log/snort/alert&lt;br /&gt;&lt;br /&gt;you will see some alerts like &lt;br /&gt;&lt;br /&gt;  [**] [1:100003:1] someone is accessing youtube.com [**] [Priority: 0] {TCP} 192.168.2.5:48401 -&gt; 64.233.169.139:80&lt;br /&gt;  [**] [1:100003:1] someone is accessing youtube.com [**] [Priority: 0] {TCP} 192.168.2.5:38510 -&gt; 110.93.194.23:80&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;SnortSnarf:&lt;br /&gt;----------&lt;br /&gt;&lt;br /&gt;In order to get better results we will have to manage alerts in a more descriptive form&lt;br /&gt;&lt;br /&gt;So lets install and configure SnortSnarf an html generator for snort alerts&lt;br /&gt;&lt;br /&gt;make sure that you have installed Apache and its running&lt;br /&gt;&lt;br /&gt;[root@snortserver ~]# /etc/init.d/httpd status&lt;br /&gt;httpd (pid 2992 2991 2990 2989 2988 2987 2986 2985 2983) is running...&lt;br /&gt;[root@snortserver ~]#&lt;br /&gt;&lt;br /&gt;otherwise just start it&lt;br /&gt;&lt;br /&gt;# /etc/init.d/httpd start&lt;br /&gt;&lt;br /&gt;make sure that you have installed perl5 packages because SnortSnarf depends on perl based Time modules&lt;br /&gt;&lt;br /&gt;lets start&lt;br /&gt;&lt;br /&gt;download snortsnarf from http://sourceforge.net/projects/snortsnarf/&lt;br /&gt;&lt;br /&gt;# cd /etc&lt;br /&gt;&lt;br /&gt;# wget http://downloads.sourceforge.net/project/snortsnarf/snortsnarf/Initial%20Release%201.0/SnortSnarf-1.0.tar.gz?use_mirror=space&lt;br /&gt;&lt;br /&gt;# tar -zxvf SnortSnarf-1.0.tar.gz&lt;br /&gt;&lt;br /&gt;Now you have to download and install Time modules needed for snortsnarf from http://search.cpan.org/~muir/Time-modules-2006.0814/&lt;br /&gt;&lt;br /&gt;# wget http://search.cpan.org/CPAN/authors/id/M/MU/MUIR/modules/Time-modules-2006.0814.tar.gz&lt;br /&gt;&lt;br /&gt;# tar -zxvf Time-modules-2006.0814.tar.gz&lt;br /&gt;&lt;br /&gt;# cd Time-modules-2006.0814&lt;br /&gt;&lt;br /&gt;install the modules by following commands:&lt;br /&gt;&lt;br /&gt;# perl Makefile.pl&lt;br /&gt;&lt;br /&gt;# make&lt;br /&gt;&lt;br /&gt;# make test&lt;br /&gt;&lt;br /&gt;# make install &lt;br /&gt;&lt;br /&gt;After successfull installation of Time modules, create a destination directory where snortsnarf will generate html pages as an output&lt;br /&gt;&lt;br /&gt;# mkdir /var/www/html/ids&lt;br /&gt;&lt;br /&gt;Now run snortsnarf&lt;br /&gt;&lt;br /&gt;# cd /etc/SnortSnarf-1.0&lt;br /&gt;&lt;br /&gt;# ./snortsnarf.pl -d /var/www/html/ids/ /var/log/snort/alert&lt;br /&gt;&lt;br /&gt;where -d defines output directory and /var/log/snort/alert is the source file to take input.&lt;br /&gt;&lt;br /&gt;The above command shows a similar output on the console&lt;br /&gt;&lt;br /&gt;[root@snortserver SnortSnarf-1.0]# ./snortsnarf.pl -d /var/www/html/ids/ /var/log/snort/alert&lt;br /&gt;Using an array as a reference is deprecated at include/SnortSnarf/HTMLMemStorage.pm line 290.&lt;br /&gt;Using an array as a reference is deprecated at include/SnortSnarf/HTMLAnomMemStorage.pm line 266.&lt;br /&gt;SnortFileInput: input file /var/log/snort/alert exists but is length 0; skipping it&lt;br /&gt;[root@snortserver SnortSnarf-1.0]#&lt;br /&gt;&lt;br /&gt;if your /var/log/snort/alert file is not empty then you will not see the last output line&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Cron Job for SnortSnarf:&lt;br /&gt;-----------------------&lt;br /&gt;&lt;br /&gt;Create a cron job to automatically run the snorsnarf script to append alerts in html pages&lt;br /&gt;&lt;br /&gt;first of all make a simple script&lt;br /&gt;&lt;br /&gt;# cd /etc&lt;br /&gt;&lt;br /&gt;# touch snortsnarf&lt;br /&gt;&lt;br /&gt;# vim snortsnarf&lt;br /&gt;&lt;br /&gt;cd /etc/SnortSnarf-1.0&lt;br /&gt;./snortsnarf.pl -d /var/www/html/ids /var/log/snort/alert&lt;br /&gt;&lt;br /&gt;save and exit&lt;br /&gt;&lt;br /&gt;make the script executable&lt;br /&gt;&lt;br /&gt;# chmod +x snortsnarf&lt;br /&gt;&lt;br /&gt;now define a new cron job to run snortsnarf after every 5 minutes&lt;br /&gt;&lt;br /&gt;# crontab -e &lt;br /&gt;&lt;br /&gt;*/5 * * * *  /etc/snortsnarf&lt;br /&gt;&lt;br /&gt;save and exit&lt;br /&gt;&lt;br /&gt;*/5 means that snortsnarf will be run after every 5 minutes, you can adjust the time accordingly.&lt;br /&gt;&lt;br /&gt;restart the cron and Apache daemons&lt;br /&gt;&lt;br /&gt;# /etc/init.d/crond restart&lt;br /&gt;&lt;br /&gt;# /etc/init.d/httpd restart&lt;br /&gt;&lt;br /&gt;now create a simple port scan and generate alerts in /var/log/snort/alert file and then open your browser and type http://localhost/ids&lt;br /&gt;&lt;br /&gt;You can see the alerts, further click the alerts and find some more information and go on.&lt;br /&gt;&lt;br /&gt;Now snort IDS with SnortSnarf has been successfully configured, Alhamdullilah&lt;br /&gt;&lt;br /&gt;In next session we will discuss some advanced functionality, how alerts can be stored in a database and managed by Basic Analysis and Security Engine which is an enhanced version of ACID with Graph facilities, and also how SnortSnarf and other web based utilities can be secured.</content><link rel='replies' type='application/atom+xml' href='http://mfarrukhsiddique.blogspot.com/feeds/2829688656722759216/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mfarrukhsiddique.blogspot.com/2010/04/snort-rpm-based-installation-with.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6077242147986447802/posts/default/2829688656722759216'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6077242147986447802/posts/default/2829688656722759216'/><link rel='alternate' type='text/html' href='http://mfarrukhsiddique.blogspot.com/2010/04/snort-rpm-based-installation-with.html' title='&quot;Snort RPM Based Installation with SnortSnarf and Snort Rule Creation Methods&quot;'/><author><name>Muhammad Farrukh Siddique</name><uri>http://www.blogger.com/profile/16573866233332117170</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6077242147986447802.post-8569423721437432727</id><published>2010-02-08T02:28:00.001-08:00</published><updated>2010-02-14T03:47:38.856-08:00</updated><title type='text'>SmbLDAP Configuration  Samba OpenLDAP Domain Controller UrduCBTs by Muhammad Farrukh Siddique</title><content type='html'>SmbLDAP Configuration  Samba OpenLDAP Domain Controller UrduCBTs by Muhammad Farrukh Siddique&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Link:&lt;/div&gt;&lt;br /&gt;http://mfarrukhsiddique.blip.tv/&lt;br /&gt;&lt;div&gt;http://blip.tv/file/3178403&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mfarrukhsiddique.blogspot.com/feeds/8569423721437432727/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mfarrukhsiddique.blogspot.com/2010/02/smbldap-configuration-samba-openldap.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6077242147986447802/posts/default/8569423721437432727'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6077242147986447802/posts/default/8569423721437432727'/><link rel='alternate' type='text/html' href='http://mfarrukhsiddique.blogspot.com/2010/02/smbldap-configuration-samba-openldap.html' title='SmbLDAP Configuration  Samba OpenLDAP Domain Controller UrduCBTs by Muhammad Farrukh Siddique'/><author><name>Muhammad Farrukh Siddique</name><uri>http://www.blogger.com/profile/16573866233332117170</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6077242147986447802.post-1403087670402943280</id><published>2010-01-15T00:03:00.000-08:00</published><updated>2010-01-15T00:04:29.870-08:00</updated><title type='text'>Highly Available WebService by using rsync with heartbeat</title><content type='html'>Highly Available WebService by using rsync with heartbeat&lt;br /&gt;=========================================================&lt;br /&gt;Written by: Muhammad Farrukh Siddique (LPIC)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Operating System on both machines: CentOS-5.3 Final&lt;br /&gt;Required RPMs: Heartbeat,rsync,httpd&lt;br /&gt;Service to be mirrored: web service (httpd)&lt;br /&gt;First Machine name (fqdn): node1.ha.int&lt;br /&gt;Second Machine name (fqdn): node2.ha.int&lt;br /&gt;IP Address of node1: 192.168.3.224&lt;br /&gt;IP Address of node2: 192.168.3.225&lt;br /&gt;Default Gateway of both machines: 192.168.3.1&lt;br /&gt;DNS Server: 192.168.2.11&lt;br /&gt;&lt;br /&gt;make sure that you have httpd installed. You can use rsycn to sync any&lt;br /&gt;file/directory for&lt;br /&gt;any service but in this case we will use httpd&lt;br /&gt;&lt;br /&gt;Now first configure Network settings for both machines and check by pinging and&lt;br /&gt;resolving hostnames of each other&lt;br /&gt;that everything is going fine. We will also generate ssh keys so that each&lt;br /&gt;machine can login the other machine without password.&lt;br /&gt;Defining a dns server is necessary if internet access is required specially in&lt;br /&gt;case of using Yellow Update Manager (yum).&lt;br /&gt;Otherwise heartbeat and rsync will work absolutely fine without any dns.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Configuring node1:&lt;br /&gt;------------------&lt;br /&gt;&lt;br /&gt;[root@node1 ~]# cat /etc/sysconfig/network&lt;br /&gt;NETWORKING=yes&lt;br /&gt;NETWORKING_IPV6=no&lt;br /&gt;HOSTNAME=node1.ha.int&lt;br /&gt;[root@node1 ~]#&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;[root@node1 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0&lt;br /&gt;DEVICE=eth0&lt;br /&gt;BOOTPROTO=none&lt;br /&gt;HWADDR=00:0c:29:3a:36:94&lt;br /&gt;ONBOOT=yes&lt;br /&gt;NETMASK=255.255.255.0&lt;br /&gt;IPADDR=192.168.3.224&lt;br /&gt;GATEWAY=192.168.3.1&lt;br /&gt;TYPE=Ethernet&lt;br /&gt;[root@node1 ~]#&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;[root@node1 ~]# cat /etc/hosts&lt;br /&gt;# Do not remove the following line, or various programs&lt;br /&gt;# that require network functionality will fail.&lt;br /&gt;127.0.0.1 localhost.localdomain localhost&lt;br /&gt;::1 localhost6.localdomain6 localhost6&lt;br /&gt;&lt;br /&gt;192.168.3.224 node1.ha.int node1&lt;br /&gt;192.168.3.225 node2.ha.int node2&lt;br /&gt;[root@node1 ~]#&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;[root@node1 ~]# cat /etc/resolv.conf&lt;br /&gt;&lt;br /&gt;nameserver 192.168.2.11&lt;br /&gt;[root@node1 ~]#&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Configuring node2:&lt;br /&gt;------------------&lt;br /&gt;&lt;br /&gt;[root@node2 ~]# cat /etc/sysconfig/network&lt;br /&gt;NETWORKING=yes&lt;br /&gt;NETWORKING_IPV6=no&lt;br /&gt;HOSTNAME=node2.ha.int&lt;br /&gt;[root@node2 ~]#&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;[root@node2 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0&lt;br /&gt;DEVICE=eth0&lt;br /&gt;BOOTPROTO=static&lt;br /&gt;ONBOOT=yes&lt;br /&gt;HWADDR=00:0c:29:30:5b:e3&lt;br /&gt;NETMASK=255.255.255.0&lt;br /&gt;IPADDR=192.168.3.225&lt;br /&gt;GATEWAY=192.168.3.1&lt;br /&gt;TYPE=Ethernet&lt;br /&gt;[root@node2 ~]#&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;[root@node2 ~]# cat /etc/hosts&lt;br /&gt;# Do not remove the following line, or various programs&lt;br /&gt;# that require network functionality will fail.&lt;br /&gt;127.0.0.1 localhost.localdomain localhost&lt;br /&gt;::1 localhost6.localdomain6 localhost6&lt;br /&gt;&lt;br /&gt;192.168.3.224 node1.ha.int node1&lt;br /&gt;192.168.3.225 node2.ha.int node2&lt;br /&gt;[root@node2 ~]#&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;[root@node2 ~]# cat /etc/resolv.conf&lt;br /&gt;&lt;br /&gt;nameserver 192.168.2.11&lt;br /&gt;[root@node2 ~]#&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;configuring ssh keys for both machines:&lt;br /&gt;---------------------------------------&lt;br /&gt;&lt;br /&gt;[root@node1 ~]# ssh-keygen -t rsa&lt;br /&gt;[root@node1 ~]# ssh-keygen -t dsa&lt;br /&gt;[root@node1 ~]# cat /root/.ssh/*.pub &gt; /root/.ssh/authorized_keys&lt;br /&gt;Now replace the folder /root/.ssh on node2&lt;br /&gt;&lt;br /&gt;[root@node1 ~]# scp -r /root/.ssh/ node2:/root/&lt;br /&gt;this time u have to enter the password&lt;br /&gt;&lt;br /&gt;[root@node1 ~]# ssh-keyscan -t rsa node1 node2&lt;br /&gt;[root@node1 ~]# ssh-keyscan -t dsa node1 node2&lt;br /&gt;&lt;br /&gt;Now remember to login through ssh from each machine one time to save the key&lt;br /&gt;permanently&lt;br /&gt;if your /etc/hosts file contains both fqdn and short names against each IP&lt;br /&gt;Address then login&lt;br /&gt;through ssh separately by fqdn and short names for the first time.&lt;br /&gt;&lt;br /&gt;Install rsycn rpm package, by default it is installed in CentOS-5.3&lt;br /&gt;the command is found as /usr/bin/rsync&lt;br /&gt;u can also check the exact path in your distribution normally by command&lt;br /&gt;&lt;br /&gt;[root@node1 ~]# which rsync&lt;br /&gt;/usr/bin/rsync&lt;br /&gt;[root@node1 ~]#&lt;br /&gt;&lt;br /&gt;Now schedule rsycin with cron daemon&lt;br /&gt;&lt;br /&gt;[root@node1 ~]# crontab -e&lt;br /&gt;&lt;br /&gt;*/1 * * * * /usr/bin/rsync -avz --perms --delete --links -e ssh /var/www/&lt;br /&gt;node2:/var/www/&lt;br /&gt;&lt;br /&gt;~&lt;br /&gt;~&lt;br /&gt;~&lt;br /&gt;~&lt;br /&gt;~&lt;br /&gt;~&lt;br /&gt;~&lt;br /&gt;~&lt;br /&gt;&quot;/tmp/crontab.XXXXed1Rxx&quot; 2L, 92C&lt;br /&gt;&lt;br /&gt;[root@node1 ~]#&lt;br /&gt;&lt;br /&gt;this cron file is saved under /var/spool/cron/root&lt;br /&gt;*/1 shows it will check the synchronizing directories after every one minute and&lt;br /&gt;if found any change then transfer the changed files/directories only.&lt;br /&gt;/usr/bin/rysnc is the command to be run&lt;br /&gt;-avz a for archive v for verbose and z for compression. You can adjust these&lt;br /&gt;settings according to your need&lt;br /&gt;--perms means retain the original permissions&lt;br /&gt;--delete means delete extra files from node2 which are not found on node1&lt;br /&gt;--links means copy the symbolic links as it is.&lt;br /&gt;-e means define rsh command, in this case it is ssh&lt;br /&gt;/var/www is the directory on node1 to be synchronized.&lt;br /&gt;node2:/var/www is the path to be synchronized on node2. You can also make it&lt;br /&gt;specific to some user e.g: user@node2:/var/www/&lt;br /&gt;&lt;br /&gt;for further options see man pages&lt;br /&gt;# man rsync&lt;br /&gt;&lt;br /&gt;while configuring rsync on node2, just replace &quot;node2&quot; with &quot;node1&quot; , then the&lt;br /&gt;cron job on node sould look like as:&lt;br /&gt;&lt;br /&gt;*/1 * * * * /usr/bin/rsync -avz --perms --delete --links -e ssh /var/www/&lt;br /&gt;node1:/var/www/&lt;br /&gt;&lt;br /&gt;Now on both machines run the following commands&lt;br /&gt;# chkconfig crond off&lt;br /&gt;#/etc/init.d/crond stop&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Installing heartbeat&lt;br /&gt;====================&lt;br /&gt;&lt;br /&gt;On both machines&lt;br /&gt;&lt;br /&gt;[root@node1 ~]# yum install -y heartbeat-pils heartbeat-stonith&lt;br /&gt;[root@node2 ~]# yum install -y heartbeat-pils heartbeat-stonith&lt;br /&gt;after installing these packages run the command below on both machines&lt;br /&gt;[root@node1 ~]# yum install -y heartbeat&lt;br /&gt;[root@node1 ~]# yum install -y heartbeat&lt;br /&gt;&lt;br /&gt;Configuring Heartbeat:&lt;br /&gt;----------------------&lt;br /&gt;&lt;br /&gt;Remember you have to create the required three files in /etc/ha.d directory&lt;br /&gt;eithor by using vi editor or someother tool&lt;br /&gt;--&gt; ha.cf&lt;br /&gt;--&gt; haresources&lt;br /&gt;--&gt; authkeys&lt;br /&gt;&lt;br /&gt;[root@node1 ~]# cat /etc/ha.d/ha.cf&lt;br /&gt;logfacility local0&lt;br /&gt;keepalive 2&lt;br /&gt;#deadtime 30 # USE THIS!!!&lt;br /&gt;deadtime 10&lt;br /&gt;bcast eth0&lt;br /&gt;#serial /dev/ttyS0&lt;br /&gt;baud 19200&lt;br /&gt;auto_failback off&lt;br /&gt;node node1.ha.int&lt;br /&gt;node node2.ha.int&lt;br /&gt;[root@node1 ~]#&lt;br /&gt;&lt;br /&gt;[root@node1 ~]# cat /etc/ha.d/authkeys&lt;br /&gt;auth 3&lt;br /&gt;3 md5 centos&lt;br /&gt;[root@node1 ~]#&lt;br /&gt;&lt;br /&gt;[root@node1 ~]# chmod 600 /etc/ha.d/authkeys&lt;br /&gt;&lt;br /&gt;[root@node1 ~]# scp /etc/ha.d/ha.cf node2:/etc/ha.d/&lt;br /&gt;[root@node1 ~]# scp /etc/ha.d/authkeys node2:/etc/ha.d/&lt;br /&gt;&lt;br /&gt;[root@node1 ~]# cat /etc/ha.d/haresources&lt;br /&gt;node1.ha.int IPaddr::192.168.3.226/24/eth0 httpd crond&lt;br /&gt;[root@node1 ~]#&lt;br /&gt;&lt;br /&gt;[root@node2 ~]# cat /etc/ha.d/haresources&lt;br /&gt;node2.ha.int IPaddr::192.168.3.226/24/eth0 httpd crond&lt;br /&gt;[root@node2 ~]#&lt;br /&gt;&lt;br /&gt;ha.cf and authkeys files must be same on both machines but haresources file&lt;br /&gt;contains its own hostname on each machine, rest of the haresources file is the&lt;br /&gt;same.&lt;br /&gt;&lt;br /&gt;Remember to stop httpd service on both machines and also run the following&lt;br /&gt;commands on both machines to stop httpd and to start heartbeat at boot up.&lt;br /&gt;#chkconfig httpd off&lt;br /&gt;#chkconfig --level 35 heartbeat on&lt;br /&gt;&lt;br /&gt;Now start heartbeat&lt;br /&gt;[root@node1 ~]# /etc/init.d/heartbeat start&lt;br /&gt;Starting High-Availability services:&lt;br /&gt;2009/07/06_16:56:56 INFO: Resource is stopped&lt;br /&gt;[ OK ]&lt;br /&gt;[root@node1 ~]#&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;[root@node2 ~]# /etc/init.d/heartbeat start&lt;br /&gt;Starting High-Availability services:&lt;br /&gt;2009/07/06_17:23:53 INFO: Resource is stopped&lt;br /&gt;[ OK ]&lt;br /&gt;[root@node2 ~]#&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Best Regards&lt;br /&gt;Muhammad Farrukh</content><link rel='replies' type='application/atom+xml' href='http://mfarrukhsiddique.blogspot.com/feeds/1403087670402943280/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mfarrukhsiddique.blogspot.com/2010/01/highly-available-webservice-by-using.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6077242147986447802/posts/default/1403087670402943280'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6077242147986447802/posts/default/1403087670402943280'/><link rel='alternate' type='text/html' href='http://mfarrukhsiddique.blogspot.com/2010/01/highly-available-webservice-by-using.html' title='Highly Available WebService by using rsync with heartbeat'/><author><name>Muhammad Farrukh Siddique</name><uri>http://www.blogger.com/profile/16573866233332117170</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6077242147986447802.post-8987238965613163917</id><published>2010-01-14T22:22:00.000-08:00</published><updated>2010-01-14T22:25:56.624-08:00</updated><title type='text'>OpenLDAP Samba Domain Controller using OpenLDAP Samba SMBldap</title><content type='html'>Samba Primary Domain Controller with Open-LDAP HowTO Using OpenLDAP Samba&lt;br /&gt;&lt;br /&gt;written by: Muhammad Farrukh Siddique (LPIC)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Scenario:&lt;br /&gt;&lt;br /&gt;We are going to configure a Linux based Primary Domain Controller using Samba&lt;br /&gt;which will authenticate the domain users through LDAP&lt;br /&gt;&lt;br /&gt;Domain Name : company.xy&lt;br /&gt;&lt;br /&gt;Hostname IP-Address OPerating System&lt;br /&gt;&lt;br /&gt;dns.company.xy 192.168.3.135 RedHat-5&lt;br /&gt;ldap.company.xy 192.168.3.140 CentOS-5.3&lt;br /&gt;client1.company.xy 192.168.3.145 Windows-XP-Service Pack2&lt;br /&gt;client2.company.xy 192.168.3.150 Windows-XP-Service Pack2&lt;br /&gt;&lt;br /&gt;Default Gateway os all the servers is 192.168.3.1 which is the IP of DSL router&lt;br /&gt;for Internet&lt;br /&gt;&lt;br /&gt;Required Packages: version number:&lt;br /&gt;1).DNS packages&gt;&gt;&lt;br /&gt;bind 9.3 or higher&lt;br /&gt;bind-chroot 9.3 0r higher&lt;br /&gt;bind-utils 9.3 0r higher&lt;br /&gt;bind-libs 9.3 0r higher&lt;br /&gt;&lt;br /&gt;2).OpenLDAP packages&gt;&gt;&lt;br /&gt;openldap 2.3 or higher&lt;br /&gt;openldap-clients 2.3 or higher&lt;br /&gt;openldap-devel 2.3 or higher&lt;br /&gt;compat-openldap 2.3 or higher&lt;br /&gt;python-ldap 2.2 or higher&lt;br /&gt;ldapjdk 4.18 or higher&lt;br /&gt;php-ldap 5.1 or higher&lt;br /&gt;nss_ldap 253-17&lt;br /&gt;&lt;br /&gt;3).Samba packages&gt;&gt;&lt;br /&gt;samba 3.0 or higer&lt;br /&gt;samba-common 3.0 or higer&lt;br /&gt;samba-client 3.0 or higer&lt;br /&gt;&lt;br /&gt;4).samba-ldap tools&gt;&gt; Download Link for Perl Packages:&lt;br /&gt;&lt;a href=&quot;http://dag.wieers.com/rpm/packages/&quot;&gt;http://dag.wieers.com/rpm/packages/&lt;/a&gt;&lt;br /&gt;perl-Crypt-SmbHash 0.12-1.2.el5&lt;br /&gt;perl-Digest-SHA1 2.11-1.2.1&lt;br /&gt;perl-Jcode 2.06-1.el5&lt;br /&gt;perl-Unicode-Map 0.112-1.el5&lt;br /&gt;perl-Unicode-Map8 0.12-1.el5&lt;br /&gt;perl-Unicode-MapUTF8 1.11-1.2.el5&lt;br /&gt;perl-Unicode-String 2.09-1.2.el5&lt;br /&gt;smbldap-tools 0.9.2-1a&lt;br /&gt;Download Link:&lt;br /&gt;&lt;a href=&quot;http://nchc.dl.sourceforge.net/project/smbldap-tools/smbldap-tools/0.9.2/smbldap-tools-0.9.2-1a.noarch.rpm&quot;&gt;http://nchc.dl.sourceforge.net/project/smbldap-tools/smbldap-tools/0.9.2/smbldap\&lt;br /&gt;-tools-0.9.2-1a.noarch.rpm&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Note: currently we will disable SELINUX,Firewall,Iptables on each linux machine&lt;br /&gt;and after successful completion of our task, we will add ports tcp 53 for DNS&lt;br /&gt;and tcp 389 for ldap to make use of firewalls.&lt;br /&gt;After installing all the packages, we will configure DNS with ldap support.&lt;br /&gt;&lt;br /&gt;lets check network settings&lt;br /&gt;&lt;br /&gt;[root@dns /]# vim /etc/sysconfig/network&lt;br /&gt;NETWORKING=yes&lt;br /&gt;NETWORKING_IPV6=yes&lt;br /&gt;HOSTNAME=dns&lt;br /&gt;&lt;br /&gt;[root@dns /]# vim /etc/sysconfig/network-scripts/ifcfg-eth0&lt;br /&gt;DEVICE=eth0&lt;br /&gt;BOOTPROTO=none&lt;br /&gt;HWADDR=00:0C:29:D4:54:7D&lt;br /&gt;ONBOOT=yes&lt;br /&gt;NETMASK=255.255.255.0&lt;br /&gt;IPADDR=192.168.3.135&lt;br /&gt;GATEWAY=192.168.3.1&lt;br /&gt;TYPE=Ethernet&lt;br /&gt;USERCTL=no&lt;br /&gt;IPV6INIT=no&lt;br /&gt;PEERDNS=yes&lt;br /&gt;&lt;br /&gt;[root@dns /]# vim /etc/resolv.conf&lt;br /&gt;nameserver 192.168.3.135&lt;br /&gt;search company.xy&lt;br /&gt;&lt;br /&gt;[root@dns /]# /etc/init.d/network restart&lt;br /&gt;Shutting down interface eth0: [ OK ]&lt;br /&gt;Shutting down loopback interface: [ OK ]&lt;br /&gt;Bringing up loopback interface: [ OK ]&lt;br /&gt;Bringing up interface eth0: [ OK ]&lt;br /&gt;[root@dns /]#&lt;br /&gt;&lt;br /&gt;DNS configuration:&lt;br /&gt;[root@dns ~]# cd /var/named/chroot/etc/&lt;br /&gt;[root@dns etc]# vim named.conf&lt;br /&gt;&lt;br /&gt;options&lt;br /&gt;{&lt;br /&gt;directory &quot;/var/named&quot;; // the default&lt;br /&gt;dump-file &quot;data/cache_dump.db&quot;;&lt;br /&gt;statistics-file &quot;data/named_stats.txt&quot;;&lt;br /&gt;memstatistics-file &quot;data/named_mem_stats.txt&quot;;&lt;br /&gt;&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;zone &quot;.&quot; IN {&lt;br /&gt;type hint;&lt;br /&gt;file &quot;named.root&quot;;&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;zone &quot;localhost&quot; IN {&lt;br /&gt;type master;&lt;br /&gt;file &quot;localhost.fwd&quot;;&lt;br /&gt;allow-update { none; };&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;zone &quot;0.0.127.in-addr.arpa&quot; IN {&lt;br /&gt;type master;&lt;br /&gt;file &quot;localhost.rev&quot;;&lt;br /&gt;allow-update { none; };&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;zone &quot;company.xy&quot; IN {&lt;br /&gt;type master;&lt;br /&gt;file &quot;company.xy.fwd&quot;;&lt;br /&gt;allow-update { none; };&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;zone &quot;3.168.192.in-addr.arpa&quot; IN {&lt;br /&gt;type master;&lt;br /&gt;file &quot;company.xy.rev&quot;;&lt;br /&gt;allow-update { none; };&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Now we will create the zone files&lt;br /&gt;[root@dns etc]# cd /var/named/chroot/var/named/&lt;br /&gt;Note: About any leading spaces in front of the lines in named.root: remove them!&lt;br /&gt;Lines should start in a ;, . or character, not blanks.&lt;br /&gt;[root@dns named]# vim named.root&lt;br /&gt;&lt;br /&gt;. 6D IN NS A.ROOT-SERVERS.NET.&lt;br /&gt;. 6D IN NS B.ROOT-SERVERS.NET.&lt;br /&gt;. 6D IN NS C.ROOT-SERVERS.NET.&lt;br /&gt;. 6D IN NS D.ROOT-SERVERS.NET.&lt;br /&gt;. 6D IN NS E.ROOT-SERVERS.NET.&lt;br /&gt;. 6D IN NS F.ROOT-SERVERS.NET.&lt;br /&gt;. 6D IN NS G.ROOT-SERVERS.NET.&lt;br /&gt;. 6D IN NS H.ROOT-SERVERS.NET.&lt;br /&gt;. 6D IN NS I.ROOT-SERVERS.NET.&lt;br /&gt;. 6D IN NS J.ROOT-SERVERS.NET.&lt;br /&gt;. 6D IN NS K.ROOT-SERVERS.NET.&lt;br /&gt;. 6D IN NS L.ROOT-SERVERS.NET.&lt;br /&gt;. 6D IN NS M.ROOT-SERVERS.NET.&lt;br /&gt;A.ROOT-SERVERS.NET. 6D IN A 198.41.0.4&lt;br /&gt;B.ROOT-SERVERS.NET. 6D IN A 192.228.79.201&lt;br /&gt;C.ROOT-SERVERS.NET. 6D IN A 192.33.4.12&lt;br /&gt;D.ROOT-SERVERS.NET. 6D IN A 128.8.10.90&lt;br /&gt;E.ROOT-SERVERS.NET. 6D IN A 192.203.230.10&lt;br /&gt;F.ROOT-SERVERS.NET. 6D IN A 192.5.5.241&lt;br /&gt;G.ROOT-SERVERS.NET. 6D IN A 192.112.36.4&lt;br /&gt;H.ROOT-SERVERS.NET. 6D IN A 128.63.2.53&lt;br /&gt;I.ROOT-SERVERS.NET. 6D IN A 192.36.148.17&lt;br /&gt;J.ROOT-SERVERS.NET. 6D IN A 192.58.128.30&lt;br /&gt;K.ROOT-SERVERS.NET. 6D IN A 193.0.14.129&lt;br /&gt;L.ROOT-SERVERS.NET. 6D IN A 199.7.83.42&lt;br /&gt;M.ROOT-SERVERS.NET. 6D IN A 202.12.27.33&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;[root@dns named]# vim localhost.fwd&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;$ORIGIN localhost.&lt;br /&gt;$TTL 86400&lt;br /&gt;@ IN SOA dns.company.xy. hostmaster.company.xy. (&lt;br /&gt;20090526 ; Serial number&lt;br /&gt;3H ; Refresh 1 day&lt;br /&gt;15M ; Retry 2 hours&lt;br /&gt;1W ; Expire 41.67 days&lt;br /&gt;1D ) ; Minimum TTL 2 days&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;@ IN NS dns.company.xy.&lt;br /&gt;&lt;br /&gt;localhost. IN A 127.0.0.1&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;[root@dns named]# vim localhost.rev&lt;br /&gt;&lt;br /&gt;$ORIGIN 0.0.127.in-addr.arpa.&lt;br /&gt;$TTL 86400&lt;br /&gt;@ IN SOA dns.company.xy. hostmaster.company.xy. (&lt;br /&gt;20090526 ; Serial number&lt;br /&gt;3H ; Refresh 1 day&lt;br /&gt;15M ; Retry 2 hours&lt;br /&gt;1W ; Expire 41.67 days&lt;br /&gt;1D ) ; Minimum TTL 2 days&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;@ IN NS dns.company.xy.&lt;br /&gt;&lt;br /&gt;1.0.0.127.in-addr.arpa. IN PTR localhost.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;[root@dns named]# vim company.xy.fwd&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;$ORIGIN company.xy.&lt;br /&gt;$TTL 86400&lt;br /&gt;@ IN SOA dns.company.xy. hostmaster.company.xy. (&lt;br /&gt;20090526 ; Serial number&lt;br /&gt;3H ; Refresh 1 day&lt;br /&gt;15M ; Retry 2 hours&lt;br /&gt;1W ; Expire 41.67 days&lt;br /&gt;1D ) ; Minimum TTL 2 days&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;@ IN NS dns.company.xy.&lt;br /&gt;&lt;br /&gt;dns.company.xy. IN A 192.168.3.135&lt;br /&gt;ldap.company.xy. IN A 192.168.3.140&lt;br /&gt;client1.company.xy. IN A 192.168.3.145&lt;br /&gt;client2.company.xy. IN A 192.168.3.150&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;_ldap._tcp.company.xy. SRV 0 0 389 ldap.company.xy.&lt;br /&gt;_ldap._tcp.dc._msdcs.company.xy. SRV 0 0 389 ldap.company.xy.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;[root@dns named]# vim company.xy.rev&lt;br /&gt;&lt;br /&gt;$ORIGIN 3.168.192.in-addr.arpa.&lt;br /&gt;$TTL 86400&lt;br /&gt;@ IN SOA dns.company.xy. hostmaster.company.xy. (&lt;br /&gt;20090526 ; Serial number&lt;br /&gt;3H ; Refresh 1 day&lt;br /&gt;15M ; Retry 2 hours&lt;br /&gt;1W ; Expire 41.67 days&lt;br /&gt;1D ) ; Minimum TTL 2 days&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;@ IN NS dns.company.xy.&lt;br /&gt;&lt;br /&gt;135.3.168.192.in-addr.arpa. IN PTR dns.company.xy.&lt;br /&gt;140.3.168.192.in-addr.arpa. IN PTR ldap.company.xy.&lt;br /&gt;145.3.168.192.in-addr.arpa. IN PTR client1.company.xy.&lt;br /&gt;150.3.168.192.in-addr.arpa. IN PTR client2.company.xy.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;now run the dns daemon i.e named&lt;br /&gt;&lt;br /&gt;[root@dns named]# /etc/init.d/named start&lt;br /&gt;Starting named: [ OK ]&lt;br /&gt;[root@dns named]#&lt;br /&gt;&lt;br /&gt;make it sure that named service will run automatically at startup&lt;br /&gt;&lt;br /&gt;[root@dns named]# chkconfig --level 235 named on&lt;br /&gt;&lt;br /&gt;now we will test our newly configured dns&lt;br /&gt;&lt;br /&gt;[root@dns named]# nslookup&lt;br /&gt;&gt; dns&lt;br /&gt;Server: 192.168.3.135&lt;br /&gt;Address: 192.168.3.135#53&lt;br /&gt;&lt;br /&gt;Name: dns.company.xy&lt;br /&gt;Address: 192.168.3.135&lt;br /&gt;&gt; ldap&lt;br /&gt;Server: 192.168.3.135&lt;br /&gt;Address: 192.168.3.135#53&lt;br /&gt;&lt;br /&gt;Name: ldap.company.xy&lt;br /&gt;Address: 192.168.3.140&lt;br /&gt;&gt; 192.168.3.135&lt;br /&gt;Server: 192.168.3.135&lt;br /&gt;Address: 192.168.3.135#53&lt;br /&gt;&lt;br /&gt;135.3.168.192.in-addr.arpa name = dns.company.xy.&lt;br /&gt;&gt; 192.168.3.140&lt;br /&gt;Server: 192.168.3.135&lt;br /&gt;Address: 192.168.3.135#53&lt;br /&gt;&lt;br /&gt;140.3.168.192.in-addr.arpa name = ldap.company.xy.&lt;br /&gt;&gt; exit&lt;br /&gt;&lt;br /&gt;[root@dns named]#&lt;br /&gt;&lt;br /&gt;Everything is fine Alhamdulillah&lt;br /&gt;&lt;br /&gt;***********************************************&lt;br /&gt;&lt;br /&gt;Lets configure Primary Domain Controller&lt;br /&gt;&lt;br /&gt;first of all check the network settings&lt;br /&gt;&lt;br /&gt;[root@ldap /]# vim /etc/sysconfig/network&lt;br /&gt;NETWORKING=yes&lt;br /&gt;NETWORKING_IPV6=no&lt;br /&gt;HOSTNAME=ldap.company.xy&lt;br /&gt;&lt;br /&gt;[root@ldap /]# vim /etc/sysconfig/network-scripts/ifcfg-eth0&lt;br /&gt;DEVICE=eth0&lt;br /&gt;BOOTPROTO=none&lt;br /&gt;HWADDR=00:0C:29:0D:56:74&lt;br /&gt;ONBOOT=yes&lt;br /&gt;TYPE=Ethernet&lt;br /&gt;NETMASK=255.255.255.0&lt;br /&gt;IPADDR=192.168.3.140&lt;br /&gt;GATEWAY=192.168.3.1&lt;br /&gt;USERCTL=no&lt;br /&gt;IPV6INIT=no&lt;br /&gt;PEERDNS=yes&lt;br /&gt;&lt;br /&gt;[root@ldap /]# vim /etc/resolv.conf&lt;br /&gt;nameserver 192.168.3.135&lt;br /&gt;search company.xy&lt;br /&gt;&lt;br /&gt;[root@ldap /]# hostname&lt;br /&gt;ldap.company.xy&lt;br /&gt;[root@ldap /]#&lt;br /&gt;&lt;br /&gt;now restart the network service&lt;br /&gt;&lt;br /&gt;[root@ldap /]# /etc/init.d/network restart&lt;br /&gt;Shutting down interface eth0: [ OK ]&lt;br /&gt;Shutting down loopback interface: [ OK ]&lt;br /&gt;Bringing up loopback interface: [ OK ]&lt;br /&gt;Bringing up interface eth0: [ OK ]&lt;br /&gt;[root@ldap /]#&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Add samba.schema file to /etc/openldap/schema/ directory&lt;br /&gt;&lt;br /&gt;[root@ldap ~]# cd /etc/openldap/schema/&lt;br /&gt;[root@ldap schema]# vim samba.schema&lt;br /&gt;&lt;br /&gt;now copy the below schema context and paste it in samba.schema file, remember to&lt;br /&gt;press i from keyboard before you paste the context.&lt;br /&gt;&lt;br /&gt;#######################################################################&lt;br /&gt;## Attributes used by Samba 3.0 schema ##&lt;br /&gt;#######################################################################&lt;br /&gt;&lt;br /&gt;##&lt;br /&gt;## Password hashes&lt;br /&gt;##&lt;br /&gt;attributetype ( 1.3.6.1.4.1.7165.2.1.24 NAME &#39;sambaLMPassword&#39;&lt;br /&gt;DESC &#39;LanManager Password&#39;&lt;br /&gt;EQUALITY caseIgnoreIA5Match&lt;br /&gt;SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{32} SINGLE-VALUE )&lt;br /&gt;&lt;br /&gt;attributetype ( 1.3.6.1.4.1.7165.2.1.25 NAME &#39;sambaNTPassword&#39;&lt;br /&gt;DESC &#39;MD4 hash of the unicode password&#39;&lt;br /&gt;EQUALITY caseIgnoreIA5Match&lt;br /&gt;SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{32} SINGLE-VALUE )&lt;br /&gt;&lt;br /&gt;##&lt;br /&gt;## Account flags in string format ([UWDX ])&lt;br /&gt;##&lt;br /&gt;attributetype ( 1.3.6.1.4.1.7165.2.1.26 NAME &#39;sambaAcctFlags&#39;&lt;br /&gt;DESC &#39;Account Flags&#39;&lt;br /&gt;EQUALITY caseIgnoreIA5Match&lt;br /&gt;SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{16} SINGLE-VALUE )&lt;br /&gt;&lt;br /&gt;##&lt;br /&gt;## Password timestamps &amp;amp; policies&lt;br /&gt;##&lt;br /&gt;attributetype ( 1.3.6.1.4.1.7165.2.1.27 NAME &#39;sambaPwdLastSet&#39;&lt;br /&gt;DESC &#39;Timestamp of the last password update&#39;&lt;br /&gt;EQUALITY integerMatch&lt;br /&gt;SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )&lt;br /&gt;&lt;br /&gt;attributetype ( 1.3.6.1.4.1.7165.2.1.28 NAME &#39;sambaPwdCanChange&#39;&lt;br /&gt;DESC &#39;Timestamp of when the user is allowed to update the password&#39;&lt;br /&gt;EQUALITY integerMatch&lt;br /&gt;SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )&lt;br /&gt;&lt;br /&gt;attributetype ( 1.3.6.1.4.1.7165.2.1.29 NAME &#39;sambaPwdMustChange&#39;&lt;br /&gt;DESC &#39;Timestamp of when the password will expire&#39;&lt;br /&gt;EQUALITY integerMatch&lt;br /&gt;SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )&lt;br /&gt;&lt;br /&gt;attributetype ( 1.3.6.1.4.1.7165.2.1.30 NAME &#39;sambaLogonTime&#39;&lt;br /&gt;DESC &#39;Timestamp of last logon&#39;&lt;br /&gt;EQUALITY integerMatch&lt;br /&gt;SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )&lt;br /&gt;&lt;br /&gt;attributetype ( 1.3.6.1.4.1.7165.2.1.31 NAME &#39;sambaLogoffTime&#39;&lt;br /&gt;DESC &#39;Timestamp of last logoff&#39;&lt;br /&gt;EQUALITY integerMatch&lt;br /&gt;SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )&lt;br /&gt;&lt;br /&gt;attributetype ( 1.3.6.1.4.1.7165.2.1.32 NAME &#39;sambaKickoffTime&#39;&lt;br /&gt;DESC &#39;Timestamp of when the user will be logged off automatically&#39;&lt;br /&gt;EQUALITY integerMatch&lt;br /&gt;SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )&lt;br /&gt;&lt;br /&gt;attributetype ( 1.3.6.1.4.1.7165.2.1.48 NAME &#39;sambaBadPasswordCount&#39;&lt;br /&gt;DESC &#39;Bad password attempt count&#39;&lt;br /&gt;EQUALITY integerMatch&lt;br /&gt;SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )&lt;br /&gt;&lt;br /&gt;attributetype ( 1.3.6.1.4.1.7165.2.1.49 NAME &#39;sambaBadPasswordTime&#39;&lt;br /&gt;DESC &#39;Time of the last bad password attempt&#39;&lt;br /&gt;EQUALITY integerMatch&lt;br /&gt;SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )&lt;br /&gt;&lt;br /&gt;attributetype ( 1.3.6.1.4.1.7165.2.1.55 NAME &#39;sambaLogonHours&#39;&lt;br /&gt;DESC &#39;Logon Hours&#39;&lt;br /&gt;EQUALITY caseIgnoreIA5Match&lt;br /&gt;SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{42} SINGLE-VALUE )&lt;br /&gt;&lt;br /&gt;##&lt;br /&gt;## string settings&lt;br /&gt;##&lt;br /&gt;attributetype ( 1.3.6.1.4.1.7165.2.1.33 NAME &#39;sambaHomeDrive&#39;&lt;br /&gt;DESC &#39;Driver letter of home directory mapping&#39;&lt;br /&gt;EQUALITY caseIgnoreIA5Match&lt;br /&gt;SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{4} SINGLE-VALUE )&lt;br /&gt;&lt;br /&gt;attributetype ( 1.3.6.1.4.1.7165.2.1.34 NAME &#39;sambaLogonScript&#39;&lt;br /&gt;DESC &#39;Logon script path&#39;&lt;br /&gt;EQUALITY caseIgnoreMatch&lt;br /&gt;SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{255} SINGLE-VALUE )&lt;br /&gt;&lt;br /&gt;attributetype ( 1.3.6.1.4.1.7165.2.1.35 NAME &#39;sambaProfilePath&#39;&lt;br /&gt;DESC &#39;Roaming profile path&#39;&lt;br /&gt;EQUALITY caseIgnoreMatch&lt;br /&gt;SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{255} SINGLE-VALUE )&lt;br /&gt;&lt;br /&gt;attributetype ( 1.3.6.1.4.1.7165.2.1.36 NAME &#39;sambaUserWorkstations&#39;&lt;br /&gt;DESC &#39;List of user workstations the user is allowed to logon to&#39;&lt;br /&gt;EQUALITY caseIgnoreMatch&lt;br /&gt;SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{255} SINGLE-VALUE )&lt;br /&gt;&lt;br /&gt;attributetype ( 1.3.6.1.4.1.7165.2.1.37 NAME &#39;sambaHomePath&#39;&lt;br /&gt;DESC &#39;Home directory UNC path&#39;&lt;br /&gt;EQUALITY caseIgnoreMatch&lt;br /&gt;SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{128} )&lt;br /&gt;&lt;br /&gt;attributetype ( 1.3.6.1.4.1.7165.2.1.38 NAME &#39;sambaDomainName&#39;&lt;br /&gt;DESC &#39;Windows NT domain to which the user belongs&#39;&lt;br /&gt;EQUALITY caseIgnoreMatch&lt;br /&gt;SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{128} )&lt;br /&gt;&lt;br /&gt;attributetype ( 1.3.6.1.4.1.7165.2.1.47 NAME &#39;sambaMungedDial&#39;&lt;br /&gt;DESC &#39;Base64 encoded user parameter string&#39;&lt;br /&gt;EQUALITY caseExactMatch&lt;br /&gt;SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{1050} )&lt;br /&gt;&lt;br /&gt;attributetype ( 1.3.6.1.4.1.7165.2.1.54 NAME &#39;sambaPasswordHistory&#39;&lt;br /&gt;DESC &#39;Concatenated MD5 hashes of the salted NT passwords used on this account&#39;&lt;br /&gt;EQUALITY caseIgnoreIA5Match&lt;br /&gt;SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{32} )&lt;br /&gt;&lt;br /&gt;##&lt;br /&gt;## SID, of any type&lt;br /&gt;##&lt;br /&gt;&lt;br /&gt;attributetype ( 1.3.6.1.4.1.7165.2.1.20 NAME &#39;sambaSID&#39;&lt;br /&gt;DESC &#39;Security ID&#39;&lt;br /&gt;EQUALITY caseIgnoreIA5Match&lt;br /&gt;SUBSTR caseExactIA5SubstringsMatch&lt;br /&gt;SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{64} SINGLE-VALUE )&lt;br /&gt;&lt;br /&gt;##&lt;br /&gt;## Primary group SID, compatible with ntSid&lt;br /&gt;##&lt;br /&gt;&lt;br /&gt;attributetype ( 1.3.6.1.4.1.7165.2.1.23 NAME &#39;sambaPrimaryGroupSID&#39;&lt;br /&gt;DESC &#39;Primary Group Security ID&#39;&lt;br /&gt;EQUALITY caseIgnoreIA5Match&lt;br /&gt;SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{64} SINGLE-VALUE )&lt;br /&gt;&lt;br /&gt;attributetype ( 1.3.6.1.4.1.7165.2.1.51 NAME &#39;sambaSIDList&#39;&lt;br /&gt;DESC &#39;Security ID List&#39;&lt;br /&gt;EQUALITY caseIgnoreIA5Match&lt;br /&gt;SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{64} )&lt;br /&gt;&lt;br /&gt;##&lt;br /&gt;## group mapping attributes&lt;br /&gt;##&lt;br /&gt;attributetype ( 1.3.6.1.4.1.7165.2.1.19 NAME &#39;sambaGroupType&#39;&lt;br /&gt;DESC &#39;NT Group Type&#39;&lt;br /&gt;EQUALITY integerMatch&lt;br /&gt;SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )&lt;br /&gt;&lt;br /&gt;##&lt;br /&gt;## Store info on the domain&lt;br /&gt;##&lt;br /&gt;&lt;br /&gt;attributetype ( 1.3.6.1.4.1.7165.2.1.21 NAME &#39;sambaNextUserRid&#39;&lt;br /&gt;DESC &#39;Next NT rid to give our for users&#39;&lt;br /&gt;EQUALITY integerMatch&lt;br /&gt;SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )&lt;br /&gt;&lt;br /&gt;attributetype ( 1.3.6.1.4.1.7165.2.1.22 NAME &#39;sambaNextGroupRid&#39;&lt;br /&gt;DESC &#39;Next NT rid to give out for groups&#39;&lt;br /&gt;EQUALITY integerMatch&lt;br /&gt;SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )&lt;br /&gt;&lt;br /&gt;attributetype ( 1.3.6.1.4.1.7165.2.1.39 NAME &#39;sambaNextRid&#39;&lt;br /&gt;DESC &#39;Next NT rid to give out for anything&#39;&lt;br /&gt;EQUALITY integerMatch&lt;br /&gt;SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )&lt;br /&gt;&lt;br /&gt;attributetype ( 1.3.6.1.4.1.7165.2.1.40 NAME &#39;sambaAlgorithmicRidBase&#39;&lt;br /&gt;DESC &#39;Base at which the samba RID generation algorithm should operate&#39;&lt;br /&gt;EQUALITY integerMatch&lt;br /&gt;SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )&lt;br /&gt;&lt;br /&gt;attributetype ( 1.3.6.1.4.1.7165.2.1.41 NAME &#39;sambaShareName&#39;&lt;br /&gt;DESC &#39;Share Name&#39;&lt;br /&gt;EQUALITY caseIgnoreMatch&lt;br /&gt;SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE )&lt;br /&gt;&lt;br /&gt;attributetype ( 1.3.6.1.4.1.7165.2.1.42 NAME &#39;sambaOptionName&#39;&lt;br /&gt;DESC &#39;Option Name&#39;&lt;br /&gt;EQUALITY caseIgnoreMatch&lt;br /&gt;SUBSTR caseIgnoreSubstringsMatch&lt;br /&gt;SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{256} )&lt;br /&gt;&lt;br /&gt;attributetype ( 1.3.6.1.4.1.7165.2.1.43 NAME &#39;sambaBoolOption&#39;&lt;br /&gt;DESC &#39;A boolean option&#39;&lt;br /&gt;EQUALITY booleanMatch&lt;br /&gt;SYNTAX 1.3.6.1.4.1.1466.115.121.1.7 SINGLE-VALUE )&lt;br /&gt;&lt;br /&gt;attributetype ( 1.3.6.1.4.1.7165.2.1.44 NAME &#39;sambaIntegerOption&#39;&lt;br /&gt;DESC &#39;An integer option&#39;&lt;br /&gt;EQUALITY integerMatch&lt;br /&gt;SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )&lt;br /&gt;&lt;br /&gt;attributetype ( 1.3.6.1.4.1.7165.2.1.45 NAME &#39;sambaStringOption&#39;&lt;br /&gt;DESC &#39;A string option&#39;&lt;br /&gt;EQUALITY caseExactIA5Match&lt;br /&gt;SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )&lt;br /&gt;&lt;br /&gt;attributetype ( 1.3.6.1.4.1.7165.2.1.46 NAME &#39;sambaStringListOption&#39;&lt;br /&gt;DESC &#39;A string list option&#39;&lt;br /&gt;EQUALITY caseIgnoreMatch&lt;br /&gt;SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;##attributetype ( 1.3.6.1.4.1.7165.2.1.50 NAME &#39;sambaPrivName&#39;&lt;br /&gt;## SUP name )&lt;br /&gt;&lt;br /&gt;##attributetype ( 1.3.6.1.4.1.7165.2.1.52 NAME &#39;sambaPrivilegeList&#39;&lt;br /&gt;## DESC &#39;Privileges List&#39;&lt;br /&gt;## EQUALITY caseIgnoreIA5Match&lt;br /&gt;## SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{64} )&lt;br /&gt;&lt;br /&gt;attributetype ( 1.3.6.1.4.1.7165.2.1.53 NAME &#39;sambaTrustFlags&#39;&lt;br /&gt;DESC &#39;Trust Password Flags&#39;&lt;br /&gt;EQUALITY caseIgnoreIA5Match&lt;br /&gt;SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )&lt;br /&gt;&lt;br /&gt;# &quot;min password length&quot;&lt;br /&gt;attributetype ( 1.3.6.1.4.1.7165.2.1.58 NAME &#39;sambaMinPwdLength&#39;&lt;br /&gt;DESC &#39;Minimal password length (default: 5)&#39;&lt;br /&gt;EQUALITY integerMatch&lt;br /&gt;SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )&lt;br /&gt;&lt;br /&gt;# &quot;password history&quot;&lt;br /&gt;attributetype ( 1.3.6.1.4.1.7165.2.1.59 NAME &#39;sambaPwdHistoryLength&#39;&lt;br /&gt;DESC &#39;Length of Password History Entries (default: 0 =&gt; off)&#39;&lt;br /&gt;EQUALITY integerMatch&lt;br /&gt;SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )&lt;br /&gt;&lt;br /&gt;# &quot;user must logon to change password&quot;&lt;br /&gt;attributetype ( 1.3.6.1.4.1.7165.2.1.60 NAME &#39;sambaLogonToChgPwd&#39;&lt;br /&gt;DESC &#39;Force Users to logon for password change (default: 0 =&gt; off, 2 =&gt; on)&#39;&lt;br /&gt;EQUALITY integerMatch&lt;br /&gt;SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )&lt;br /&gt;&lt;br /&gt;# &quot;maximum password age&quot;&lt;br /&gt;attributetype ( 1.3.6.1.4.1.7165.2.1.61 NAME &#39;sambaMaxPwdAge&#39;&lt;br /&gt;DESC &#39;Maximum password age, in seconds (default: -1 =&gt; never expire passwords)&#39;&lt;br /&gt;EQUALITY integerMatch&lt;br /&gt;SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )&lt;br /&gt;&lt;br /&gt;# &quot;minimum password age&quot;&lt;br /&gt;attributetype ( 1.3.6.1.4.1.7165.2.1.62 NAME &#39;sambaMinPwdAge&#39;&lt;br /&gt;DESC &#39;Minimum password age, in seconds (default: 0 =&gt; allow immediate password&lt;br /&gt;change)&#39;&lt;br /&gt;EQUALITY integerMatch&lt;br /&gt;SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )&lt;br /&gt;&lt;br /&gt;# &quot;lockout duration&quot;&lt;br /&gt;attributetype ( 1.3.6.1.4.1.7165.2.1.63 NAME &#39;sambaLockoutDuration&#39;&lt;br /&gt;DESC &#39;Lockout duration in minutes (default: 30, -1 =&gt; forever)&#39;&lt;br /&gt;EQUALITY integerMatch&lt;br /&gt;SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )&lt;br /&gt;&lt;br /&gt;# &quot;reset count minutes&quot;&lt;br /&gt;attributetype ( 1.3.6.1.4.1.7165.2.1.64 NAME &#39;sambaLockoutObservationWindow&#39;&lt;br /&gt;DESC &#39;Reset time after lockout in minutes (default: 30)&#39;&lt;br /&gt;EQUALITY integerMatch&lt;br /&gt;SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )&lt;br /&gt;&lt;br /&gt;# &quot;bad lockout attempt&quot;&lt;br /&gt;attributetype ( 1.3.6.1.4.1.7165.2.1.65 NAME &#39;sambaLockoutThreshold&#39;&lt;br /&gt;DESC &#39;Lockout users after bad logon attempts (default: 0 =&gt; off)&#39;&lt;br /&gt;EQUALITY integerMatch&lt;br /&gt;SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )&lt;br /&gt;&lt;br /&gt;# &quot;disconnect time&quot;&lt;br /&gt;attributetype ( 1.3.6.1.4.1.7165.2.1.66 NAME &#39;sambaForceLogoff&#39;&lt;br /&gt;DESC &#39;Disconnect Users outside logon hours (default: -1 =&gt; off, 0 =&gt; on)&#39;&lt;br /&gt;EQUALITY integerMatch&lt;br /&gt;SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )&lt;br /&gt;&lt;br /&gt;# &quot;refuse machine password change&quot;&lt;br /&gt;attributetype ( 1.3.6.1.4.1.7165.2.1.67 NAME &#39;sambaRefuseMachinePwdChange&#39;&lt;br /&gt;DESC &#39;Allow Machine Password changes (default: 0 =&gt; off)&#39;&lt;br /&gt;EQUALITY integerMatch&lt;br /&gt;SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;#######################################################################&lt;br /&gt;## objectClasses used by Samba 3.0 schema ##&lt;br /&gt;#######################################################################&lt;br /&gt;&lt;br /&gt;## The X.500 data model (and therefore LDAPv3) says that each entry can&lt;br /&gt;## only have one structural objectclass. OpenLDAP 2.0 does not enforce&lt;br /&gt;## this currently but will in v2.1&lt;br /&gt;&lt;br /&gt;##&lt;br /&gt;## added new objectclass (and OID) for 3.0 to help us deal with backwards&lt;br /&gt;## compatibility with 2.2 installations (e.g. ldapsam_compat) --jerry&lt;br /&gt;##&lt;br /&gt;objectclass ( 1.3.6.1.4.1.7165.2.2.6 NAME &#39;sambaSamAccount&#39; SUP top AUXILIARY&lt;br /&gt;DESC &#39;Samba 3.0 Auxilary SAM Account&#39;&lt;br /&gt;MUST ( uid $ sambaSID )&lt;br /&gt;MAY ( cn $ sambaLMPassword $ sambaNTPassword $ sambaPwdLastSet $&lt;br /&gt;sambaLogonTime $ sambaLogoffTime $ sambaKickoffTime $&lt;br /&gt;sambaPwdCanChange $ sambaPwdMustChange $ sambaAcctFlags $&lt;br /&gt;displayName $ sambaHomePath $ sambaHomeDrive $ sambaLogonScript $&lt;br /&gt;sambaProfilePath $ description $ sambaUserWorkstations $&lt;br /&gt;sambaPrimaryGroupSID $ sambaDomainName $ sambaMungedDial $&lt;br /&gt;sambaBadPasswordCount $ sambaBadPasswordTime $&lt;br /&gt;sambaPasswordHistory $ sambaLogonHours))&lt;br /&gt;&lt;br /&gt;##&lt;br /&gt;## Group mapping info&lt;br /&gt;##&lt;br /&gt;objectclass ( 1.3.6.1.4.1.7165.2.2.4 NAME &#39;sambaGroupMapping&#39; SUP top AUXILIARY&lt;br /&gt;DESC &#39;Samba Group Mapping&#39;&lt;br /&gt;MUST ( gidNumber $ sambaSID $ sambaGroupType )&lt;br /&gt;MAY ( displayName $ description $ sambaSIDList ))&lt;br /&gt;&lt;br /&gt;##&lt;br /&gt;## Trust password for trust relationships (any kind)&lt;br /&gt;##&lt;br /&gt;objectclass ( 1.3.6.1.4.1.7165.2.2.14 NAME &#39;sambaTrustPassword&#39; SUP top&lt;br /&gt;STRUCTURAL&lt;br /&gt;DESC &#39;Samba Trust Password&#39;&lt;br /&gt;MUST ( sambaDomainName $ sambaNTPassword $ sambaTrustFlags )&lt;br /&gt;MAY ( sambaSID $ sambaPwdLastSet ))&lt;br /&gt;&lt;br /&gt;##&lt;br /&gt;## Whole-of-domain info&lt;br /&gt;##&lt;br /&gt;objectclass ( 1.3.6.1.4.1.7165.2.2.5 NAME &#39;sambaDomain&#39; SUP top STRUCTURAL&lt;br /&gt;DESC &#39;Samba Domain Information&#39;&lt;br /&gt;MUST ( sambaDomainName $&lt;br /&gt;sambaSID )&lt;br /&gt;MAY ( sambaNextRid $ sambaNextGroupRid $ sambaNextUserRid $&lt;br /&gt;sambaAlgorithmicRidBase $&lt;br /&gt;sambaMinPwdLength $ sambaPwdHistoryLength $ sambaLogonToChgPwd $&lt;br /&gt;sambaMaxPwdAge $ sambaMinPwdAge $&lt;br /&gt;sambaLockoutDuration $ sambaLockoutObservationWindow $&lt;br /&gt;sambaLockoutThreshold $&lt;br /&gt;sambaForceLogoff $ sambaRefuseMachinePwdChange ))&lt;br /&gt;&lt;br /&gt;##&lt;br /&gt;## used for idmap_ldap module&lt;br /&gt;##&lt;br /&gt;objectclass ( 1.3.6.1.4.1.7165.2.2.7 NAME &#39;sambaUnixIdPool&#39; SUP top AUXILIARY&lt;br /&gt;DESC &#39;Pool for allocating UNIX uids/gids&#39;&lt;br /&gt;MUST ( uidNumber $ gidNumber ) )&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;objectclass ( 1.3.6.1.4.1.7165.2.2.8 NAME &#39;sambaIdmapEntry&#39; SUP top AUXILIARY&lt;br /&gt;DESC &#39;Mapping from a SID to an ID&#39;&lt;br /&gt;MUST ( sambaSID )&lt;br /&gt;MAY ( uidNumber $ gidNumber ) )&lt;br /&gt;&lt;br /&gt;objectclass ( 1.3.6.1.4.1.7165.2.2.9 NAME &#39;sambaSidEntry&#39; SUP top STRUCTURAL&lt;br /&gt;DESC &#39;Structural Class for a SID&#39;&lt;br /&gt;MUST ( sambaSID ) )&lt;br /&gt;&lt;br /&gt;objectclass ( 1.3.6.1.4.1.7165.2.2.10 NAME &#39;sambaConfig&#39; SUP top AUXILIARY&lt;br /&gt;DESC &#39;Samba Configuration Section&#39;&lt;br /&gt;MAY ( description ) )&lt;br /&gt;&lt;br /&gt;objectclass ( 1.3.6.1.4.1.7165.2.2.11 NAME &#39;sambaShare&#39; SUP top STRUCTURAL&lt;br /&gt;DESC &#39;Samba Share Section&#39;&lt;br /&gt;MUST ( sambaShareName )&lt;br /&gt;MAY ( description ) )&lt;br /&gt;&lt;br /&gt;objectclass ( 1.3.6.1.4.1.7165.2.2.12 NAME &#39;sambaConfigOption&#39; SUP top&lt;br /&gt;STRUCTURAL&lt;br /&gt;DESC &#39;Samba Configuration Option&#39;&lt;br /&gt;MUST ( sambaOptionName )&lt;br /&gt;MAY ( sambaBoolOption $ sambaIntegerOption $ sambaStringOption $&lt;br /&gt;sambaStringListoption $ description ) )&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;now add samba.schema entry in ldap configuration file slapd.conf and also some&lt;br /&gt;other attributes&lt;br /&gt;&lt;br /&gt;[root@ldap ~]# cd /etc/openldap/&lt;br /&gt;[root@ldap openldap]# vim slapd.conf&lt;br /&gt;&lt;br /&gt;include /etc/openldap/schema/core.schema&lt;br /&gt;include /etc/openldap/schema/cosine.schema&lt;br /&gt;include /etc/openldap/schema/inetorgperson.schema&lt;br /&gt;include /etc/openldap/schema/nis.schema&lt;br /&gt;include /etc/openldap/schema/samba.schema&lt;br /&gt;&lt;br /&gt;# Allow LDAPv2 client connections. This is NOT the default.&lt;br /&gt;allow bind_v2&lt;br /&gt;&lt;br /&gt;loglevel -1&lt;br /&gt;&lt;br /&gt;pidfile /var/run/openldap/slapd.pid&lt;br /&gt;argsfile /var/run/openldap/slapd.args&lt;br /&gt;&lt;br /&gt;access to attrs=userPassword,sambaLMPassword,sambaNTPassword&lt;br /&gt;by selfwrite&lt;br /&gt;by anonymous auth&lt;br /&gt;#access to *&lt;br /&gt;#access to âˆ—&lt;br /&gt;by * none&lt;br /&gt;by âˆ— read&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;#slapdAtts.conf Section&lt;br /&gt;&lt;br /&gt;# any u s e r s can a u t h e n t i c a t e and change h i s password&lt;br /&gt;access to&lt;br /&gt;attrs=userPassword,sambaNTPassword,sambaLMPassword,sambaPwdLastSet,sambaPwdMustC\&lt;br /&gt;hange&lt;br /&gt;by dn=&quot;cn=samba,ou=DSA,dc=company,dc=xy&quot; write&lt;br /&gt;by dn=&quot;cn=smbtools,ou=DSA,dc=company,dc=xy&quot; write&lt;br /&gt;by dn=&quot;cn=nssldap,ou=DSA,dc=company, dc=xy&quot; write&lt;br /&gt;by selfwrite&lt;br /&gt;by anonymous auth&lt;br /&gt;&lt;br /&gt;# by âˆ— none&lt;br /&gt;# by * read&lt;br /&gt;&lt;br /&gt;# some a t t r i b u t e s need t o be r e a d a b l e anonymously s o t h a t&lt;br /&gt;â€™ i d u s e r â€™ can answer c o r r e c t l y&lt;br /&gt;&lt;br /&gt;access to&lt;br /&gt;attrs=objectClass,entry,homeDirectory,uid,uidNumber,gidNumber,memberUid&lt;br /&gt;by dn=&quot;cn=samba,ou=DSA,dc=company,dc=xy&quot; write&lt;br /&gt;by dn=&quot;cn=smbtools,ou=DSA,dc=company,dc=xy&quot; write&lt;br /&gt;# by âˆ— read&lt;br /&gt;&lt;br /&gt;# somme a t t r i b u t e s can be w r i t a b l e by u s e r s t h e m s e l v&lt;br /&gt;e s&lt;br /&gt;access to&lt;br /&gt;attrs=description,telephoneNumber,roomNumber,homePhone,loginShell,gecos,cn,sn,gi\&lt;br /&gt;venname&lt;br /&gt;by dn=&quot;cn=samba,ou=DSA,dc=company,dc=xy&quot; write&lt;br /&gt;by dn=&quot;cn=smbtools,ou=DSA,dc=company,dc=xy&quot; write&lt;br /&gt;by selfwrite&lt;br /&gt;# by âˆ— read&lt;br /&gt;# some a t t r i b u t e s need t o be w r i t a b l e f o r samba&lt;br /&gt;access to&lt;br /&gt;attrs=cn,sambaLMPassword,sambaNTPassword,sambaPwdLastSet,sambaLogonTime,sambaLog\&lt;br /&gt;offTime,sambaKickoffTime,sambaPwdCanChange,sambaPwdMustChange,sambaAcctFlags,dis\&lt;br /&gt;playName,sambaHomePath,sambaHomeDrive,sambaLogonScript,sambaProfilePath,descript\&lt;br /&gt;ion,sambaUserWorkstations,sambaPrimaryGroupSID,sambaDomainName,sambaMungedDial,s\&lt;br /&gt;ambaBadPasswordCount,sambaBadPasswordTime,sambaPasswordHistory,sambaLogonHours,s\&lt;br /&gt;ambaSID,sambaSIDList,sambaTrustFlags,sambaGroupType,sambaNextRid,sambaNextGroupR\&lt;br /&gt;id,sambaNextUserRid,sambaAlgorithmicRidBase,sambaShareName,sambaOptionName,samba\&lt;br /&gt;BoolOption,sambaIntegerOption,sambaStringOption,sambaStringListoption&lt;br /&gt;by dn=&quot;cn=samba,ou=DSA,dc=company,dc=xy&quot; write&lt;br /&gt;by dn=&quot;cn=smbtools,ou=DSA,dc=company,dc=xy&quot; write&lt;br /&gt;by selfread&lt;br /&gt;# by âˆ— none&lt;br /&gt;&lt;br /&gt;# samba need t o be a b l e t o c r e a t e t h e samba domain a c c o u n t&lt;br /&gt;access to dn.base=&quot;dc=company,dc=xy&quot;&lt;br /&gt;by dn=&quot;cn=samba,ou=DSA,dc=company,dc=xy&quot; write&lt;br /&gt;by dn=&quot;cn=smbtools,ou=DSA,dc=company,dc=xy&quot; write&lt;br /&gt;# by âˆ— none&lt;br /&gt;&lt;br /&gt;# samba need t o be a b l e t o c r e a t e new u s e r s a c c o u n t s&lt;br /&gt;access to dn=&quot;ou=Users,dc=company,dc=xy&quot;&lt;br /&gt;by dn=&quot;cn=samba,ou=DSA,dc=company,dc=xy&quot; write&lt;br /&gt;by dn=&quot;cn=smbtools,ou=DSA,dc=company,dc=xy&quot; write&lt;br /&gt;# by âˆ— none&lt;br /&gt;&lt;br /&gt;# samba need t o be a b l e t o c r e a t e new g r o u p s a c c o u n t s&lt;br /&gt;&lt;br /&gt;access to dn=&quot;ou=Groups,dc=company,dc=xy&quot;&lt;br /&gt;by dn=&quot;cn=samba,ou=DSA,dc=company,dc=xy&quot; write&lt;br /&gt;by dn=&quot;cn=smbtools,ou=DSA,dc=company,dc=xy&quot; write&lt;br /&gt;# by âˆ— none&lt;br /&gt;&lt;br /&gt;# samba need t o be a b l e t o c r e a t e new computers a c c o u n t s&lt;br /&gt;access to dn=&quot;ou=Computers,dc=company,dc=xy&quot;&lt;br /&gt;by dn=&quot;cn=samba,ou=DSA,dc=company,dc=xy&quot; write&lt;br /&gt;by dn=&quot;cn=smbtools,ou=DSA,dc=company,dc=xy&quot; write&lt;br /&gt;# by âˆ— none&lt;br /&gt;&lt;br /&gt;# t h i s can be o m i t t e d but we l e t i t s t a y b e c a u s e t h e r e&lt;br /&gt;c o u l d be o t h e r&lt;br /&gt;# b r a n c h e s i n t h e d i r e c t o r y&lt;br /&gt;#access to âˆ—&lt;br /&gt;by selfread&lt;br /&gt;by âˆ— none&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;#######################################################################&lt;br /&gt;# ldbm and/or bdb database definitions&lt;br /&gt;#######################################################################&lt;br /&gt;&lt;br /&gt;database bdb&lt;br /&gt;suffix &quot;dc=company,dc=xy&quot;&lt;br /&gt;rootdn &quot;cn=Manager,dc=company,dc=xy&quot;&lt;br /&gt;&lt;br /&gt;rootpw secret&lt;br /&gt;# rootpw {crypt}ijFYNcSNctBYg&lt;br /&gt;&lt;br /&gt;directory /var/lib/ldap&lt;br /&gt;&lt;br /&gt;# Indices to maintain for this database&lt;br /&gt;index objectClass eq,pres&lt;br /&gt;index ou,cn,mail,surname,givenname eq,pres,sub&lt;br /&gt;index uidNumber,gidNumber,loginShell eq,pres&lt;br /&gt;index uid,memberUid eq,pres,sub&lt;br /&gt;index nisMapName,nisMapEntry eq,pres,sub&lt;br /&gt;index sambaSID,sambaPrimaryGroupSID,sambaDomainName eq&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;check the slapd.conf permissions, which must be 640&lt;br /&gt;&lt;br /&gt;[root@ldap openldap]# stat slapd.conf&lt;br /&gt;File: `slapd.conf&#39;&lt;br /&gt;Size: 12234 Blocks: 24 IO Block: 4096 regular file&lt;br /&gt;Device: 803h/2051d Inode: 817606 Links: 1&lt;br /&gt;Access: (0640/-rw-r-----) Uid: ( 0/ root) Gid: ( 55/ ldap)&lt;br /&gt;&lt;br /&gt;[root@ldap openldap]#&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;[root@ldap openldap]# vim ldap.conf&lt;br /&gt;&lt;br /&gt;#HOST 127.0.0.1&lt;br /&gt;BASE dc=company,dc=xy&lt;br /&gt;URI &lt;a href=&quot;ldap://127.0.0.1/&quot;&gt;ldap://127.0.0.1/&lt;/a&gt;&lt;br /&gt;TLS_CACERTDIR /etc/openldap/cacerts&lt;br /&gt;&lt;br /&gt;now copy the Databse file from /etc/openldap to /var/lib/ldap&lt;br /&gt;&lt;br /&gt;[root@ldap openldap]# cp DB_CONFIG.example /var/lib/ldap/&lt;br /&gt;&lt;br /&gt;rename DB file&lt;br /&gt;&lt;br /&gt;[root@ldap openldap]# cd /var/lib/ldap/&lt;br /&gt;[root@ldap openldap]# mv DB_CONFIG.example DB_CONFIG&lt;br /&gt;[root@ldap openldap]#&lt;br /&gt;&lt;br /&gt;start the ldap server&lt;br /&gt;&lt;br /&gt;[root@ldap /]# /etc/init.d/ldap start&lt;br /&gt;Checking configuration files for slapd: config file testing succeeded&lt;br /&gt;[ OK ]&lt;br /&gt;Starting slapd: [ OK ]&lt;br /&gt;[root@ldap /]#&lt;br /&gt;&lt;br /&gt;configuration of ldap server to use LDAP through pam_ldap and nss_ldap, a&lt;br /&gt;service called nscd will also be used&lt;br /&gt;&lt;br /&gt;[root@ldap /]# /etc/init.d/nscd start&lt;br /&gt;Starting nscd: [ OK ]&lt;br /&gt;[root@ldap /]#&lt;br /&gt;&lt;br /&gt;[root@ldap /]# chkconfig --level 235 nscd on&lt;br /&gt;[root@ldap /]#&lt;br /&gt;&lt;br /&gt;[root@ldap /]# setup&lt;br /&gt;&lt;br /&gt;run Authentication Configuration&lt;br /&gt;&lt;br /&gt;select Cache Information&lt;br /&gt;Use LDAP&lt;br /&gt;Use MD5 Passwords&lt;br /&gt;Use Shadow Passwords&lt;br /&gt;Use LDAP Authentication&lt;br /&gt;&lt;br /&gt;Press the Next button&lt;br /&gt;&lt;br /&gt;don&#39;t select Use TLS option&lt;br /&gt;Server: &lt;a href=&quot;ldap://127.0.0.1/&quot;&gt;ldap://127.0.0.1/&lt;/a&gt;&lt;br /&gt;Base DN: dc=company,dc=xy&lt;br /&gt;&lt;br /&gt;Press OK and exit&lt;br /&gt;&lt;br /&gt;[root@ldap /]# vim /etc/ldap.conf&lt;br /&gt;&lt;br /&gt;host 127.0.0.1&lt;br /&gt;&lt;br /&gt;base dc=company,dc=xy&lt;br /&gt;&lt;br /&gt;rootbinddn cn=manager,dc=company,dc=xy&lt;br /&gt;&lt;br /&gt;timelimit 120&lt;br /&gt;&lt;br /&gt;bind_timelimit 120&lt;br /&gt;&lt;br /&gt;idle_timelimit 3600&lt;br /&gt;&lt;br /&gt;nss_initgroups_ignoreusers&lt;br /&gt;root,ldap,named,avahi,haldaemon,dbus,radvd,tomcat,radiusd,news,mailman,nscd,gdm&lt;br /&gt;&lt;br /&gt;ssl no&lt;br /&gt;tls_cacertdir /etc/openldap/cacerts&lt;br /&gt;pam_password md5&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;create a file ldap.secret in /etc directory protected by mode 600 and place in&lt;br /&gt;it the ldap password defined in slapd.conf&lt;br /&gt;[root@ldap /]# vim /etc/ldap.secret&lt;br /&gt;secret&lt;br /&gt;&lt;br /&gt;[root@ldap /]# chmod 600 /etc/ldap.secret&lt;br /&gt;[root@ldap /]#&lt;br /&gt;&lt;br /&gt;****************************************************&lt;br /&gt;&lt;br /&gt;smbldap-tools configuration&lt;br /&gt;&lt;br /&gt;[root@ldap /]# cd /etc/opt/IDEALX/smbldap-tools/&lt;br /&gt;[root@ldap smbldap-tools]# vim smbldap_bind.conf&lt;br /&gt;slaveDN=&quot;cn=Manager,dc=company,dc=xy&quot;&lt;br /&gt;slavePw=&quot;secret&quot;&lt;br /&gt;masterDN=&quot;cn=Manager,dc=company,dc=xy&quot;&lt;br /&gt;masterPw=&quot;secret&quot;&lt;br /&gt;&lt;br /&gt;[root@ldap smbldap-tools]# vim smbldap.conf&lt;br /&gt;&lt;br /&gt;##############################################################################&lt;br /&gt;#&lt;br /&gt;# General Configuration&lt;br /&gt;#&lt;br /&gt;##############################################################################&lt;br /&gt;&lt;br /&gt;SID=&quot;S-1-5-21-2815000769-282395026-991120840&quot;&lt;br /&gt;&lt;br /&gt;sambaDomain=&quot;company.xy&quot;&lt;br /&gt;&lt;br /&gt;##############################################################################&lt;br /&gt;#&lt;br /&gt;# LDAP Configuration&lt;br /&gt;#&lt;br /&gt;##############################################################################&lt;br /&gt;&lt;br /&gt;slaveLDAP=&quot;127.0.0.1&quot;&lt;br /&gt;&lt;br /&gt;# Slave LDAP port&lt;br /&gt;slavePort=&quot;389&quot;&lt;br /&gt;&lt;br /&gt;# Master LDAP server: needed for write operations&lt;br /&gt;masterLDAP=&quot;127.0.0.1&quot;&lt;br /&gt;&lt;br /&gt;# Master LDAP port&lt;br /&gt;masterPort=&quot;389&quot;&lt;br /&gt;&lt;br /&gt;suffix=&quot;dc=company,dc=xy&quot;&lt;br /&gt;usersdn=&quot;ou=Users,${suffix}&quot;&lt;br /&gt;computersdn=&quot;ou=Computers,${suffix}&quot;&lt;br /&gt;groupsdn=&quot;ou=Groups,${suffix}&quot;&lt;br /&gt;idmapdn=&quot;ou=Idmap,${suffix}&quot;&lt;br /&gt;sambaUnixIdPooldn=&quot;sambaDomainName=company.xy,${suffix}&quot;&lt;br /&gt;scope=&quot;sub&quot;&lt;br /&gt;hash_encrypt=&quot;SSHA&quot;&lt;br /&gt;crypt_salt_format=&quot;%s&quot;&lt;br /&gt;&lt;br /&gt;##############################################################################&lt;br /&gt;#&lt;br /&gt;# Unix Accounts Configuration&lt;br /&gt;#&lt;br /&gt;##############################################################################&lt;br /&gt;&lt;br /&gt;userLoginShell=&quot;/bin/bash&quot;&lt;br /&gt;&lt;br /&gt;# Home directory&lt;br /&gt;userHome=&quot;/home/%U&quot;&lt;br /&gt;&lt;br /&gt;# Default mode used for user homeDirectory&lt;br /&gt;userHomeDirectoryMode=&quot;700&quot;&lt;br /&gt;&lt;br /&gt;# Gecos&lt;br /&gt;userGecos=&quot;System User&quot;&lt;br /&gt;&lt;br /&gt;# Default User (POSIX and Samba) GID&lt;br /&gt;defaultUserGid=&quot;513&quot;&lt;br /&gt;&lt;br /&gt;# Default Computer (Samba) GID&lt;br /&gt;defaultComputerGid=&quot;515&quot;&lt;br /&gt;&lt;br /&gt;# Skel dir&lt;br /&gt;skeletonDir=&quot;/etc/skel&quot;&lt;br /&gt;&lt;br /&gt;defaultMaxPasswordAge=&quot;45&quot;&lt;br /&gt;&lt;br /&gt;##############################################################################&lt;br /&gt;#&lt;br /&gt;# SAMBA Configuration&lt;br /&gt;#&lt;br /&gt;##############################################################################&lt;br /&gt;&lt;br /&gt;# The UNC path to home drives location (%U username substitution)&lt;br /&gt;# Just set it to a null string if you want to use the smb.conf &#39;logon home&#39;&lt;br /&gt;# directive and/or disable roaming profiles&lt;br /&gt;# Ex: userSmbHome=&quot;\\PDC-SMB3\%U&quot;&lt;br /&gt;#userSmbHome=&quot;\\192.168.3.140\%U&quot;&lt;br /&gt;&lt;br /&gt;# The UNC path to profiles locations (%U username substitution)&lt;br /&gt;# Just set it to a null string if you want to use the smb.conf &#39;logon path&#39;&lt;br /&gt;# directive and/or disable roaming profiles&lt;br /&gt;# Ex: userProfile=&quot;\\PDC-SMB3\profiles\%U&quot;&lt;br /&gt;#userProfile=&quot;\\192.168.3.140\profiles\%U&quot;&lt;br /&gt;&lt;br /&gt;# The default Home Drive Letter mapping&lt;br /&gt;# (will be automatically mapped at logon time if home directory exist)&lt;br /&gt;# Ex: userHomeDrive=&quot;H:&quot;&lt;br /&gt;#userHomeDrive=&quot;H:&quot;&lt;br /&gt;&lt;br /&gt;# The default user netlogon script name (%U username substitution)&lt;br /&gt;# if not used, will be automatically username.cmd&lt;br /&gt;# make sure script file is edited under dos&lt;br /&gt;# Ex: userScript=&quot;startup.cmd&quot; # make sure script file is edited under dos&lt;br /&gt;userScript=&quot;logon.bat&quot;&lt;br /&gt;# Domain appended to the users &quot;mail&quot;-attribute&lt;br /&gt;# when smbldap-useradd -M is used&lt;br /&gt;# Ex: mailDomain=&quot;idealx.com&quot;&lt;br /&gt;mailDomain=&quot;company.com&quot;&lt;br /&gt;&lt;br /&gt;##############################################################################&lt;br /&gt;#&lt;br /&gt;# SMBLDAP-TOOLS Configuration (default are ok for a RedHat)&lt;br /&gt;#&lt;br /&gt;##############################################################################&lt;br /&gt;&lt;br /&gt;with_smbpasswd=&quot;0&quot;&lt;br /&gt;smbpasswd=&quot;/usr/bin/smbpasswd&quot;&lt;br /&gt;&lt;br /&gt;with_slappasswd=&quot;0&quot;&lt;br /&gt;slappasswd=&quot;/usr/sbin/slappasswd&quot;&lt;br /&gt;&lt;br /&gt;# comment out the following line to get rid of the default banner&lt;br /&gt;# no_banner=&quot;1&quot;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;configuring smb.conf&lt;br /&gt;&lt;br /&gt;[root@ldap smbldap-tools]# cd /etc/samba/&lt;br /&gt;[root@ldap samba]# vim smb.conf&lt;br /&gt;&lt;br /&gt;[global]&lt;br /&gt;&lt;br /&gt;workgroup = company.xy&lt;br /&gt;netbios name = ldapserver&lt;br /&gt;enable privileges = yes&lt;br /&gt;#interfaces = 192.168.3.131&lt;br /&gt;username map = /etc/samba/smbusers&lt;br /&gt;&lt;br /&gt;server string = samba-ldap-pdc&lt;br /&gt;security = user&lt;br /&gt;encrypt passwords = Yes&lt;br /&gt;admin users = root&lt;br /&gt;#min passwd length = 3&lt;br /&gt;obey pam restrictions = No&lt;br /&gt;&lt;br /&gt;ldap passwd sync = Yes&lt;br /&gt;&lt;br /&gt;log level = 0&lt;br /&gt;syslog = 0&lt;br /&gt;log file = /var/log/samba/log.%m&lt;br /&gt;max log size = 100000&lt;br /&gt;#time server = Yes&lt;br /&gt;socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192&lt;br /&gt;mangling method = hash2&lt;br /&gt;Dos charset = 850&lt;br /&gt;Unix charset = ISO8859-1&lt;br /&gt;&lt;br /&gt;#guest account = root&lt;br /&gt;&lt;br /&gt;logon script = logon.bat&lt;br /&gt;logon drive =&lt;br /&gt;logon home =&lt;br /&gt;logon path =&lt;br /&gt;&lt;br /&gt;domain logons = Yes&lt;br /&gt;os level = 65&lt;br /&gt;preferred master = Yes&lt;br /&gt;domain master = Yes&lt;br /&gt;wins support = Yes&lt;br /&gt;&lt;br /&gt;passdb backend = ldapsam:&lt;a href=&quot;ldap://127.0.0.1&quot;&gt;ldap://127.0.0.1&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;ldap admin dn = cn=Manager,dc=company,dc=xy&lt;br /&gt;&lt;br /&gt;ldap suffix = dc=company,dc=xy&lt;br /&gt;ldap group suffix = ou=Groups&lt;br /&gt;ldap user suffix = ou=Users&lt;br /&gt;ldap machine suffix = ou=Computers&lt;br /&gt;ldap idmap suffix = ou=Users&lt;br /&gt;idmap backend = &lt;a href=&quot;ldap://127.0.0.1&quot;&gt;ldap://127.0.0.1&lt;/a&gt;&lt;br /&gt;idmap uid = 10000-20000&lt;br /&gt;idmap gid = 10000-20000&lt;br /&gt;#ldap ssl = start_tls&lt;br /&gt;add user script = /usr/local/sbin/smbldapâˆ&#39;useradd âˆ&#39;m &quot;%u&quot;&lt;br /&gt;ldap delete dn = Yes&lt;br /&gt;add machine script = /usr/local/sbin/smbldapâˆ&#39;useradd âˆ&#39;w &quot;%u&quot;&lt;br /&gt;add group script = /usr/local/sbin/smbldapâˆ&#39;groupadd âˆ&#39;p &quot;%g&quot;&lt;br /&gt;add user to group script = /usr/local/sbin/smbldapâˆ&#39;groupmod âˆ&#39;m &quot;%u&quot; &quot;%g&quot;&lt;br /&gt;delete user from group script = /usr/local/sbin/smbldap-groupmod -x &quot;%u&quot; &quot;%g&quot;&lt;br /&gt;set primary group script = /usr/local/sbin/smbldap-usermod -g &quot;%g&quot; &quot;%u&quot;&lt;br /&gt;#logon script = STARTUP.BAT&lt;br /&gt;&lt;br /&gt;;[homes]&lt;br /&gt;&lt;br /&gt;;comment = Home Directories&lt;br /&gt;;valid users = %U&lt;br /&gt;;read only = No&lt;br /&gt;;create mask = 0664&lt;br /&gt;;directory mask = 0775&lt;br /&gt;;browseable = No&lt;br /&gt;&lt;br /&gt;;[profiles]&lt;br /&gt;&lt;br /&gt;;path = /home/samba/profiles&lt;br /&gt;;read only = No&lt;br /&gt;;create mask = 0600&lt;br /&gt;;directory mask = 0700&lt;br /&gt;;browseable = No&lt;br /&gt;;guest ok = Yes&lt;br /&gt;;profile acls = Yes&lt;br /&gt;;csc policy = disable&lt;br /&gt;;force user = %U&lt;br /&gt;;valid users = %U @&quot;Domain Admins&quot;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;[netlogon]&lt;br /&gt;path = /home/samba/netlogon/&lt;br /&gt;browseable = No&lt;br /&gt;read only = yes&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;we are configuring a simple domain controller in this howto. You can allow&lt;br /&gt;roaming profiles and home directories for domain users.&lt;br /&gt;&lt;br /&gt;lets configure some directories referenced in /etc/samba/smb.conf&lt;br /&gt;[root@ldap samba]# mkdir /home/samba&lt;br /&gt;[root@ldap samba]# mkdir /home/samba/netlogon&lt;br /&gt;[root@ldap samba]# mkdir /home/samba/profiles&lt;br /&gt;[root@ldap samba]# chmod 1777 /home/samba/profiles [currently we&lt;br /&gt;will not use profile feature]&lt;br /&gt;&lt;br /&gt;Samba must know the ldap admin dn password so lets do it&lt;br /&gt;[root@ldap samba]# smbpasswd -w secret&lt;br /&gt;Setting stored password for &quot;cn=Manager,dc=company,dc=xy&quot; in secrets.tdb&lt;br /&gt;[root@ldap samba]#&lt;br /&gt;&lt;br /&gt;Now define the domain Secure ID (SID)&lt;br /&gt;[root@ldap samba]# net getlocalsid&lt;br /&gt;SID for domain LDAPSERVER is: S-1-5-21-2815000769-282395026-991120840&lt;br /&gt;[root@ldap samba]#&lt;br /&gt;&lt;br /&gt;Replace the raw SID in /etc/opt/IDEALX/smbldap-tools/smbldap.conf with above&lt;br /&gt;mentioned SID.&lt;br /&gt;&lt;br /&gt;make sure that smbldap scripts are placed in /usr/local/sbin&lt;br /&gt;otherwise make symbolic link of each script in /usr/local/sbin as this path is&lt;br /&gt;defined in smb.conf&lt;br /&gt;[root@ldap samba]# cd /opt/IDEALX/sbin/&lt;br /&gt;[root@ldap sbin]# ls&lt;br /&gt;configure.pl smbldap-groupmod smbldap-populate smbldap-userdel&lt;br /&gt;smbldap-usershow&lt;br /&gt;smbldap-groupadd smbldap-groupshow smbldap_tools.pm smbldap-userinfo&lt;br /&gt;smbldap-groupdel smbldap-passwd smbldap-useradd smbldap-usermod&lt;br /&gt;&lt;br /&gt;[root@ldap sbin]# ln -s /opt/IDEALX/sbin/configure.pl&lt;br /&gt;/usr/local/sbin/configure.pl&lt;br /&gt;[root@ldap sbin]# ln -s /opt/IDEALX/sbin/smbldap-groupadd&lt;br /&gt;/usr/local/sbin/smbldap-groupadd&lt;br /&gt;[root@ldap sbin]# ln -s /opt/IDEALX/sbin/smbldap-groupdel&lt;br /&gt;/usr/local/sbin/smbldap-groupdel&lt;br /&gt;[root@ldap sbin]# ln -s /opt/IDEALX/sbin/smbldap-groupmod&lt;br /&gt;/usr/local/sbin/smbldap-groupmod&lt;br /&gt;[root@ldap sbin]# ln -s /opt/IDEALX/sbin/smbldap-groupshow&lt;br /&gt;/usr/local/sbin/smbldap-groupshow&lt;br /&gt;[root@ldap sbin]# ln -s /opt/IDEALX/sbin/smbldap-passwd&lt;br /&gt;/usr/local/sbin/smbldap-passwd&lt;br /&gt;[root@ldap sbin]# ln -s /opt/IDEALX/sbin/smbldap-populate&lt;br /&gt;/usr/local/sbin/smbldap-populate&lt;br /&gt;[root@ldap sbin]# ln -s /opt/IDEALX/sbin/smbldap_tools.pm&lt;br /&gt;/usr/local/sbin/smbldap_tools.pm&lt;br /&gt;[root@ldap sbin]# ln -s /opt/IDEALX/sbin/smbldap-useradd&lt;br /&gt;/usr/local/sbin/smbldap-useradd&lt;br /&gt;[root@ldap sbin]# ln -s /opt/IDEALX/sbin/smbldap-userdel&lt;br /&gt;/usr/local/sbin/smbldap-userdel&lt;br /&gt;[root@ldap sbin]# ln -s /opt/IDEALX/sbin/smbldap-userinfo&lt;br /&gt;/usr/local/sbin/smbldap-userinfo&lt;br /&gt;[root@ldap sbin]# ln -s /opt/IDEALX/sbin/smbldap-usermod&lt;br /&gt;/usr/local/sbin/smbldap-usermod&lt;br /&gt;[root@ldap sbin]# ln -s /opt/IDEALX/sbin/smbldap-usershow&lt;br /&gt;/usr/local/sbin/smbldap-usershow&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Now add the default base entries&lt;br /&gt;&lt;br /&gt;[root@ldap /]# smbldap-populate&lt;br /&gt;Populating LDAP directory for domain company.xy&lt;br /&gt;(S-1-5-21-2815000769-282395026-991120840)&lt;br /&gt;(using builtin directory structure)&lt;br /&gt;&lt;br /&gt;adding new entry dc=company,dc=xy&lt;br /&gt;adding new entry ou=Users,dc=company,dc=xy&lt;br /&gt;adding new entry ou=Groups,dc=company,dc=xy&lt;br /&gt;adding new entry ou=Computers,dc=company,dc=xy&lt;br /&gt;adding new entry ou=Idmap,dc=company,dc=xy&lt;br /&gt;adding new entry uid=root,ou=Users,dc=company,dc=xy&lt;br /&gt;adding new entry uid=nobody,ou=Users,dc=company,dc=xy&lt;br /&gt;adding new entry cn=Domain Admins,ou=Groups,dc=company,dc=xy&lt;br /&gt;adding new entry cn=Domain Users,ou=Groups,dc=company,dc=xy&lt;br /&gt;adding new entry cn=Domain Guests,ou=Groups,dc=company,dc=xy&lt;br /&gt;adding new entry cn=Domain Computers,ou=Groups,dc=company,dc=xy&lt;br /&gt;adding new entry cn=Administrators,ou=Groups,dc=company,dc=xy&lt;br /&gt;adding new entry cn=Account Operators,ou=Groups,dc=company,dc=xy&lt;br /&gt;adding new entry cn=Print Operators,ou=Groups,dc=company,dc=xy&lt;br /&gt;adding new entry cn=Backup Operators,ou=Groups,dc=company,dc=xy&lt;br /&gt;adding new entry cn=Replicators,ou=Groups,dc=company,dc=xy&lt;br /&gt;adding new entry sambaDomainName=company.xy,dc=company,dc=xy&lt;br /&gt;&lt;br /&gt;Please provide a password for the domain root:&lt;br /&gt;Changing UNIX and samba passwords for root&lt;br /&gt;New password:&lt;br /&gt;Retype new password:&lt;br /&gt;[root@ldap /]#&lt;br /&gt;&lt;br /&gt;adding Domain Security Accounts&lt;br /&gt;for this purpose we will create a ldif file and add the entries at once.&lt;br /&gt;[root@ldap Desktop]# vim dsa.ldif&lt;br /&gt;dn: ou=DSA,dc=company,dc=xy&lt;br /&gt;objectClass: top&lt;br /&gt;objectClass: organizationalUnit&lt;br /&gt;ou: DSA&lt;br /&gt;description: security accounts for LDAP clients&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;dn: cn=samba,ou=DSA,dc=company,dc=xy&lt;br /&gt;objectclass: organizationalRole&lt;br /&gt;objectClass: top&lt;br /&gt;objectClass: simpleSecurityObject&lt;br /&gt;userPassword: sambasecretpwd&lt;br /&gt;cn: samba&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;dn: cn=nssldap,ou=DSA,dc=company,dc=xy&lt;br /&gt;objectclass: organizationalRole&lt;br /&gt;objectClass: top&lt;br /&gt;objectClass: simpleSecurityObject&lt;br /&gt;userPassword: nssldapsecretpwd&lt;br /&gt;cn: nssldap&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;dn: cn=smbtools,ou=DSA,dc=company,dc=xy&lt;br /&gt;objectclass: organizationalRole&lt;br /&gt;objectClass: top&lt;br /&gt;objectClass: simpleSecurityObject&lt;br /&gt;userPassword: smbtoolssecretpwd&lt;br /&gt;cn: smbtools&lt;br /&gt;&lt;br /&gt;[root@ldap Desktop]# ldapadd -x -h localhost -D &quot;cn=Manager,dc=company,dc=xy&quot; -f&lt;br /&gt;dsa.ldif -W&lt;br /&gt;Enter LDAP Password:&lt;br /&gt;adding new entry &quot;ou=DSA,dc=company,dc=xy&quot;&lt;br /&gt;&lt;br /&gt;adding new entry &quot;cn=samba,,ou=DSA,dc=company,dc=xy&quot;&lt;br /&gt;&lt;br /&gt;adding new entry &quot;cn=nssldap,ou=DSA,dc=company,dc=xy&quot;&lt;br /&gt;&lt;br /&gt;adding new entry &quot;cn=smbtools,ou=DSA,dc=company,dc=xy&quot;&lt;br /&gt;&lt;br /&gt;[root@ldap Desktop]#&lt;br /&gt;&lt;br /&gt;Password of each security accoutn can be changed further by the following&lt;br /&gt;command&lt;br /&gt;&lt;br /&gt;[root@ldap Desktop]# ldappasswd -x -h localhost -D &quot;cn=Manager,dc=company,dc=xy&quot;&lt;br /&gt;-s password -W cn=samba,ou=DSA,dc=company,dc=xy&lt;br /&gt;&lt;br /&gt;now start samba server&lt;br /&gt;&lt;br /&gt;[root@ldap Desktop]# /etc/init.d/smb start&lt;br /&gt;Starting SMB services: [ OK ]&lt;br /&gt;Starting NMB services: [ OK ]&lt;br /&gt;[root@ldap Desktop]#&lt;br /&gt;&lt;br /&gt;Now create a samba user account for UNIX and SAMBA&lt;br /&gt;&lt;br /&gt;[root@ldap Desktop]# smbldap-useradd -a -m -c &quot;Muhammad Farrukh Siddique&quot;&lt;br /&gt;mfarrukh&lt;br /&gt;[root@ldap Desktop]# smbldap-passwd mfarrukh&lt;br /&gt;Changing UNIX and samba passwords for mfarrukh&lt;br /&gt;New password:&lt;br /&gt;Retype new password:&lt;br /&gt;[root@ldap Desktop]# useradd mfarrukh&lt;br /&gt;&lt;br /&gt;Now create a machine trust account&lt;br /&gt;&lt;br /&gt;[root@ldap Desktop]# smbldap-useradd -w client1&lt;br /&gt;&lt;br /&gt;Machine trust accoutn must also be in /etc/passwd&lt;br /&gt;[root@ldap Desktop]# useradd -d /dev/null -s /bin/false client1$&lt;br /&gt;($ sign differentiate between user and machine accounts)&lt;br /&gt;&lt;br /&gt;lets search a user account&lt;br /&gt;&lt;br /&gt;[root@ldap Desktop]# smbldap-usershow mfarrukh&lt;br /&gt;dn: uid=mfarrukh,ou=Users,dc=company,dc=xy&lt;br /&gt;objectClass:&lt;br /&gt;top,person,organizationalPerson,inetOrgPerson,posixAccount,shadowAccount,sambaSa\&lt;br /&gt;mAccount&lt;br /&gt;cn: mfarrukh&lt;br /&gt;sn: mfarrukh&lt;br /&gt;givenName: mfarrukh&lt;br /&gt;uid: mfarrukh&lt;br /&gt;uidNumber: 1000&lt;br /&gt;gidNumber: 513&lt;br /&gt;homeDirectory: /home/mfarrukh&lt;br /&gt;loginShell: /bin/bash&lt;br /&gt;gecos: Muhammad Farrukh Siddique&lt;br /&gt;sambaLogonTime: 0&lt;br /&gt;sambaLogoffTime: 2147483647&lt;br /&gt;sambaKickoffTime: 2147483647&lt;br /&gt;sambaPwdCanChange: 0&lt;br /&gt;displayName: Muhammad Farrukh Siddique&lt;br /&gt;sambaSID: S-1-5-21-2815000769-282395026-991120840-3000&lt;br /&gt;sambaPrimaryGroupSID: S-1-5-21-2815000769-282395026-991120840-513&lt;br /&gt;sambaLogonScript: logon.bat&lt;br /&gt;sambaLMPassword: 78BCCAEE08C90E29AAD3B435B51404EE&lt;br /&gt;sambaAcctFlags: [U]&lt;br /&gt;sambaNTPassword: F9E37E83B83C47A93C2F09F66408631B&lt;br /&gt;sambaPwdLastSet: 1257784838&lt;br /&gt;sambaPwdMustChange: 1261672838&lt;br /&gt;userPassword: {SSHA}2syv4k3FUxv3269R29xbBDnQ6tFaS2Rz&lt;br /&gt;[root@ldap Desktop]#&lt;br /&gt;&lt;br /&gt;[root@ldap Desktop]# smbldap-usershow client1$&lt;br /&gt;dn: uid=client1$,ou=Computers,dc=company,dc=xy&lt;br /&gt;objectClass:&lt;br /&gt;top,person,organizationalPerson,inetOrgPerson,posixAccount,sambaSamAccount&lt;br /&gt;cn: client1$&lt;br /&gt;sn: client1$&lt;br /&gt;uid: client1$&lt;br /&gt;uidNumber: 1001&lt;br /&gt;gidNumber: 515&lt;br /&gt;homeDirectory: /dev/null&lt;br /&gt;loginShell: /bin/false&lt;br /&gt;description: Computer&lt;br /&gt;gecos: Computer&lt;br /&gt;sambaSID: S-1-5-21-2815000769-282395026-991120840-1000&lt;br /&gt;displayName: CLIENT1$&lt;br /&gt;sambaAcctFlags: [W ]&lt;br /&gt;sambaNTPassword: A6F443E99DBF9DD0686A90919A9D6967&lt;br /&gt;sambaPwdLastSet: 1243494068&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;you can search the whole OU by command&lt;br /&gt;&lt;br /&gt;ldapsearch -x -b &quot;ou=Users,dc=company,dc=xy&quot; -LLL -D&lt;br /&gt;&quot;cn=Manager,dc=company,dc=xy&quot; -W&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Now Everything has been configured successfully.&lt;br /&gt;&lt;br /&gt;Last step is to join domain.&lt;br /&gt;&lt;br /&gt;Power ON xp machine&lt;br /&gt;&lt;br /&gt;set the network settings according to this scenario these will be&lt;br /&gt;&lt;br /&gt;IP Address: 192.168.3.145&lt;br /&gt;Subnet Mask: 255.255.255.0&lt;br /&gt;D.Gateway: 192.168.3.1&lt;br /&gt;Primary DNS: 192.168.3.135&lt;br /&gt;&lt;br /&gt;Right click on My Computer icon and go to the Properties&lt;br /&gt;under Computer Name tab click on Change button and write the domain name&lt;br /&gt;enter username: root and its password a welcome screen will appear.&lt;br /&gt;Just restart the computer and enter with domain username.&lt;br /&gt;&lt;br /&gt;Task completed successfully.&lt;br /&gt;Shuker AlHamdullilah&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Best Regards&lt;br /&gt;Muhammad Farrukh</content><link rel='replies' type='application/atom+xml' href='http://mfarrukhsiddique.blogspot.com/feeds/8987238965613163917/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mfarrukhsiddique.blogspot.com/2010/01/openldap-samba-domain-controller-using.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6077242147986447802/posts/default/8987238965613163917'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6077242147986447802/posts/default/8987238965613163917'/><link rel='alternate' type='text/html' href='http://mfarrukhsiddique.blogspot.com/2010/01/openldap-samba-domain-controller-using.html' title='OpenLDAP Samba Domain Controller using OpenLDAP Samba SMBldap'/><author><name>Muhammad Farrukh Siddique</name><uri>http://www.blogger.com/profile/16573866233332117170</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>