On 12/10/2014 04:54 PM, Chris Card wrote:
> 
> 
>>
>>> On 12/10/2014 12:57 PM, Chris Card wrote:
>> thanks Martin,
>>>> I've installed freeipa 4.1.1 on Fedora 21, and successfully set up a 
>>>> freeipa server and a freeipa client machine.
>>>> I've set up a user with ssh keys, and can successfully ssh onto the client 
>>>> machine.
>>>> I'm trying to setup sudo rules so that if the user is in a given user 
>>>> group, then the user can run "sudo su -" on the client to become root.
>> <snip>
>>>> [root@fedora21-freeipa log]# ipa hostgroup-show
>>>> Host-group: cog
>>>> Host-group: cog
>>>> Member hosts: ipaclient21.testdomain21.com
>>>> Member of Sudo rule: All
>>>> [root@fedora21-freeipa log]# ipa sudorule-show All
>>>> Rule name: All
>>>> Enabled: TRUE
>>>> Command category: all
>>>> RunAs User category: all
>>>> RunAs Group category: all
>>>> User Groups: cog_rw
>>>> Host Groups: cog
>>>> Sudo Option: !authenticate
>>>>
>>>> but this setup doesn't work, i.e. even though the user is in the user 
>>>> group and the client machine is in the host group, sudo su - fails. Is 
>>>> this a bug, or have I missed something?
>>>>
>>>> Chris
>>>>
>>>>
>>>>
>>>
>>> With FreeIPA 4.1.1, client sudo integration should be automatically 
>>> configured,
>>> so it should just work, including hostgroups. In your case, I would start 
>>> with
>>> investigating
>>>
>>> http://www.freeipa.org/page/Troubleshooting#sudo_does_not_work_for_hostgroups
>>>
>>> If that does not help, I bet SSSD devs will ask for logs.
>>>
>> I've done the troubleshooting steps:
>>
>> [root@ipaclient21 log]# nisdomainname
>> testdomain21.com
>> [root@ipaclient21 log]# getent netgroup cog
>> cog (ipaclient21.testdomain21.com,-,testdomain21.com)
>>
>> I tried adding sudoers_debug 2 to /etc/sudo-ldap.conf on the client machine, 
>> but I'm not sure if that's the right file (it didn't exist before).
>> I have debug_level set to 9 in /etc/sssd/sssd.conf, so I can see some stuff 
>> in /var/log/sssd/sssd_testdomain21.com.log but no obvious error messages.
> 
> I worked out how to set up debug for sudo. sudoers_debug is deprecated now, 
> but I created /etc/sssd.conf with a line
> 
> Debug sudo /var/log/sudo_debug all@debug
> 
> and I saw this in the debug output:
> 
> Dec 10 15:42:57 sudo[10046] -> sudo_sss_check_host @ ./sssd.c:557
> Dec 10 15:42:57 sudo[10046] val[0]=+cog 
> Dec 10 15:42:57 sudo[10046] -> addr_matches @ ./match_addr.c:189
> Dec 10 15:42:57 sudo[10046] -> addr_matches_if @ ./match_addr.c:61
> Dec 10 15:42:57 sudo[10046] <- addr_matches_if @ ./match_addr.c:99 := false
> Dec 10 15:42:57 sudo[10046] <- addr_matches @ ./match_addr.c:199 := false
> Dec 10 15:42:57 sudo[10046] -> netgr_matches @ ./match.c:899
> Dec 10 15:42:57 sudo[10046] <- netgr_matches @ ./match.c:918 := false
> Dec 10 15:42:57 sudo[10046] -> hostname_matches @ ./match.c:758
> Dec 10 15:42:57 sudo[10046] <- hostname_matches @ ./match.c:769 := false
> Dec 10 15:42:57 sudo[10046] sssd/ldap sudoHost '+cog' ... not
> 
> The problem is that the hostname command on the client was returning a short 
> hostname, ipaclient21, instead of a FQDN, ipaclient21.testdomain21.com and 
> when I forced the hostname to be the FQDN the sudo command worked.
>
>
> The short hostname comes from the fact that the client machine is an 
> openstack instance, and that appears to be a feature of openstack instances :(


So on the OpenStack instance, even "hostname -f" does not show the FQDN? If
this is the case, I am not sure what we could do, sudo somehow needs to learn
the FQDN.

-- 
Manage your subscription for the Freeipa-users mailing list:
https://www.redhat.com/mailman/listinfo/freeipa-users
Go To http://freeipa.org for more info on the project

Reply via email to