from Brian's code, it seems to me that he's running a windows machine so the 
getpw* stuff you refers to might not be available for him. again, i seldom 
develop anything in windows, so i can't be sure. if you are worry about 
that someone will manually open the config(text base) file, you might want 
to store those in a dbm file like:

#!/usr/bin/perl -w
use strict;
use NDBM_File;
use DB_File;
use Fcntl;

my %hash;

tie %hash,"NDBM_File","auth",O_RDWR|O_CREAT|O_EXCL,0777 || die $!;
$hash{'dsn'} = 'dsn';
$hash{'user'} = 'usr';
$hash{'psw'} = 'psw';

__END__

then in your actual script that needs those parameters, just open the dbm 
file again and fetch them:

#!/usr/bin/perl -w
use strict;
use NDBM_File;
use DB_File;
use Fcntl;

my %hash;

tie %hash,"NDBM_File","auth",O_RDWR|O_CREAT|O_EXCL,0777 || die $!;
my $dsn = $hash{'dsn'};
my $user = $hash{'user'};
my $psw = $hash{'psw'};

my $db = new Win32::ODBC("fileDSN=$dsn; uid=$usr; psw=$psw");

#-- ...etc

this way, auth.db became a binary file and thus can't be easily viewed with 
a regular text editor.

david

Drieux wrote:

> 
> On Thursday, August 29, 2002, at 11:44 , david wrote:
> [..]
>>
>> $dsn = <get from config>
>> $usr = <get from config>
>> $psw = <get from config>
>>
>> my $db = new Win32::ODBC("fileDSN=$dsn; uid=$usr; psw=$psw");
>>
>> that should avoid the horrifying "listing" effect...
> 
> my compliments - there is the part about the uid and psw
> that you could get with
> 
> ($name,$passwd,$uid,$gid,
>         $quota,$comment,$gcos,$dir,$shell,$expire) = getpw*
> 
> cf perldoc -f getpwname
> 
> which would only leave one exposed on the $dsn - unless
> you wanted to play the gag of having that in the comment
> field of the nis map/active directory/ldap...
> 
> unless of course $psw has to be in 'plain text' to begin with...
> 
> things folks might want to keep in mind when doing the
> ConfigDSN side of the game...
> 
> a part of the problem here is whether the perl code
> should be 'allowed' to do a 'setgid/setuid' to the
> appropriate gid/uid to run under that entry - and
> hence allow 'anyone who can run it' to run it...
> 
> or should it have an 'access list' of uid's allowed
> to run the code...
> 
> 
> 
> ciao
> drieux
> 
> ---


-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to