Changeset 861 for LATMOS-Accounts/lib/LATMOS/Accounts/Bases/Unix.pm
- Timestamp:
- 12/02/11 11:42:17 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LATMOS-Accounts/lib/LATMOS/Accounts/Bases/Unix.pm
r815 r861 43 43 44 44 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',49 45 # are we using shadow, default to yes 50 46 use_shadow => (defined($options{use_shadow}) ? $options{use_shadow} : 1), … … 56 52 }; 57 53 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 58 65 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 supported91 },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}112 66 } 113 67 … … 248 202 truncate($handle, 0); 249 203 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"; 251 205 } 252 206 close($handle);
Note: See TracChangeset
for help on using the changeset viewer.