[Samba] Make a share owned by a service account available to members of an AD group

Tovey, Mark MTovey at go2uti.com
Fri Oct 9 21:22:16 UTC 2015


    So I made the primary group for the testuser account be smbgrp, and it's gidNumber is 30124.  Still nothing.  "getent passwd testuser" returns nothing unless testuser is in the local passwd file, and then it returns the attributes that are in the passwd file, not the AD system.
    Some time ago I put together a configuration that uses Linux SSSD to communicate with AD.  That allows us to store user account information in AD and authenticate against that.  No local account information is necessary.  It works and does it quite well, but it is a bear to manage, so I try to avoid it (I am planning on switching to an IPA based system instead of my roll-your-own system).
    I was trying to build this Samba system independent of my SSSD system, but I am wondering if I need to put that between Samba and AD.  That way Samba won't know that it is using AD in the background and will just be using local authentication mechanisms.
    Does anyone have any experience using Samba in conjunction with SSSD and can offer any advice there?
    -Mark

________________________________________________________________
Mark Tovey - UNIX Engineer | Service Strategy & Design
UTi | 400 SW Sixth Ave, Suite 1100 | Portland | Oregon | 97204 | USA
MTovey at go2uti.com | O / C +1 503 953-1389

-----Original Message-----
From: samba [mailto:samba-bounces at lists.samba.org] On Behalf Of Rowland Penny
Sent: Friday, October 9, 2015 12:57 PM
To: samba at lists.samba.org
Subject: Re: [Samba] Make a share owned by a service account available to members of an AD group

On 09/10/15 20:31, Tovey, Mark wrote:
>      The only way it seems to work is if I do have both the local and AD user with the same name.  But my goal here is to not require that, to have the AD account only.

To do what you want you need to use winbind (other ways if doing it are available, but this is the samba mailing list) and then use either the 'ad' or 'rid' backend, this way your AD users become Unix users.

>      I have applied Unix attributes to the users.  testuser uidNumber = 30089 and gidNumber = 100.  However, when I try to query with wbinfo, I was unable to look that up:
>
> wbinfo -i "DEVELOPMENT\testuser"
> failed to call wbcGetpwnam: WBC_ERR_DOMAIN_NOT_FOUND

Two things, have you added a gidNumber to Domain Users ? (do not use 100, this is the Unix users group and is outside the range set in
smb.conf) and you should be using getent not wbinfo. wbinfo works directly on winbind, getent doesn't, try 'getent passwd testuser'

>
>      I get the same result regardless of if the account is in the local passwd file or not.
>      I switched to “rid” and now I can successfully query for the testuser account:
>
> wbinfo -i "DEVELOPMENT\testuser"
> testuser:*:36385:30513::/home/testuser:/bin/bash
>
>      but the uidNumber and gidNumber do not match what is in AD.

Using the 'rid' backend it never will, this is the beauty behind the 'ad' backend, you set the users uidNumber in AD and you will get that number everywhere, but you also need to give Domain Users a gidNumber or winbind will not work. whatever numbers you use *must* be inside the range you set in smb.conf i.e. if you have 'idmap config EXAMPLE:range = 10000-99999' , your numbers must be above 9999 but below 100000.

>   And it still will not allow the testuser account to map the share unless the account exists in the local passwd file.  It is getting the password from AD, but only if the account exists in the local system too.

You need to remove any local users that you want to be in AD (oh and don't try and get creative and put Unix system users in AD, they belong in /etc/passwd) , run 'net cache flush' , run 'getent passwd <ADuser>' 
(replace <ADuser> with an AD username that has a uidNumber), if this returns the users details, you should then be able to chown the share to belong to the user.

Once you have got this far, I would suggest reading more on the samba wiki, especially about creating shares and setting the ACLs

Rowland

>      -Mark
>
>


--
To unsubscribe from this list go to the following URL and read the
instructions:  https://lists.samba.org/mailman/options/samba


More information about the samba mailing list