From Fedora Project Wiki
(Add about latest gnome-control-center) |
(Add about nsswitch.conf problems) |
||
Line 2: | Line 2: | ||
|description=Join the current machine to an Active Directory domain using sssd as an AD client, without entering administrative credentials. | |description=Join the current machine to an Active Directory domain using sssd as an AD client, without entering administrative credentials. | ||
|setup= | |setup= | ||
# Due to [https://bugzilla.redhat.com/show_bug.cgi?id=867473 this bug] with [http://lists.fedoraproject.org/pipermail/devel/2012-October/172688.html discussion here], you need to have <code>sss</code> in your <code>/etc/nsswitch.conf</code> when you last booted you system. To do so run this: | |||
#: <pre>$ sudo authconfig --update --enablesssd; sudo shutdown -r now</pre> | |||
# Unfortunately you need gnome-control-center from git master (or the future to be released 3.6.2 version). This can be [http://developer.gnome.org/jhbuild/unstable/getting-started.html.en built with jhbuild], but takes several hours: | # Unfortunately you need gnome-control-center from git master (or the future to be released 3.6.2 version). This can be [http://developer.gnome.org/jhbuild/unstable/getting-started.html.en built with jhbuild], but takes several hours: | ||
#: <pre>$ jhbuild build gnome-control-center</pre> | #: <pre>$ jhbuild build gnome-control-center</pre> |
Revision as of 08:00, 18 October 2012
Description
Join the current machine to an Active Directory domain using sssd as an AD client, without entering administrative credentials.
Setup
- Due to this bug with discussion here, you need to have
sss
in your/etc/nsswitch.conf
when you last booted you system. To do so run this:$ sudo authconfig --update --enablesssd; sudo shutdown -r now
- Unfortunately you need gnome-control-center from git master (or the future to be released 3.6.2 version). This can be built with jhbuild, but takes several hours:
$ jhbuild build gnome-control-center
- Verify that your Active Directory domain access works. If you don't have an Active Directory domain, you can set one up.
- You need a domain user account and administrator account, or both. If you have both, enter the use account as the user you're going to add below.
- Your machine must have a configured host name. Do not proceed if you host name is
localhost
or similar.$ hostname
- Make sure you have <package>realmd</package> 0.9 or later installed.
$ rpm -q realmd
- Remove the following packages, they should be installed by realmd as necessary.
$ yum remove sssd samba-client adcli
- Make sure you are not joined to a domain. Use
realm list
to check, andrealm leave
to leave.
How to test
- Run
gnome-control-center
from a terminal. - Choose the User Accounts panel.
- Click the Unlock button.
- You should get a Policy Kit authorization prompt.
- Click the add [+] button in the lower left.
- Choose the Enterprise login pane.
- Enter an invalid domain, invalid user, and invalid password for the account.
- Click on Add. You should see a problem icon on the domain.
- Enter the valid domain, invalid user, and invalid password for the account.
- Click on Add. You should see a problem icon on the user.
- Enter the valid domain, valid user, and invalid password for the account.
- Click on Add. You should see a problem icon on the password.
- Enter the right password.
- Click on Add
- If you user a non-administrative user, you may be prompted for administrative credentials. It is tricky to duplicate this at times. Active Directory is an odd one like that :)
Expected Results
- The user should now be listed in the User Accounts panel of the GNOME Control Center.
- Check that the domain is now configured.
$ realm list
- Make sure the domain is listed.
- Make sure you have a
configured: kerberos-membership
line in the output. - Make note of the
login-formats
line for the next command.
- Check that you can resolve domain accounts on the local computer.
$ getent passwd 'AD\User'
- Make sure to use the quotes around the user name.
- You should see an output line that looks like passwd(5) output. It should contain an appropriate home directory, and a shell.
- Use the
login-formats
you saw above, to build a remote user name. It will be in the form ofDOMAIN\User
, where DOMAIN is the first part of your full Active Directory domain name.
- Check that you have an appropriate entry in your hosts keytab.
sudo klist -k
- You should see several lines, with your host name. For example
2 HOSTNAME$@AD.EXAMPLE.COM
- Check that you can use your keytab with kerberos
sudo kinit -k 'HOSTNAME$@AD.EXAMPLE.COM'
- Make sure to use quotes around the argument, because of the characters in there. Make sure the hostname and domain are capitalized.
- Use the principal from the output of the
klist
command above. Use the one that's capitalized and looks likeHOSTNAME$@DOMAIN
. - There should be no output from this command.
- The user should show up here:
$ realm list
- Look at the
permitted-logins:
line. - You should also see
login-policy: allow-permitted-logins
.
- Go to GDM by logging out, or by Switch User from the user menu.
- Choose the Not Listed? option.
- Verify that you can see the short name listed with a hint as to how to log in.
- Type
DOMAIN\User
in the box.- The case of the domain and user should not matter, but they are separated by a backslash.
- The domain part is the part of your Active Directory domain prior to the first dot.
- Type the user domain password, and press enter.
- You should be logged into a Fedora Desktop.
Troubleshooting
You can see verbose output in the terminal that you started gnome-control-center from.
The selinux profile for realmd isn't yet stable, so you may want turn off enforcement. Please do still file bugs for the SElinux AVC notifications you see.
$ sudo setenforce 0