Howto Add a Samba4 Domain Controller: Difference between revisions

From Pumping Station One
m Host Setup: fixing hosts entry
No edit summary
 
(20 intermediate revisions by 3 users not shown)
Line 1: Line 1:
== DNS Records ==
{{mbox |type=warning |text=This information is out of date. [[IT Infrastructure|Up-to-date IT information can be found here]] }}


* Set an A record for auth.pumpingstationone.org
== Setup ==
* Set a NS record for ad.pumpingstationone.org to auth.pumpingstationone.org


== Host Setup ==
* Follow the Arch provision guide
* Add role: dc to the salt minion config.


    echo "auth.pumpingstationone.org" > /etc/hostname


in /etc/hosts
Create a file called /etc/salt/minion.d/dc.conf
   1.2.3.4 auth.ad.pumpingstationone.org auth
<pre>
grains:
   roles:
    - dc
</pre>


== Samba ==
== Joining As a Domain Controller ==
There is no stable, working version of Samba 4 shipping with ubuntu.  You have to download it from source for now.  As of writing, version 4.0.5 works


  git clone -b v4-0-stable git://git.samba.org/samba.git samba
    samba-tool domain join AD.PUMPINGSTATIONONE.ORG DC -U hef
  ./configure
  make
  make install


=== Provisioning ===
=== Checking and Fixing DNS ===


DNS doesn't always register correctly.


  /usr/local/samba/bin/samba-tool domain provision --realm=ad.pumpingstationone.org --domain=PS1 --server-role=dc
check it:


Make a note of the admin password. You may need it later.
    host -t dc01.ad.pumpingstationone.org.


=== Kerberos ===
If nothing comes back, re add it by hand.


  apt-get install kerberos
    samba-tool dns add bob ad.pumpingstationone.org dc01 A 10.100.0.112


/etc/krb5.conf
At this point you need the guid for the new server. The [https://wiki.samba.org/index.php/Join_a_domain_as_a_DC Samba Guide] References the ldbsearch commmand. I couldn't get it to work, so I grabbed the objectGuid field from CN=NTDS Settings,CN=DC01,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=ad,DC=pumpingstationone,DC=org in ldap.
  [libdefaults]
      default_realm = AD.ARBITRARION.COM
      dns_lookup_realm = false
      dns_lookup_kdc = true


=== Adding Users ===
    host -t CNAME af4c9efd-56f6-4160-8335-cf8e5a5ada8f._msdcs.ad.pumpingstationone.org


To create the user "hef" and set the user password, use the following command:
If it's missing add it:
  /usr/local/samba/bin/samba-tool user add hef
 
    samba-tool dns add bob _msdcs.ad.pumpingstationone.org af4c9efd-56f6-4160-8335-cf8e5a5ada8f CNAME dc01.ad.pumpingstationone.org
 
== Joining As a Domain Member ==


    net ads join -U hef


To add the user "hef" to the "Domain Admins" group, use the following command:
The samba-tool domain join command does not get winbindd working correctly. The <code>net</code> command is required.
  /usr/local/samba/bin/samba-tool group addmembers "Domain Admins" hef


== Services ==


=== Wordpress ===
== Adding Users ==


# Log in as admin user.
Regular users need to get there account through https://members.pumpingstationone.org.
# Install the active-directory-integration plugin.


service and test accounts can be created with the following procedire


==== ADI Settings ====
Under Settings >> Active Directory Integration set the following:


{| class="wikitable"
To create the user "hef" and set the user password, use the following command:
|Server || Domain Controllers || auth.pumpingstationonei.org
  samba-tool user add hef
|-
| || Base DN ||cn=Users,dc=ad,dc=pumpingstationone,dc=org
|-
|User || Account Suffix || @ad.pumpingstationone.org
|-
| || Automatic User Creation || check
|-
| || Automatic User Update || check
|-
| || Prevent Email Change || check (maybe not, might be an easy way for users to update email address)
|-
|Authorization || Role Equivalent Groups || Domain Admins=administrator
|-
|Security || User Notification || check
|}


=== MediaWiki ===


At the bottom of Mediawikis LocalSettings.php
To add the user "hef" to the "Domain Admins" group, use the following command:
  samba-tool group addmembers "Domain Admins" hef


  require_once( "$IP/extensions/LdapAuthentication/LdapAuthentication.php" );
[[Category:IT Equipment]]
  $wgAuth = new LdapAuthenticationPlugin();
  $wgLDAPDomainNames = array( 'PS1' );
  $wgLDAPServerNames = array( 'PS1' => 'auth.pumpingstationone.org' );
  $wgLDAPSearchSrings = array( 'PS1' => 'USER-NAME@ad.arbitrarion.com' );
  $wgLDAPEncryptionType = array( 'PS1' => 'clear' );
  $wgLDAPUseLocal = false;
 
  #proxy agent
  # TODO this shouldn't use the Administrator account, another service account should suffice.
  $wgLDAPProxyAgent = array( 'PS1' => 'CN=Administrator,CN=Users,DC=ad,DC=pumpingstationone,DC=org' );
  $wgLDAPProxyAgentPassword = array( 'PS1' => 'password’);
 
  $wgMinimalPasswordLength = 1;
  $wgLDAPBaseDNs = array( 'PS1' => 'CN=Users,DC=AD,DC=pumpingstationone,DC=org' );
  $wgLDAPSearchAttributes = array( 'PS1' => 'sAMAccountName' );
  $wgLDAPRetrivePrefs = array( "PS1" => "true" );

Latest revision as of 08:02, 1 November 2018

Setup

  • Follow the Arch provision guide
  • Add role: dc to the salt minion config.


Create a file called /etc/salt/minion.d/dc.conf

grains:
  roles:
    - dc

Joining As a Domain Controller

   samba-tool domain join AD.PUMPINGSTATIONONE.ORG DC -U hef

Checking and Fixing DNS

DNS doesn't always register correctly.

check it:

   host -t dc01.ad.pumpingstationone.org.

If nothing comes back, re add it by hand.

   samba-tool dns add bob ad.pumpingstationone.org dc01 A 10.100.0.112

At this point you need the guid for the new server. The Samba Guide References the ldbsearch commmand. I couldn't get it to work, so I grabbed the objectGuid field from CN=NTDS Settings,CN=DC01,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=ad,DC=pumpingstationone,DC=org in ldap.

   host -t CNAME af4c9efd-56f6-4160-8335-cf8e5a5ada8f._msdcs.ad.pumpingstationone.org

If it's missing add it:

   samba-tool dns add bob _msdcs.ad.pumpingstationone.org af4c9efd-56f6-4160-8335-cf8e5a5ada8f CNAME dc01.ad.pumpingstationone.org

Joining As a Domain Member

   net ads join -U hef

The samba-tool domain join command does not get winbindd working correctly. The net command is required.


Adding Users

Regular users need to get there account through https://members.pumpingstationone.org.

service and test accounts can be created with the following procedire


To create the user "hef" and set the user password, use the following command:

  samba-tool user add hef


To add the user "hef" to the "Domain Admins" group, use the following command:

  samba-tool group addmembers "Domain Admins" hef