Likewise Open

Likewise Open simplifies the necessary configuration needed to authenticate a Linux machine to an Active Directory domain. Based on winbind, the likewise-open package takes the pain out of integrating Ubuntu authentication into an existing Windows network.

Installation

There are two ways to use Likewise Open, likewise-open the command line utility and likewise-open-gui. This section focuses on the command line utility.

To install the likewise-open package, open a terminal prompt and enter:

sudo apt-get install likewise-open

With Ubuntu 9.04 Likewise Open 5.0 is available in the Universe repository. However, since upgrading from Likewise Open 4.1 currently requires the system to leave the domain and re-join, a separate package for version five was created.

To install Likewise Open 5.0 enter:

sudo apt-get install likewise-open5
[Warning]

Installing likewise-open5 over an existing likewise-open (4.1) installation will replace it. You will have to rejoin the domain after install.

[Note]

The command line tools, and GUI interface, for likewise-open5 are the same as version four.

Joining a Domain

The main executable file of the likewise-open package is /usr/bin/domainjoin-cli, which is used to join your computer to the domain. Before you join a domain you will need to make sure you have:

  • Access to an Active Directory user with appropriate rights to join the domain.

  • The Fully Qualified Domain Name (FQDN) of the domain you want to join. If your AD domain does not match a valid domain such as example.com, it is likely that it has the form of domainname.local.

  • DNS for the domain setup properly. In a production AD environment this should be the case. Proper Microsoft DNS is needed so that client workstations can determine the Active Directory domain is available.

    If you don't have a Windows DNS server on your network, see the section called “Microsoft DNS” for details.

To join a domain, from a terminal prompt enter:

sudo domainjoin-cli join example.com Administrator
[Note]

Replace example.com with your domain name, and Administrator with the appropriate user name.

You will then be prompted for the user's password. If all goes well a SUCCESS message should be printed to the console.

After successfully joining an Ubuntu machine to an Active Directory domain you can authenticate using any valid AD user. To login you will need to enter the user name as 'domain\username'. For example to ssh to a server joined to the domain enter:

ssh 'example\steve'@hostname
[Note]

If configuring a Desktop the user name will need to be prefixed with domain\ in the graphical logon as well.

To make likewise-open use a default domain, you can add the following statement to /etc/samba/lwiauthd.conf:

winbind use default domain = yes

Then restart the likewise-open daemons:

sudo /etc/init.d/likewise-open restart
[Note]

Once configured for a default domain the 'domain\' is no longer required, users can login using only their username.

The domainjoin-cli utility can also be used to leave the domain. From a terminal:

sudo domainjoin-cli leave

Other Utilities

The likewise-open package comes with a few other utilities that may be useful for gathering information about the Active Directory environment. These utilities are used to join the machine to the domain, and are the same as those available in the samba-common and winbind packages:

  • lwinet: Returns information about the network and the domain.

  • lwimsg: Allows interaction with the likewise-winbindd daemon.

  • lwiinfo: Displays information about various parts of the Domain.

Please refer to each utility's man page specific for details.

Troubleshooting

  • If the client has trouble joining the domain, double check that the Microsoft DNS is listed first in /etc/resolv.conf. For example:

    nameserver 192.168.0.1
    
  • For more information when joining a domain, use the --loglevel verbose or --advanced option of the domainjoin-cli utility:

    sudo domainjoin-cli --loglevel verbose join example.com Administrator
    
  • If an Active Directory user has trouble logging in, check the /var/log/auth.log for details.

  • When joining an Ubuntu Desktop workstation to a domain, you may need to edit /etc/nsswitch.conf if your AD domain uses the .local syntax. In order to join the domain the "mdns4" entry from the hosts option. For example:

    hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4
    

    Change the above to:

    hosts: files dns [NOTFOUND=return]
    

    Then restart networking by entering:

    sudo /etc/init.d/networking restart
    

    You should now be able to join the Active Directory domain.

Microsoft DNS

The following are instructions for installing DNS on an Active Directory domain controller running Windows Server 2003, but the instructions should be similar for other versions:

  • Click StartAdministrative ToolsManager Your Server. This will open the Server Role Mangement utility.

    1. Click Add or remove a role

    2. Click Next

    3. Select "DNS Server"

    4. Click Next

    5. Next

    6. Select "Create a forward lookup zone" if it is not selected.

    7. Click Next

    8. Make sure "This server maintains the zone" is selected and click Next.

    9. Enter your domain name and click Next

    10. Click Next to "Allow only secure dynamic updates"

    11. Click Next to "Allow only secure dynamic updates"

    12. Enter the IP for DNS servers to forward queries to, or Select "No, it should not forward queries" and click Next.

    13. Click Finish

    14. Click Finish

    DNS is now installed and can be further configured using the Microsoft Management Console DNS snap-in.

  • Next, configure the Server to use itself for DNS queries:

    1. Click Start

    2. Control Panel

    3. Network Connections

    4. Right Click "Local Area Connection"

    5. Click Properties

    6. Double click "Internet Protocol (TCP/IP)"

    7. Enter the Server's IP Address as the "Preferred DNS server"

    8. Click Ok

    9. Click Ok again to save the settings

References

Please refer to the Likewise home page for further information.

For more domainjoin-cli options see the man page: man domainjoin-cli.