On 13-Nov-01 Crist J. Clark wrote:
>> What if someone comments out a line in the password file of a user? Then
>> this
>> won't hide that password. When this originally went in, it took a long
>> while
>> to get a sed line people were happy with. Replacing the version number is a
>> minor thing, but getting it to work perfectly may be a bit difficult. If
>> you
>> do this, I'd rather you make sed handle the $FreeBSD$ case as a completely
>> separate case, so something like:
>>
>> sed -e '/\$FreeBSD\$/; //s/blah blah/blah/' or some such (I forget how sed
>> does
>> multiple expressions).
>
> I thought about this, but then thought, "Who ever just comments out
> password entries without clearing the password too?" I guess the
> answer is, some people do.
>
> How about,
>
> sed -E 's/^([<>]
> [^:]*):[^:]*:(([0-9]+:){2}[^:]*(:[0-9]+){2}(:[^:]*){3}$)/\1:(password)\2/'
>
> Which only touches entries that match the password format exactly, but
> includes commented out ones?
That's fine I suppose. I would rather err on the side of caution and just
exclude the $FreeBSD$ line and perform the change on all other lines by
default. You never know what weird contortion of a password file someone
might be using.
--
John Baldwin <[EMAIL PROTECTED]> -- http://www.FreeBSD.org/~jhb/
PGP Key: http://www.baldwin.cx/~john/pgpkey.asc
"Power Users Use the Power to Serve!" - http://www.FreeBSD.org/
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message