Building a Samba Active Directory Domain Controller on CentOS 6

From SambaWiki

Introduction

Warning.svg.png
The Samba project moves fast. This article was last checked for version 4.04. Your mileage may vary!

This tutorial is designed to take you through building a Samba Active Directory Domain Controller on CentOS 6. As CentOS is derived from RHEL, the tutorial should work equally on Red Hat, Scientific Linux and Oracle Linux.

Where possible this tutorial links back to core non-distro specific pages elsewhere on this wiki. This helps ensure that you don't miss out on information other contributors have added or changed since this tutorial was last edited.

Preparing your system

Pre-requisite packages

We're going to build Samba and BIND from source. Therefore you'll need to setup your system with the pre-requisite packages for doing so. The required packages are listed here under the 'Red Hat Enterprise Linux or CentOS' header.

Filesystem changes

Samba also requires Access Control List functionality enabling. ACL provides a more flexible way of dealing with file permissions. It's already installed in CentOS 6, but you need to enable it in fstab.

Edit /etc/fstab and add the acl attribute to the partition which will hold your Samba installation. You can do this by adding acl after any other options as per below.

 UID=xxxxxxxxxxxxxxxxxxxxx /           ext4    defaults,acl        0       2

Grabbing the source

Make a directory on your machine to hold the source code. /root/source will do. We're going to grab the source code for Samba and BIND and store it locally.