Copy of a document found here:
(just exported as text in Acrobat & removed extra line breaks)
Also see this thread:
Other links that might be of interest:
- http://www.idealx.org/prj/samba/smbldap-howto.fr.html
- http://www.idealx.org/prj/samba/smbldap-tools.fr.html
- http://www.idealx.org/prj/imc/samba-console.html
- http://phpldapadmin.sourceforge.net/
- http://hu.samba.org/samba/docs/man/Samba-Guide/index.html
And this project may be of interest to another
project - Openxchange on SME - see these links:
- http://www.open-xchange.org/oxwiki/OX_20and_20Samba_20Login_20through_20LDAP
- HomePage.html/Open-Xchange
- http://forums.contribs.org/viewtopic.php?p=108430#108430
- http://mirror.open-xchange.org/ox/EN/community/
How to SAMBA+PDC+OpenLDAP Author: Henry Gómez Noguera Email:gomezhenry2302@yahoo.com.mx Website: http://www.isfalpiz.com/ Release Tested: e-smith 5.6, SME 5.6 License: GPL Last updated: March 17, 2005 03:54 PM All rpms you will need is in ftp://ftp.redhat.com/pub/redhat/linux/updates/7.3/en/os/i386/ You can find more information at next link: http://hu.samba.org/samba/docs/man/Samba-Guide/index.html In my opinion the best. What you will need: .. Read all this paper and understand what are you going to do. .. Don’t use production environment. .. You may need Internet connection in order to install Perl modules. .. Parameters when you are installing e-smith: .. LDAP : idealx.org .. Name of server : PDC-SRV .. Enable remote access (Secure shell access). .. Change Windows workgroup from "mitel-networks" to "IDEALX-NT" .. "Workgroup and Domain Controller" set to yes. .. Create root SAMBA User: smbadduser root:Administrador pico /etc/smb.conf # Add the lines in green to the EOF [everything] comment = Root File System path = / read only = No guest ok = Yes service smb restart it is in order to access root file system via NEBIOS using root this SAMBA account. Paste http://www.isfalpiz.com/howtos/cpan.tar.gz into \\pdc-srv\everything\root\. Unpack it, it will create a folder name “.cpan”. rpms that you will need: .. e-smith-service-control-1.1.0-06.noarch.rpm .. sme-phpldapadmin-0.1-1MstSlp.noarch.rpm .. cpan.tar.gz .. glibc-kernheaders-2.4-7.14.i386.rpm .. glibc-devel-2.2.5-34.i386.rpm .. cpp-2.96-110.i386.rpm .. gcc-2.96-110.i386.rpm .. pam-0.75-46.7.3.i386.rpm .. pam-devel-0.75-46.7.3.i386.rpm .. pam_smb-1.1.6-9.7.i386.rpm .. krb5-libs-1.2.4-11.i386.rpm .. krb5-devel-1.2.4-11.i386.rpm .. nscd-2.2.5-44.i386.rpm .. nss_ldap-189-4.i386.rpm .. openldap-2.0.27-2.7.3.i386.rpm .. openldap-2.0.23-4es2 .. openldap-devel-2.0.27-2.7.3.i386.rpm .. openldap-clients-2.0.27-2.7.3.i386.rpm .. openldap-servers-2.0.27-2.7.3.i386.rpm .. samba-3.0.10.tar.gz pico /etc/profile add next line to the end of file, below last export "export PATH USER LOGNAME...." export PERLLIB=$PERLLIB:/usr/local/sbin REASON:The file /usr/local/sbin/smbldap_conf.pm will need it to work fine. disconnect and connect again to take changes 1.- Install compilers rpm -Uvh glibc-kernheaders-2.4-7.14.i386.rpm rpm -Uvh glibc-devel-2.2.5-34.i386.rpm rpm -Uvh cpp-2.96-110.i386.rpm rpm -Uvh gcc-2.96-110.i386.rpm 2- Install perl, CPAN bundles cd /usr/local/ ln -s /usr/bin/openssl openssl export PERL_READLINE_NOWARN='' perl -MCPAN -e -shell >Let it run. Answer “no” when it asks about Manual configuration. >Once it stops you'll be at the cpan prompt....type install Bundle::CPAN >this will install many perl modules for you. Answer “yes” to any dependency questions. >When you get the question Do you want to modify/update your configuration (y|n) ? [no] >the answer is “no” Once you are finished...hit “enter” to exit....it'll run for a >few seconds more and then bring you back to the cpan prompt. For good measure let's >type reload cpan install Net::SSLeay > The install will fail, we will continue and next we will fix it... install Net::LDAP > The install will fail, we will continue and next we will fix it... > when it ask you: Auto-install the 1 optional module(s) from CPAN? [n] "y" > and Answer “y” to any dependency questions. > Type exit to quit from the cpan prompt. Now we will fix Net::SSLeay and Net::LDAP: cd /root/.cpan/build/Net_SSLeay.pm-1.25 perl Makefile.PL make make test cd /root/.cpan/build/Net_SSLeay.pm-1.25/blib/lib cp -r * /usr/lib/perl5/5.6.1 cd /root/.cpan/build/IO-Socket-SSL-0.96 perl Makefile.PL make make test cd /root/.cpan/build/IO-Socket-SSL-0.96/blib/lib cp -r * /usr/lib/perl5/5.6.1 Get into perl again: perl -MCPAN -e -shell install Net::SSLeay install Net::LDAP >Answer “y” to any dependency questions. install Unicode::MapUTF8 >Answer “yes” to any dependency questions. This module will be necessary if you ever >choose to use >the idxldapaccounts webmin module. install Crypt::SmbHash install Convert::BER exit 3.- Install service manager rpm -Uvh e-smith-service-control-1.1.0-06.noarch.rpm Refresh your sever manager and unmark the fallowing services: .. Macintosh file & print sharing .. FTP server .. Mail retrieval .. Mail transport .. Web proxy 4.- Install sme-phpldapadmin-0.1-1MstSlp.noarch.rpm rpm -ivh sme-phpldapadmin-0.1-1MstSlp.noarch.rpm It's in /opt/phpLdapAdmin and you can access it by https://pdc-srv/phpldapadmin/ check it please, you should see "dc=idealx,dc=org" “shutdown –r now” Test LDAP access is ok ldapsearch -h localhost -p 389 –x OUTPUT: version: 2 # # filter: (objectclass=*) # requesting: ALL # # idealx, org dn: dc=idealx,dc=org objectClass: organization # search result search: 2 result: 0 Success # numResponses: 2 # numEntries: 1 service ldap restart slapcat OUTPUT: dn: dc=idealx,dc=org objectClass: organization NOTE: When you run “ldapsearch” command it lock “/var/lib/ldap/id2entry.gdbm” file, “slapcat” command cannot access it. Check it with “slapcat –d -1” in order to it work you must restart LDAP service. 5.- Install pam-devel-0.75-46.7.3.i386.rpm rpm -Uvh pam-0.75-46.7.3.i386.rpm rpm -Uvh pam-devel-0.75-46.7.3.i386.rpm mv /etc/pam_smb.conf /etc/pam_smb.conf.old rpm -Uvh pam_smb-1.1.6-9.7.i386.rpm pico /etc/pam_smb.conf delete the word WORKGROUP and copy the lines in green IDEALX-NT PDC-SRV 6.- Instalar krb5-devel rpm -Uvh krb5-libs-1.2.4-11.i386.rpm rpm -Uvh krb5-devel-1.2.4-11.i386.rpm 7.-Install nscd rpms, in order to run "authconfig" mv /etc/ldap.conf /etc/ldap.conf.old rpm -Uvh nscd-2.2.5-44.i386.rpm rpm -Uvh nss_ldap-189-4.i386.rpm NOTE: The last rpm create the file /etc/ldap.conf this file is very important in order to reach our goals, if you made something wrong here you can lost access to your server. Take care with it. let's to configure /etc/ldap.conf file: mv /etc/ldap.conf /etc/ldap.conf.hgn mkdir -p /etc/e-smith/templates-custom/etc/ldap.conf cp /etc/ldap.conf.hgn /etc/e-smith/templates-custom/etc/ldap.conf/template-begin cd /etc/e-smith/templates-custom/etc/ldap.conf pico template-begin .. Comment out the line with #base dc=example,dc=com and write bellow the next line base { esmith::util::ldapBase ($DomainName); } .. Find the line with this comment # nss_base_XXX {base?scope?filter} In my case was the num 129, delete the symbols { and } in order to expand the template without problems. .. In the “The search scope Option”, uncomment the “#scope sub”, ie, delete the numeral symbol. .. Make a white line under line within text #nss_base_passwd ou=People,dc=example,dc=com?one and add next 3 lines nss_base_passwd { esmith::util::ldapBase ($DomainName); }?sub nss_base_shadow { esmith::util::ldapBase ($DomainName); }?sub nss_base_group ou=Groups, { esmith::util::ldapBase ($DomainName); }?one If next 2 lines doesn’t exist into this file (template-begin) just add it ssl no pam_password md5 /sbin/e-smith/expand-template /etc/ldap.conf 8.- Update openldap rpms. rpm -ivh --force openldap-2.0.27-2.7.3.i386.rpm rpm -e --nodeps openldap-2.0.23-4es2 rpm -Uvh openldap-devel-2.0.27-2.7.3.i386.rpm rpm -Uvh openldap-clients-2.0.27-2.7.3.i386.rpm rpm -Uvh openldap-servers-2.0.27-2.7.3.i386.rpm Last one made the file /etc/openldap/slapd.conf.rpmnew, don't worry about it. service ldap restart ldapsearch -h localhost -p 389 –x OUTPUT: version: 2 # # filter: (objectclass=*) # requesting: ALL # # idealx, org dn: dc=idealx,dc=org objectClass: organization # search result search: 2 result: 0 Success # numResponses: 2 # numEntries: 1 service ldap restart slapcat OUTPUT: dn: dc=idealx,dc=org objectClass: organization and check your web ldap brouser ( https://pdc-srv/phpldapadmin/ ) if you can see it everything goes alright. A very important moment, let's to configure nscd: authconfig Math to next information Cache Information Use LDAP (* when you mark "Use LDAP" in your right must be *) dont select 'Use TSL' (* appear Server and Base DN information that you *) Server: 127.0.0.1 (* put into /etc/ldap.conf *) Base DN: dc=idealx,dc=org Use Shadow Passwords Use MD5 Passwords Use LDAP Authentification (* when you mark "Use LDAP Authentification" in *) Server : 127.0.0.1 (* your right must be appear Server and Base DN *) Base DN: dc=idealx,dc=org when you select Ok, it will start "nscd" service. chkconfig nscd on Next is another very important moment 9.- update SAMBA to 3.0.10, we will built the rpm in order to update it. get samba-3.0.10.tar.gz and put it in \\pdc-srv\admin\samba or whatever using user "admin" in ssh: cd /home/e-smith/files/users/admin/home/samba/ gunzip samba-3.0.10.tar.gz tar -xvf samba-3.0.10.tar cd samba-3.0.10/packaging/RedHat pico samba.spec Add next 5 lines in option section, don't forget "\" at the EOL of --with-libsmbclient --with-acl-support \ --with-profile \ --disable-static \ --with-msdfs \ --with-ldapsam sh makerpms.sh if everything ok let go to update samba. cd /usr/src/redhat/RPMS/i386/ rpm -Uvh samba-3.0.10-1.i386.rpm this is the output: [root@linux i386]# rpm -Uvh samba-3.0.10-1.i386.rpm Preparing... ########################################### [100%] 1:samba warning: /etc/samba/smb.conf created as /etc/samba/smb.conf.rpmnew ########################################### [100%] Moving tdb files in /var/cache/samba/*.tdb to /var/lib/samba/*.tdb Moving /var/cache/samba/brlock.tdb to /var/lib/samba/brlock.tdb Moving /var/cache/samba/connections.tdb to /var/lib/samba/connections.tdb Moving /var/cache/samba/locking.tdb to /var/lib/samba/locking.tdb Moving /var/cache/samba/messages.tdb to /var/lib/samba/messages.tdb Moving /var/cache/samba/ntdrivers.tdb to /var/lib/samba/ntdrivers.tdb Moving /var/cache/samba/ntforms.tdb to /var/lib/samba/ntforms.tdb Moving /var/cache/samba/ntprinters.tdb to /var/lib/samba/ntprinters.tdb Moving /var/cache/samba/printing.tdb to /var/lib/samba/printing.tdb Moving /var/cache/samba/sessionid.tdb to /var/lib/samba/sessionid.tdb Moving /var/cache/samba/share_info.tdb to /var/lib/samba/share_info.tdb Moving /var/cache/samba/unexpected.tdb to /var/lib/samba/unexpected.tdb Installing stack version of /etc/pam.d/samba... error: execution of %postun scriptlet from samba-2.2.5-10 failed, exit status 1 [root@linux i386]# 10.- Let's Configure OPENLDAP files: .. /etc/openldap/ldap.conf: cd /etc/e-smith/templates/etc/openldap/ldap.conf mkdir -p /etc/e-smith/templates-custom/etc/openldap/ldap.conf cp * /etc/e-smith/templates-custom/etc/openldap/ldap.conf cd /etc/e-smith/templates-custom/etc/openldap/ldap.conf In the future you can make any change here. /sbin/e-smith/expand-template /etc/openldap/ldap.conf .. /etc/openldap/slapd.conf: cd /etc/e-smith/templates/etc/openldap/slapd.conf mkdir -p /etc/e-smith/templates-custom/etc/openldap/slapd.conf cp * /etc/e-smith/templates-custom/etc/openldap/slapd.conf cd /etc/e-smith/templates-custom/etc/openldap/slapd.conf pico 10schema add green line bellow the line where appear nis.schema include /etc/openldap/schema/samba.schema pico 90indexes Comment out all in this file and add the green lines # Indices to maintain index objectClass eq index cn pres,sub,eq index sn pres,sub,eq index uid pres,sub,eq index displayName pres,sub,eq index uidNumber eq index gidNumber eq index memberUID eq index sambaSID eq index sambaPrimaryGroupSID eq index sambaDomainName eq index member eq index default sub NOTE: the 91access file is a very important file of everything, you must look for more about it. pico 91access Add green lines access to attrs=userPassword,sambaLMPassword,sambaNTPassword by self write by anonymous auth by * none access to * by * read cp /usr/share/doc/samba-3.0.10/examples/LDAP/samba.schema /etc/openldap/schema/ /sbin/e-smith/expand-template /etc/openldap/slapd.conf service ldap restart Testing how it goes: slapcat OUTPUT: dn: dc=idealx,dc=org objectClass: organization NOTE: The system now is using PAM to authenticate user, if something is wrong and you logoff your system then you will not enable to login. check your page https://pdc-srv/phpldapadmin/ yet there? yes??!!! then ok. 11.- Configure smbldap-tools Copy the smbldap-tools Note that in /usr/local/sbin/ just there is one file: ipsec cd /usr/share/doc/samba-3.0.10/examples/LDAP/smbldap-tools cp *.p* /usr/local/sbin/ cd mkntpwd make make install cd /usr/local/sbin/ ln -s /sbin/mkntpwd mkntpwd chmod 753 *.pm chmod 750 *.pl chgrp 512 smbldap_conf.pm smbldap-useradd.pl chgrp 512 smbldap_conf.pm *.pl NOTE: 512 = 0x200 = Domain Admins let's configure smbldap-tools: cd /usr/local/sbin pico smbldap_conf.pm There is Change by $suffix = "dc=IDEALX,dc=COM"; $suffix = "dc=idealx,dc=org"; $usersou = q(_USERS_); $usersou = q(Users); $computersou = q(_COMPUTERS_); $computersou = q(Computers); $groupsou = q(_GROUPS_); $groupsou = q(Groups); $binddn = "cn=Manager,$suffix"; $binddn = "cn=root,$suffix"; $_userLoginShell = q(_LOGINSHELL_); $_userLoginShell = q(/bin/bash); $_userHomePrefix = q(_HOMEPREFIX_); $_userHomePrefix = q(/home/e-smith/files/users); $_userSmbHome = q(\\\\_PDCNAME_\\homes); $_userSmbHome = q(\\\\pdc-srv\\%S); $_userProfile = q(\\\\_PDCNAME_\\profiles\\); $_userProfile = q(\\\\pdc-srv\\profiles\\); $_userHomeDrive = q(_HOMEDRIVE_); $_userHomeDrive = q(H); NOTE: When you create a SMB User you must login like him and create the a folder named home into linux home in order to he can see it via NETBIOS. 12.- Let's configure /etc/smb.conf file: You can test on the file /etc/smb.conf, when you understand everything then modify the template. cd /etc/e-smith/templates/etc/smb.conf mkdir -p /etc/e-smith/templates-custom/etc/smb.conf cp * /etc/e-smith/templates-custom/etc/smb.conf cd /etc/e-smith/templates-custom/etc/smb.conf pico 11addLDAP Add the green lines. ; SAMBA-LDAP declarations passdb backend = ldapsam:ldap://127.0.0.1/ # ldap filter = (&(objectclass=sambaSamAccount)(uid=%u)) #ldap admin dn = cn=root,dc=idealx,dc=org ldap admin dn = cn=root,{ esmith::util::ldapBase ($DomainName); } ldap suffix = dc=idealx,dc=org ldap group suffix = ou=Groups ldap user suffix = ou=Users ldap machine suffix = ou=Computers ldap idmap suffix = ou=Idmap #ldap ssl = start_tls ldap ssl = No ldap passwd sync = Yes ldap delete dn = Yes idmap backend = ldap:ldap://localhost idmap uid = 10000-20000 idmap gid = 10000-20000 map acl inherit = Yes pico 11addUserScript Comment out the line "add user script = /sbin/e-smith/signal-event machine-account-create '%u'" and paste the grren lines. add user script = /usr/local/sbin/smbldap-useradd.pl -m "%u" delete user script = /usr/local/sbin/smbldap-userdel.pl "%u" add group script = /usr/local/sbin/smbldap-groupadd.pl -p "%g" delete group script = /usr/local/sbin/smbldap-groupdel.pl "%g" add user to group script = /usr/local/sbin/smbldap-groupmod.pl -m "%u" "%g" delete user from group script = /usr/local/sbin/smbldap-groupmod.pl -x "%u" "%g" set primary group script = /usr/local/sbin/smbldap-usermod.pl -g "%g" "%u" add machine script = /usr/local/sbin/smbldap-useradd.pl -w "%u" pico 11unixPasswordSync Comment out the line #unix password sync = Yes Into file /etc/smb.conf you will see a line like next #unix password sync = Yes pico 11characterSet Comment out the line "#character set = $characterSet"; Into file /etc/smb.conf you will see a line like next #character set = ISO8859-1 pico 11clientCodePage Comment out the line "#client code page = $clientCodePage"; Into file /etc/smb.conf you will see a line like next #client code page = 850 pico 11DOScharacterSet Add the next line to this file dos charset = 850 pico 11UNIXcharacterSet Add the next line to this file unix charset = ISO8859-1 pico 11domainAdminGroup Comment out the line #domain admin group = admin /sbin/e-smith/expand-template /etc/smb.conf pico /etc/smb.conf Add the next 5 lines to the EOF [everything] comment = Root File System path = / read only = No guest ok = Yes service smb restart cd /etc/e-smith/templates-custom/etc/openldap/slapd.conf pico 80rootpw Comment out #rootpw SP0e.....or whatever and put just bellow the new one. rootpw secret /sbin/e-smith/expand-template /etc/openldap/slapd.conf service ldap restart service nscd restart service smb restart NOTE: Now you cannot access your server via NETBIOS because smb are trying to negotiate with LDAP. You still cannot access your system via SSH. smbpasswd -w secret OUTPUT: [root@pdc-srv smb.conf]# smbpasswd -w secret Setting stored password for "cn=root,dc=idealx,dc=org" in secrets.tdb Hey, if you are ok at this time, your smb is ready to talk with LDAP!!!!! let's test it!!!! You can see we write the password "secret" into file /etc/openldap/slapd.conf that mean that https://pdc-srv/phpldapadmin/ doesn't work!!! we fix in a while let's continue... Testing SAMBA: smbclient -L localhost -U% OUTPUT: [root@pdc-srv openldap]# smbclient -L localhost -U% Domain=[IDEALX-NT] OS=[Unix] Server=[Samba 3.0.10] Sharename Type Comment --------- ---- ------- Primary Disk Primary site print$ Disk Printer drivers IPC$ IPC IPC Service (Mitel Networks SME Server) ADMIN$ IPC IPC Service (Mitel Networks SME Server) Domain=[IDEALX-NT] OS=[Unix] Server=[Samba 3.0.10] Server Comment --------- ------- PDC-SRV Mitel Networks SME Server Workgroup Master --------- ------- IDEALX-NT PDC-SRV You can see something like that? Good you are on the right way. Let's to fix https://pdc-srv/phpldapadmin/ cd /opt/phpLdapAdmin cp config.php config.php.hgn pico config.php There is Change by $servers[$i]['login_pass'] = 'SP0euyhfVU..or whatever....'; $servers[$i]['login_pass'] = 'secret'; $servers[$i]['default_hash'] = 'crypt'; $servers[$i]['default_hash'] = ''; check https://pdc-srv/phpldapadmin/ again...it's working again.. let's continue... net getlocalsid OUTPUT: SID for domain PDC-SRV is: S-1-5-21-3359933246-2108200770-1561940351 This is SID for my system now, you must know that your will be different copy your SID and paste into /usr/local/sbin/smbldap_conf.pm file, there is a place in it to do it. pico /usr/local/sbin/smbldap_conf.pm paste the new SID service ldap restart service nscd restart service smb restart LDAP Initialization and Creation of User and Group Accounts: smbldap-populate.pl OUTPUT: Using builtin directory structure adding new entry: dc=idealx,dc=org failed to add entry: Already exists at /usr/local/sbin/smbldap-populate.pl line 323, <GEN1> line 2. adding new entry: ou=Users,dc=idealx,dc=org adding new entry: ou=Groups,dc=idealx,dc=org adding new entry: ou=Computers,dc=idealx,dc=org adding new entry: uid=Administrator,ou=Users,dc=idealx,dc=org adding new entry: uid=nobody,ou=Users,dc=idealx,dc=org adding new entry: cn=Domain Admins,ou=Groups,dc=idealx,dc=org adding new entry: cn=Domain Users,ou=Groups,dc=idealx,dc=org adding new entry: cn=Domain Guests,ou=Groups,dc=idealx,dc=org adding new entry: cn=Administrators,ou=Groups,dc=idealx,dc=org adding new entry: cn=Users,ou=Groups,dc=idealx,dc=org adding new entry: cn=Guests,ou=Groups,dc=idealx,dc=org adding new entry: cn=Power Users,ou=Groups,dc=idealx,dc=org adding new entry: cn=Account Operators,ou=Groups,dc=idealx,dc=org adding new entry: cn=Server Operators,ou=Groups,dc=idealx,dc=org adding new entry: cn=Print Operators,ou=Groups,dc=idealx,dc=org adding new entry: cn=Backup Operators,ou=Groups,dc=idealx,dc=org adding new entry: cn=Replicator,ou=Groups,dc=idealx,dc=org adding new entry: cn=Domain Computers,ou=Groups,dc=idealx,dc=org Testing: Test Num 1: Verify group mapping net groupmap list OUTPUT: Domain Admins (S-1-5-21-318969787-2811654421-2933099056-512) -> Domain Admins Domain Users (S-1-5-21-318969787-2811654421-2933099056-513) -> Domain Users Domain Guests (S-1-5-21-318969787-2811654421-2933099056-514) -> Domain Guests Administrators (S-1-5-21-318969787-2811654421-2933099056-544) -> Administrators users (S-1-5-21-318969787-2811654421-2933099056-545) -> Users Guests (S-1-5-21-318969787-2811654421-2933099056-546) -> Guests Power Users (S-1-5-21-318969787-2811654421-2933099056-547) -> Power Users Account Operators (S-1-5-21-318969787-2811654421-2933099056-548) -> Account Operators Server Operators (S-1-5-21-318969787-2811654421-2933099056-549) -> Server Operators Print Operators (S-1-5-21-318969787-2811654421-2933099056-550) -> Print Operators Backup Operators (S-1-5-21-318969787-2811654421-2933099056-551) -> Backup Operators Replicator (S-1-5-21-318969787-2811654421-2933099056-552) -> Replicator Domain Computers (S-1-5-21-318969787-2811654421-2933099056-553) -> Domain Computers Test Num 2: Verify LDAP Search ldapsearch -h localhost -p 389 –x slapcat If “slapcat” command cannot access id2entry.gdbm file, then run “service ldap restart” and try again. You should see something like this: dn: cn=Replicator,ou=Groups,dc=idealx,dc=org objectClass: posixGroup objectClass: sambaGroupMapping gidNumber: 552 cn: Replicator description: Netbios Domain Supports file replication in a sambaDomainName sambaSID: S-1-5-21-4274089402-4106609864-1284629750-552 sambaGroupType: 2 displayName: Replicator creatorsName: cn=root,dc=idealx,dc=org createTimestamp: 20050316203350Z modifiersName: cn=root,dc=idealx,dc=org modifyTimestamp: 20050316203350Z dn: cn=Print Operators,ou=Groups,dc=idealx,dc=org objectClass: posixGroup objectClass: sambaGroupMapping gidNumber: 550 cn: Print Operators description: Netbios Domain Print Operators sambaSID: S-1-5-21-4274089402-4106609864-1284629750-550 sambaGroupType: 2 displayName: Print Operators creatorsName: cn=root,dc=idealx,dc=org createTimestamp: 20050316203350Z modifiersName: cn=root,dc=idealx,dc=org modifyTimestamp: 20050316203350Z dn: uid=Administrator,ou=Users,dc=idealx,dc=org cn: Administrator sn: Administrator objectClass: inetOrgPerson objectClass: sambaSamAccount objectClass: posixAccount gidNumber: 512 uid: Administrator uidNumber: 998 homeDirectory: /home/e-smith/files/users sambaPwdLastSet: 0 sambaLogonTime: 0 sambaLogoffTime: 2147483647 sambaKickoffTime: 2147483647 sambaPwdCanChange: 0 sambaPwdMustChange: 2147483647 sambaHomePath: \\pdc-srv\%S sambaHomeDrive: H sambaProfilePath: \\pdc-srv\profiles\ sambaPrimaryGroupSID: S-1-5-21-4274089402-4106609864-1284629750-512 sambaLMPassword: XXX sambaNTPassword: XXX sambaAcctFlags: [U ] sambaSID: S-1-5-21-4274089402-4106609864-1284629750-2996 loginShell: /bin/false gecos: Netbios Domain Administrator creatorsName: cn=root,dc=idealx,dc=org createTimestamp: 20050316203348Z modifiersName: cn=root,dc=idealx,dc=org modifyTimestamp: 20050316203348Z …….. …….. NOTE: Check https://pdc-srv/phpldapadmin/ you must see something like next graph, users nobody and Administrator was created by smbldap-populate.pl script you only need add password to Administrator user to use it. cd /usr/local/sbin smbldap-passwd.pl Administrator mkdir –p /home/e-smith/files/users/Administrator/home chown -R Administrator:"Domain Admins" /home/e-smith/files/users/Administrator In “cmd” use “net use /del *” Try via NETBIOS \\pdc-srv using “Administrator” user and password you create above Test Num 3: Create a Unix (Posix) user account smbldap-useradd.pl -m testuser1 smbldap-passwd.pl testuser1 ssh testuser1@pdc-srv Test Num 3: Create an Samba user account smbldap-useradd.pl -a -m -c "John Doo" jdoo smbldap-passwd.pl jdoo ssh jdoo@pdc-srv mkdir home In “cmd” use “net use /del *” Try via NETBIOS \\pdc-srv using “jdoo” user and password you create above You must now make certain that the NSS resolver can interrogate LDAP also. Execute the following commands: getent passwd OUTPUT: At the end you should see something similar to this: Administrator:x:998:512:Netbios Domain Administrator:/home/e- smith/files/users:/bin/false nobody:x:999:514:nobody:/dev/null:/bin/false testuser1:x:1000:513:System User:/home/e-smith/files/users/testuser1:/bin/bash jdoo:x:1001:513:John Doo:/home/e-smith/files/users/jdoo:/bin/bash getent group | grep Domain Domain Admins:x:512:Administrator Domain Users:x:513:testuser1,jdoo Domain Guests:x:514: Domain Computers:x:553: To join clients to DOMAIN: In workgroup from https://pdc-srv/server-manager you can now enable “Roaming profiles” chmod 1777 /home/e-smith/files/samba/profiles The RequireSignOrSeal and RequireStrongKey registry keys (gathered from the Samba- tng lists) are needed for Windows 2000 and XP clients to join and logon to a Samba domain: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\netlogon\parameters "requirestrongkey"=dword:00000000 "requiresignorseal"=dword:00000000 Create root user into LDAP: This user will be the only one user that will can join Windows 2000 and XP workstation clients to domain. You can create others “domain Admins” but I don’t know . To create this false user (false because the user root should be present on you're system files, not in LDAP), just issue the following commands: smbldap-useradd.pl -a -m -g 512 root smbldap-passwd.pl root mkdir –p /home/e-smith/files/users/root/home chown -R root:"Domain Admins" /home/e-smith/files/users/root smbldap-useradd.pl -a -m -g 512 hgomez smbldap-passwd.pl hgomez mkdir –p /home/e-smith/files/users/hgomez/home chown -R hgomez:"Domain Admins" /home/e-smith/files/users/hgomez Delete Test users: smbldap-userdel.pl -r jdoo smbldap-userdel.pl -r testuser1 I don’t know what will happen if you delete root user from LDAP Server!!!!! If you want to try do it and tell me… FINAL NOTE: I know is possible that posix user can access their home folder via NETBIOS, in certain view point both are same thing, but by now only SAMBA user will be enable to reach resources into SAMBA Server. Enjoy.... Henry Gómez N.