From Fedora Project Wiki

Revision as of 09:56, 18 April 2013 by Stefw (talk | contribs) (extra comma)

Description

Setup an FreeIPA domain account login via the GNOME Control Center.

Setup

This test has several gotchas in Fedora 19 Alpha. Please review the Troubleshooting section below before continuing.

  1. You need control-center 3.6.x version or later.
  2. You need a configured FreeIPA domain. The realm name must match the domain name (upper cased).
  3. You need a FreeIPA 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.
  4. Your machine must have a configured host name. Do not proceed if you host name is localhost or similar.
    $ hostname
  5. Make sure you have realmd 0.13.3-2 or later installed.
    $ yum list realmd
  6. Make sure you have selinux-policy-3.12.1-32 or later installed.
    $ yum list selinux-policy
  7. Remove the following packages, they should be installed by realmd as necessary.
    $ sudo yum remove freeipa-client
  8. Make sure you are not joined to a domain. Use realm list to check, and realm leave to leave.

How to test

  1. Run gnome-control-center from a terminal.
  2. Choose the Users panel.
  3. Click the Unlock button.
    You should get a Policy Kit authorization prompt.
  4. Click the add [+] button in the lower left.
  5. Choose the Enterprise login pane.
  6. Enter an invalid domain, invalid user, and invalid password for the account.
    Click on Add. You should see a problem icon on the domain.
  7. Enter the valid domain, invalid user, and invalid password for the account.
    Click on Add. You should see a problem icon on the user.
  8. Enter the valid domain, valid user, and invalid password for the account.
    Click on Add. You should see a problem icon on the password.
  9. Enter the right password.
  10. Click on Add
    If you use a non-administrative user, you should be prompted for administrative credentials.

Expected Results

  1. The user should now be listed in the User Accounts panel of the GNOME Control Center.
  2. Check that the domain is now configured.
    $ realm list
    Make sure the domain is listed.
    Make sure you have a configured: kerberos-member line in the output.
    Make note of the login-formats line for the next command.
  3. Check that you can resolve domain accounts on the local computer.
    $ getent passwd 'user@domain'
    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 of user@domain, where domain is the your full FreeIPA domain name.
  4. Check that you have an appropriate entry in your hosts keytab.
    sudo klist -k
    You should see several lines, with your host name that look like 2 host/host.example.com$@IPA.EXAMPLE.COM
  5. Check that you can use your keytab with kerberos
    sudo kinit -k host/host.example.com@IPA.EXAMPLE.COM
    Make sure the hostname and domain are capitalized, and specified exactly as in the klist output above.
    There should be no output from this command.
  6. The user should show up here:
    $ realm list
    Look at the permitted-logins: line.
    You should also see login-policy: allow-permitted-logins.
  7. Go to GDM by logging out, or by Switch User from the user menu.
  8. Choose the Not Listed? option.
    Verify that you can see the short name listed with a hint as to how to log in.
  9. Type user@domain in the box.
    The case of the domain and user should not matter, but they are separated by a at sign.
    The domain part is the entire domain name for your FreeIPA domain.
  10. Type the user domain password, and press enter.
  11. You should be logged into a Fedora Desktop.



Troubleshooting

  • You can see verbose output in the terminal that you started gnome-control-center from.
  • RHBZ #952830 If you see SELinux issues, it's because you don't have selinux-policy-3.12.1-32 or later.
    • Please do this and report all AVC's to the above bug.
$ sudo setenforce permissive
... do the test
$ sudo grep realmd /var/log/audit/audit.log
  • RHBZ #953445 If you see the message Decrypt integrity check failed that means you typed the wrong password. It is a bug that this is message is displayed directly, and the password field not merely flagged.
  • RHBZ #953453 If you see the message No user with the name user@domain found then this is because 'sss' was not in your /etc/nsswitch.conf when the tests were started.
    • A newly installed system will have this present. However ipa-client-install --uninstall incorrectly removes it.
    • This may have happened if you ran earlier tests that performed this command.
    • Workaround: The following lines should have 'sss' on them in /etc/nsswitch.conf by default. You can restore this by doing the following, and then running through the tests again:
$ sudo mv /etc/nsswitch.conf /etc/nsswitch.conf.bak
$ sudo yum reinstall glibc
$ shutdown -r now
  • XDGBZ #61858 In the realm list output after joining says allow-realm-logins instead of allow-permitted-logins and there is no permitted-logins line. This is a known issue, and a patch is ready upstream, but not yet merged.
  • RHBZ #953174 No login hint in 'Not Listed?' GDM screen is a known issue and tracked by this bug.
  • RHBZ #953477 Cannot log in using GDM because it seems like GDM or some part of the GNOME session is giving problems when the user name has an @ symbol in it.