On Fri, 27 Dec 2002, Ryan Thompson wrote:
>
> Hi all,
>
> I've recently had the pleasure of configuring a FreeBSD machine as a
> Samba Primary Domain Controller. In smb.conf, one can specify an "add
> user script" directive to automate the creation of machine accounts.
> Otherwise, you have to manually create accounts for each machine on
> the network. See:
>
> http://us1.samba.org/samba/ftp/docs/htmldocs/Samba-PDC-HOWTO.html
>
> Problem is, smb requires a '$' at the end of the username, which our
> pw(8) doesn't allow.
Well, the $ is only required for machine accounts! In Samba 3.0, and
possibly in the latest 2.2.x releases, there is a separate 'add machine
script' parameters. I think it would be better to simply frob the entry in
the master.passwd in that script.
While I have not tried it myself, I am lead to believe that once you edit
the entry and run the appropriate command, things work.
> Allowing the $ is a one-character change to usr.sbin/pw/pw_user.c .
> Aside from the obvious pain of accidentally inserting shell variables
> as part of a username if the $ is not escaped, are there any specific
> problems with this change?
>
> Others would probably benefit from this. Is the change worth
> committing? Or would it be better to push this to pw.conf?
>
> --- usr.sbin/pw/pw_user.c.orig Sat Nov 16 21:55:28 2002
> +++ usr.sbin/pw/pw_user.c Fri Dec 27 11:17:33 2002
> @@ -1195,7 +1195,7 @@
> pw_checkname(u_char *name, int gecos)
> {
> int l = 0;
> - char const *notch = gecos ? ":!@" : ",\t:+&#%$^()!@~*?<>=|\\/\"";
> + char const *notch = gecos ? ":!@" : ",\t:+&#%^()!@~*?<>=|\\/\"";
>
> while (name[l]) {
> if (strchr(notch, name[l]) != NULL || name[l] < ' ' || name[l] ==
>127 ||
>
> - Ryan
>
>
--
Regards
-----
Richard Sharpe, rsharpe[at]ns.aus.com, rsharpe[at]samba.org,
sharpe[at]ethereal.com, http://www.richardsharpe.com
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message