Ignore:
Timestamp:
12/02/11 11:42:17 (13 years ago)
Author:
nanardon
Message:
  • reimport missing files from previous svn
File:
1 edited

Legend:

Unmodified
Added
Removed
  • LATMOS-Accounts/lib/LATMOS/Accounts/Bases/Unix.pm

    r815 r861  
    4343     
    4444    my $base = { 
    45         passwd =>  $options{passwd} || '/etc/passwd', 
    46         shadow =>  $options{shadow} || '/etc/shadow', 
    47         group =>   $options{group} || '/etc/group', 
    48         gshadow => $options{gshadow} || '/etc/gshadow', 
    4945        # are we using shadow, default to yes 
    5046        use_shadow => (defined($options{use_shadow}) ? $options{use_shadow} : 1), 
     
    5652    }; 
    5753 
     54    foreach (qw(passwd shadow group gshadow)) { 
     55        if ($options{$_}) { 
     56            $base->{$_} = $options{$_}; 
     57        } elsif ($options{directory}) { 
     58            $base->{$_} = $options{directory} . '/' . $_; 
     59        } else { 
     60            $base->{$_} = "/etc/$_"; 
     61        } 
     62    } 
     63 
     64 
    5865    bless($base, $class); 
    59 } 
    60  
    61 sub _canonicals_fields { 
    62     my ($self, $type, $for) = @_; 
    63     $type = lc($type); 
    64     { 
    65         user => { 
    66             uidNumber       => 'uid', 
    67             gidNumber       => 'gid', 
    68             gecos           => 'gecos', 
    69             homeDirectory   => 'home', 
    70             loginShell      => 'shell', 
    71             userPassword    => ($self->{use_shadow} ? 'spassword' : 'password'), 
    72             memberOf        => 'memberOf', 
    73             locked          => 'locked', 
    74             ($for !~ /w/ ? ( 
    75             givenName       => 'givenName', 
    76             sn              => 'sn', 
    77             uid             => 'login', 
    78             sAMAccountName  => 'login', 
    79             ) : ()), 
    80             $self->{use_shadow} ? 
    81             ( 
    82             shadowLastChange => 'last_changed', 
    83             shadowMin       => 'before_ch', 
    84             shadowMax       => 'after_ch', 
    85             shadowWarning   => 'exp_warn', 
    86             shadowInactive  => 'exp_disable', 
    87             shadowExpire    => 'disable', 
    88             shadowFlag      => 'res', 
    89             ) : (),  
    90             # description => not supported 
    91         }, 
    92         group => { 
    93             ($for !~ /w/ ? ( 
    94             sAMAccountName  => 'group_name', 
    95             ) : ()), 
    96             gidNumber       => 'gid', 
    97             memberUID       => 'user_list', 
    98         }, 
    99     }->{$type} 
    100 } 
    101  
    102 sub list_canonical_fields { 
    103     my ($self, $type, $for) = @_; 
    104     $for ||= 'rw'; 
    105     keys %{ $self->_canonicals_fields($type, $for) || {} } 
    106 } 
    107  
    108 sub get_field_name { 
    109     my ($self, $type, $cfield, $for) = @_; 
    110     $for ||= 'rw'; 
    111     ($self->_canonicals_fields($type, $for) || {})->{$cfield} 
    11266} 
    11367 
     
    248202    truncate($handle, 0); 
    249203    foreach my $line (@data) { 
    250         print $handle join(':', map { defined($_) ? $_ : '' } @$line) . "\n"; 
     204        print $handle join(':', map { my $f = $_; $f =~ s/:/;/g; $f } map { defined($_) ? $_ : '' } @$line) . "\n"; 
    251205    } 
    252206    close($handle); 
Note: See TracChangeset for help on using the changeset viewer.