Re: CVS update: samba/source

Luke Kenneth Casson Leighton (lkcl@switchboard.net)
Thu, 26 Mar 1998 10:41:58 +0000 (GMT)

Date:	Thu, 26 Mar 1998 10:41:58 +0000 (GMT)
From:	Luke Kenneth Casson Leighton <lkcl@switchboard.net>
To:	Multiple recipients of list <samba-cvs@samba.anu.edu.au>, Jeremy Allison <jra@samba.anu.edu.au>,
Subject: Re: CVS update: samba/source
In-Reply-To: <19980326021448Z12619939-17352+2517@samba.anu.edu.au>

On Thu, 26 Mar 1998, Jeremy Allison wrote:

>
> Date: Thursday March 26, 1998 @ 13:14
> Author: jra
>
> Update of /data/cvs/samba/source
> In directory samba:/tmp/cvs-serv10386
>
> Modified Files:
> smbpass.c smbpasswd.c
> Log Message:
> smbpass.c: Made unknown accounts ending in '$' server accounts, not
> workstation.

jeremy,

workstation should be the default. server is reserved, i believe, for
Backup Domain Controllers. the majority of machines are going to be
ordinary workstations (ACB_WKSTRUST).

> smbpasswd.c: Added code to count down from last machine account
> to add correct uid when adding a machine account.

so you are making sure that the unix UID is always unique? i thought the
uid was a _unix_ uid, so we had to put it as the nobody / guest account?

don't forget that we really actually need to add two more fields: a user
RID and a Primary Group RID, in _addition_ to the unix uid in the
smbpasswd file.

if these are not added, then by default there should exist a "unix
uid/gid" <-> "NT user RID / group RID" function, which we have already
agreed should be based on the NT Posix mapping system (NT User RID = unix
uid + 0x100000; NT Group RID = unix gid + 0x200000" i think).

i think this should be hidden in smbpasswd.c somewhere:

smbpwd = get_smb_passwd_line();
if (!exist_NT_user_rid_field(smbpwd)))
{
/* set to default, using posix mapping */
NT user rid = unix_uid_to_nt_user_rid(smbpwd->unix_uid));
}

...

in exactly the same way that the ACB_xxxxx default value is created if one
doesn't exist.

oh, also: the NT user rid and NT group rid need to go into the vuser
struct, alongside the unix uid / gid.

do you want me to do this?

luke