Changeset 2282 for trunk


Ignore:
Timestamp:
09/02/19 20:11:12 (5 years ago)
Author:
nanardon
Message:

Ensure users cannot retrieve password, even encrypted

Location:
trunk/LATMOS-Accounts
Files:
1 added
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/LATMOS-Accounts/bin/la-cli

    r2209 r2282  
    2525    'no-unexp|wo-unexp' => \my $nounexp, 
    2626    'with-unexp'        => \my $unexp, 
     27    'u|username=s'      => \my $username, 
    2728    'help'              => sub { pod2usage(0) }, 
    2829) or pod2usage(); 
     
    5253Take into account only propagated objects (attribute 'exported'=1) (default) 
    5354 
     55=item -u|--username USER 
     56 
     57Simulated access like user USER is login 
     58 
    5459=back 
    5560 
    5661=cut 
    5762 
    58 my $LA = LATMOS::Accounts->new($config, noacl => 1); 
     63my $LA = LATMOS::Accounts->new($config, noacl => $username ? 0 : 1); 
    5964my $labase = $LA->base($base); 
    6065$labase && $labase->load or die "Cannot load base"; 
  • trunk/LATMOS-Accounts/bin/la-dump

    r2280 r2282  
    8181$otype ||= 'user'; 
    8282 
    83 my $LA = LATMOS::Accounts->new($config, noacl => 1); 
     83my $LA = LATMOS::Accounts->new($config, noacl => $username ? 0 : 1); 
    8484my $labase = $LA->base($base); 
    8585$labase && $labase->load or die "Cannot load base"; 
  • trunk/LATMOS-Accounts/bin/la-qacls

    r1044 r2282  
    6666=cut 
    6767 
    68 my $LA = LATMOS::Accounts->new($config, noacl => 0); 
     68my $LA = LATMOS::Accounts->new($config, noacl => $user ? 0 : 1); 
    6969 
    7070my $labase = $LA->base($base); 
     
    7373 
    7474if ($user) { 
    75     $labase->{_user} = $user; 
     75    $labase->SetConnectedUser($user); 
    7676} 
    7777 
     
    8585) foreach(qw(@CREATE @DELETE)); 
    8686 
    87 printf("%s%s %s\n", 
    88     ($labase->check_acl($obj, $_, 'r') ? 'r' : ' '), 
    89     ($labase->check_acl($obj, $_, 'w') ? 'w' : ' '), 
    90     $_, 
    91 ) foreach($labase->list_canonical_fields($otype, 'a')); 
     87foreach($labase->list_canonical_fields($otype, 'a')) { 
     88    my $attr = $labase->attribute($otype, $_); 
     89    printf("%s%s %s\n", 
     90        ($attr->readable ? ($labase->check_acl($obj, $_, 'r') ? 'r' : ' ') : '-'), 
     91        ($attr->ro       ? '-' : ($labase->check_acl($obj, $_, 'w') ? 'w' : ' ')), 
     92        $_, 
     93    ) 
     94} 
  • trunk/LATMOS-Accounts/lib/LATMOS/Accounts/Acls.pm

    r2278 r2282  
    2929        }, $class 
    3030    ); 
    31     if ($file) { 
    32         $acls->read_acl_file($file) or return; 
    33     } 
    3431 
    3532    # Default ACLS: 
    36     $acls->add( '*.log', [ '$uid: read', '*: deny' ] ); 
     33#    $acls->add( '*.log', [ '$uid: read', '*: deny' ] ); 
    3734    $acls->add( 
    3835        'user.{userPasswd,userPassword,encryptedPassword,oldPassword}', 
    3936        [ '$uid: write', '*: deny' ], 
    4037    ); 
     38 
     39    if ($file) { 
     40        $acls->read_acl_file($file) or return; 
     41    } 
     42 
    4143    $acls 
    4244} 
  • trunk/LATMOS-Accounts/lib/LATMOS/Accounts/Bases.pm

    r2281 r2282  
    11851185    my ($self, $username) = @_; 
    11861186 
    1187     $self->{_user} = $username; 
    1188     la_log(LA_DEBUG, "Connected as $username"); 
     1187    $self->{_user} = $username || ''; 
     1188    la_log(LA_DEBUG, "Connected as `$username'"); 
    11891189} 
    11901190 
  • trunk/LATMOS-Accounts/lib/LATMOS/Accounts/Bases/Objects.pm

    r2280 r2282  
    240240    my ($self, $cfield) = @_; 
    241241    $self->base->check_acl($self, $cfield, 'r') or do { 
    242         $self->base->log(LA_ERR, "Permission denied to get %s/%s", 
     242        $self->base->log(LA_DEBUG, "Permission denied to get %s/%s", 
    243243            $self->id, $cfield 
    244244        ); 
Note: See TracChangeset for help on using the changeset viewer.