CatalystX::Usul::Users::UnixAdmin - Set uid root methods for account manipulation
0.6.$Revision: 1165 $
# In a module executing setuid root use base qw(CatalystX::Usul::Programs); use CatalystX::Usul::Model::Identity; __PACKAGE__->mk_accessors( qw(identity) ); sub new { my ($class, @rest) = @_; my $config = { role_class => q(Unix), user_class => q(UnixAdmin) }; my $id_class = q(CatalystX::Usul::Model::Identity); $self->{identity} = $id_class->new( $self, $config ); return $self; } sub create_account { my $self = shift; $self->output( $self->users->create_account( @ARGV ) ); return 0; }
The public methods are called from a program running setuid root. The methods enable the management of OS accounts
$self->create_account( $path );
Creates an OS account. The given path is an XML file containing the account parameters. Account profiles are obtained from the $self->profile_domain object. New entries are added to the passwd file, the shadow file (if it is being used) and the group file
$self->profile_domain
$self->delete_account( $user ):
Deletes an OS account. The accounts home directory is removed, the users entries in the group file are removed as are the entries in the passwd and shadow files
Creates the new users home directory and populates it with some "dot" files if templates for such exist in the $self->profdir directory. Does not create a directory if the users homedir matches $self->common_home. Account parameters are read from the XML file given by $path
$self->profdir
$self->common_home
$path
$self->update_account( $path );
Account parameters are read from the XML file given by $path. Updates entries in the passwd file
Updates the users password only if the new one has not been used before or there is an administrative override. Updates the shadow file file if it is used, or the passwd file otherwise
$self->user_report( $path, $format );
Creates a report of user accounts. Outputs to $path or STDOUT if $path is -. Format is either text or csv
None
There are no known incompatibilities in this module
There are no known bugs in this module. Please report problems to the address below. Patches are welcome
Peter Flanigan, <Support at RoxSoft.co.uk>
<Support at RoxSoft.co.uk>
Copyright (c) 2011 Peter Flanigan. All rights reserved
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See perlartistic
This program is distributed in the hope that it will be useful, but WITHOUT WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE
To install CatalystX::Usul, copy and paste the appropriate command in to your terminal.
cpanm
cpanm CatalystX::Usul
CPAN shell
perl -MCPAN -e shell install CatalystX::Usul
For more information on module installation, please visit the detailed CPAN module installation guide.