Implementing DNS in Samba PDC


Published on

Creating DNS server and Configure SAMBA PDC

Published in: Art & Photos, Technology
  • Be the first to comment

  • Be the first to like this

Implementing DNS in Samba PDC

  1. 1. Implementing DNS in Tiguin for Samba PDCLogin from the root user .Here in this documentation “enjay” is a hostname. “” is aname of domain , and is IP address of the Domain server. And  “enjay123” is thepassword of my DNS server. Create a DNS server for domain follow the steps given below :1 .   Install bind9 packageCMD apt­get install bind9 dnsutils bind9­doc2.  Basic bind ConfigurationMake changes for the below lines :CMD  nano /etc/bind/named.conf.optionsChange   forwarders {   ;               ;        };3. Create forward and reverse zone files. so that when we are using ping or nslookup command, we can ping via IP address as well as via Domain Name . And mentioned file will be called.   Make changes for the below lines.CMD   nano /etc/bind/named.conf.localAdd     zone ""{type master;file "/etc/bind/";};         zone "­"{type master;notify no;file "/etc/bind/db.192";   };
  2. 2. 4. Building Your DNS Forward Zone  Now edit new forward zone file . Make the changes for the below lines.CMD cp /etc/bind/db.local /etc/bind/db.eclipse.comCMD nano /etc/bind/db.eclipse.comAdd/Edit @     IN SOA root.localhost. (@     IN NS          IN     A  IN   CNAME  5. Building Your Reverse Lookup and  edit the reverse lookup file .CMD      cp /etc/bind/db.127 /etc/bind/db.192CMD      nano /etc/bind/db.192Add/Edit      @ IN SOA root.localhost. (     @ IN NS     242 IN PTR  Starting your DNS Server.CMD  /etc/init.d/bind9 start7. Testing your DNS Server    Make the changes in the Network Manager window. Select IPV4 tab.DNS Server eclipse.comSearch Domain eclipse.com8. Now that we have DNS setup we can use ping to test that everything is working. Both
  3. 3. nslookup and ping are great tools for troubleshooting and testing.CMD Outputnslookup192.168.1.242Server:­    name = Outputnslookupeclipse.comServer:    eclipse.comAddress: ldap in Tiguin for Samba PDCAfter the successful result from nslookup proceed further with the following steps.1.CMD apt­get install slapd ldap­utilsldapadd ­Y EXTERNAL ­H ldapi:/// ­f /etc/ldap/schema/cosine.ldifldapadd ­Y EXTERNAL ­H ldapi:/// ­f /etc/ldap/schema/nis.ldifldapadd ­Y EXTERNAL ­H ldapi:/// ­f /etc/ldap/schema/inetorgperson.ldif2. You will need to modify the following to include your password and domain name.CMD nano  /etc/ldap/schema/backend.ldifAdd / Edit dn: cn=module,cn=configobjectClass: olcModuleListcn: moduleolcModulepath: /usr/lib/ldap
  4. 4. olcModuleload: back_hdbdn: olcDatabase=hdb,cn=configobjectClass: olcDatabaseConfigobjectClass: olcHdbConfigolcDatabase: {1}hdbolcSuffix: dc=eclipse,dc=comolcDbDirectory: /var/lib/ldapolcRootDN: cn=admin,dc=eclipse,dc=comolcRootPW: enjay123olcDbConfig: set_cachesize 0 2097152 0olcDbConfig: set_lk_max_objects 1500olcDbConfig: set_lk_max_locks 1500olcDbConfig: set_lk_max_lockers 1500olcDbIndex: objectClass eqolcLastMod: TRUEolcDbCheckpoint: 512 30olcAccess: to attrs=userPassword by dn="cn=admin,dc=eclipse,dc=com"write by anonymous auth by self write by * noneolcAccess: to attrs=shadowLastChange by self write by * readolcAccess: to dn.base="" by * readolcAccess: to * by dn="cn=admin,dc=eclipse,dc=com" write by * readCMD ldapadd ­Y EXTERNAL ­H ldapi:/// ­f /etc/ldap/schema/backend.ldif3. Install SambaCMD apt­get install samba samba­doc libpam­smbpass smbclientsmbldap­toolsCMD nano /etc/samba/smb.confADD/EDIT [global]#  Customize these entries as needed#  Replace with your domain nameworkgroup = eclipse#  Replace with your server namenetbios name = enjay#  Replace "eclipse" with the workgroup name youre usingldap suffix = dc=eclipse,dc=comldap admin dn = cn=admin,dc=eclipse,dc=com
  5. 5. #  Roaming profiles enabled. Replace "enjay" to match your netbios namelogon path = enjayprofiles%U%a#  No roaming profiles, uncomment; logon path =#  Server Informationserver string = SMB Server#  Specify global admin user, will have root in all shares; admin users =#  PW Backendobey pam restrictions = Yesunix password sync = noldap passwd sync = yespassdb backend = ldapsam:ldap://localhostpam password change = Yes#  SMBLDAP Scripts       add user to group script = /usr/sbin/smbldap­groupmod ­m %u %gadd user script = /usr/sbin/smbldap­useradd ­m %uadd machine script = /usr/sbin/smbldap­useradd ­w %uadd group script = /usr/sbin/smbldap­groupadd ­p %gdelete group script = /usr/sbin/smbldap­groupdel %gdelete user script = /usr/sbin/smbldap­userdel %u  delete user from group script = /usr/sbin/smbldap­groupmod ­x %u %gset primary group script = /usr/sbin/smbldap­usermod ­g %g %u#  LDAP Configurationldap ssl = noldap user suffix = ou=Usersldap machine suffix = ou=Computersldap group suffix = ou=Groupsldap idmap suffix = ou=Idmap#  Logon script located in netlogon share. Individual logon scriptsuncomment;logon script = %U.batlogon script = allusers.bat#  Loggingmax log size = 1000syslog = 0
  6. 6. log file = /var/log/samba/log.%m#  Printingprinting = cupsprintcap name = cupsload printers = yes# Domain Controllerdomain master = Yesdomain logons = Yeswins support = trueos level = 35server signing = noserver schannel = Autopanic action = /usr/share/samba/panic­action %ddns proxy = No; logon drive = H:; logon home = %N%U# Allow file permissions change to group membersacl group control = yes# Inherit permissions from parent; inherit acls = yes; inherit owner = yes; map acl inherit = yes; inherit permissions = yes# Do NOT inherit permissions from parentinherit acls = noinherit owner = nomap acl inherit = noinherit permissions = no# Do not show files that are unreadablehide unreadable = yes[printers]   comment = All Printers   path = /var/spool/samba   browseable = no# to allow user guest account to print.   guest ok = yes
  7. 7.    writable = no   printable = yes   create mode = 0700[Home]security mask = 0770writeable = yespath = /home/userhomeforce security mode = 0force directory security mode = 0directory security mask = 0770[netlogon]comment = Network Logon Servicewriteable = yespublic = yespath = /home/netlogon[profiles]browseable = noprintable = nowritable = yespath = /home/profilesstore dos attributes = noguest ok = nocomment = Users Profiles# fixes everyone having readcreate mode = 0700directory mode = 0700CMD cp /etc/samba/smb.conf /etc/samba/smb.conf.originalCMD Everytime you edit your smb.conf you should run the below command.testparm /etc/samba/smb.confIf you see an rlimit_max: error you can ignore it.CMD smbpasswd ­WEnter the same password you’ve been using for “enjay123”CMD service smbd restartCMD smbclient ­L localhostHit enter, do not type in password. This should show yourserver/workgroup information without error.Output:root@enjay:~# smbclient ­L localhostEnter roots password:Anonymous login successful
  8. 8. Domain=[ECLIPSE] OS=[Unix] Server=[Samba 3.6.3]    Sharename Type Comment    ­­­­­­­­­ ­­­­ ­­­­­­­    Home Disk    netlogon Disk Network Logon Service    IPC$ IPC IPC Service (SMB Server)Anonymous login successfulDomain=[ECLIPSE] OS=[Unix] Server=[Samba 3.6.3]    Server Comment    ­­­­­­­­­ ­­­­­­­    Workgroup Master    ­­­­­­­­­ ­­­­­­­    ENJAY.COM MRP    MSHOME MICROSOFTPC    TIGUIN ENJAY    WORKGROUP ENJAYCreate profiles and netlogon directory.CMD mkdir ­v ­m 1777 /home/profilesCMD mkdir ­v ­m 1777 /home/netlogonCMD cp /usr/share/doc/samba­doc/examples/LDAP/samba.schema.gz/etc/ldap/schema/CMD gzip ­d /etc/ldap/schema/samba.schema.gzCMD nano /etc/ldap/schema/schema_convert.confADD include /etc/ldap/schema/core.schemainclude /etc/ldap/schema/collective.schemainclude /etc/ldap/schema/corba.schemainclude /etc/ldap/schema/cosine.schemainclude /etc/ldap/schema/duaconf.schemainclude /etc/ldap/schema/dyngroup.schemainclude /etc/ldap/schema/inetorgperson.schemainclude /etc/ldap/schema/java.schemainclude /etc/ldap/schema/misc.schemainclude /etc/ldap/schema/nis.schemainclude /etc/ldap/schema/openldap.schemainclude /etc/ldap/schema/ppolicy.schema
  9. 9. include /etc/ldap/schema/samba.schemathen create directory in /tmpmkdir /tmp/ldif_outputCMD slapcat ­f /etc/ldap/schema/schema_convert.conf ­F /tmp/ldif_output ­n0 ­s"cn={12}samba,cn=schema,cn=config" > /tmp/schema_samba.ldifnano /tmp/schema_samba.ldifADD/EDIT At the top, editdn: cn{12}=samba,cn=schema,cn=configto showdn: cn=samba,cn=schema,cn=configEditcn: {12}sambato showcn: sambaDelete the following from the end:structuralObjectClass: olcSchemaConfigentryUUID: b53b75ca­083f­102d­9fff­2f64fd123c95creatorsName: cn=configcreateTimestamp: 20080827045234ZentryCSN: 20080827045234.341425Z#000000#000#000000modifiersName: cn=configmodifyTimestamp: 20080827045234ZCMD ldapadd ­Y EXTERNAL ­H ldapi:/// ­D cn=admin,cn=config ­W ­f/tmp/schema_samba.ldifEnter Password “enjay123”, or the same one you’ve been using.CMD nano /tmp/samba_indexes.ldifADD dn: olcDatabase={1}hdb,cn=configchangetype: modifyadd: olcDbIndexolcDbIndex: uidNumber eqolcDbIndex: gidNumber eqolcDbIndex: loginShell eqolcDbIndex: uid eq,pres,subolcDbIndex: memberUid eq,pres,subolcDbIndex: uniqueMember eq,presolcDbIndex: sambaSID eq
  10. 10. olcDbIndex: sambaPrimaryGroupSID eqolcDbIndex: sambaGroupType eqolcDbIndex: sambaSIDList eqolcDbIndex: sambaDomainName eqolcDbIndex: default subCMD ldapmodify ­Y EXTERNAL ­H ldapi:/// ­D cn=admin,cn=config ­W ­f/tmp/samba_indexes.ldifEnter Password “enjay123”, or the same one you’ve been using.CMD The following should execute without error:ldapsearch ­Y EXTERNAL ­H ldapi:/// ­D cn=admin,cn=config ­b cn=config­W olcDatabase={1}hdbEnter Password “enjay123”, or the same one you’ve been using.Verify olcSuffix:, olcAccess:, olcAccess:, olcRootDN:, olcRootPW:.CMD net getlocalsidShould run without error and look similar toSID for domain ENJAY is: S­1­5­21­625349716­4089457091­4047952833To get configure.plDownload Package: smbldap­tools 0.9.1.tgz and extract .Reference Link:­tools­0.9.1.tgz.295169­0.htmlthen copy file from the package files.then copy the file to the location specified in the below command.CMD cp /usr/share/doc/smbldap­tools/CMD perl /usr/share/doc/smbldap­tools/configure.plHere hit Enter at all times except:"Logon Home", put a “.” (period without quotes)"Logon Path", put a "."Default passwd validation time, I put 3650When prompted for password, use your password or “enjay123”.CMD smbldap­populateEnter Password “enjay123”, or the same one you’ve been using.It will shows following output with error.
  11. 11. O/P:Use of qw(...) as parentheses is deprecated at/usr/share/perl5/ line 1423, <DATA> line 522.Changing UNIX and samba passwords for rootNew password:Retype new password:Solution: Replace qw(...) with (qw(...))  in /usr/share/perl5/smbldap_tools.pmRepeat the command  smbldap­populateCMD mkdir ­v /home/userhomeCMD cp /etc/smbldap­tools/smbldap.conf /etc/smbldap­tools/smbldap.conf.originalCMD nano /etc/smbldap­tools/smbldap.confADD/EDIT Locate and change to: userHome="/home/userhome/%U"CMD /etc/init.d/slapd stopCMD slapindexCMD chown openldap:openldap /var/lib/ldap/*CMD /etc/init.d/slapd startCMD smbldap­groupmod ­m root AdministratorsCMD apt­get ­­yes install ldap­auth­clientFor LDAP server Uniform Resource Identifier, leave it as it is "ldapi:///"For Distinguished name of the search base, put"dc=eclipse,dc=com"for version 3LDAP Database required YESFor LDAP account for root, put"cn=admin,dc=eclipse,dc=com"Unpriviliged Database user,put"cn=admin,dc=eclipse,dc=com"When it asks for LDAP password use "enjay123" or the pw you’ve been using.
  12. 12. CMD auth­client­config ­t nss ­p lac_ldapCMD pam­auth­update ldapCMD Make sure there’s an asterisk next to all listed.getent groupO/P:Should show similar to:Domain Admins:*:512:rootDomain Users:*:513:Domain Guests:*:514:Domain Computers:*:515:Administrators:*:544:rootAccount Operators:*:548:Print Operators:*:550:Backup Operators:*:551:Replicators:*:552:CDM RebootCreate a Domain user called test :­CMD smbldap­useradd ­a ­m ­P test that lead to an errorERROR root@enjay:~# smbldap­useradd ­a ­m ­P testFailed to execute: /usr/sbin/smbldap­passwd.cmd: No such file or directory at/usr/sbin/smbldap­useradd line 668.Solution ln ­s /usr/sbin/smbldap­passwd /usr/sbin/smbldap­passwd.cmdCMD smbldap­useradd ­a ­m ­P testgive password as “123”CMD smbldap­groupmod ­m test Domain AdminsNow Connect  the user from windows XP.Settings are as per below:1. Enter Prefered DNS Server as Open Advanced Options in the IP settings window.3. Click on WINS tab.  CLick on Add button and enter as WINS Server.
  13. 13. 4. Enable NetBIOS over TCP/IP radio button in WINS Tab.5. RIght click on My Computer ­> Properties.6. Select Computer name Tab.Cicik on change button.7. In domain Add the name of the Domain  “eclipse”.8. It will ask for username and password. enter Username “root” and password “enjay123”.9. Reboot the system10. Add username as “test” ,password as “123” and select “eclipse” as a domain.1. Documentation ­ Implementing Smbldap­tools in Tiguin for Samba PDC2. Documentation ­ Implementing ldap in Tiguin for Samba PDC3. Documentation ­ Creating Users for Samba PDC Authentication in Tiguin