App-upf
view release on metacpan or search on metacpan
"Data::Sah::Compiler::perl::TH::array" : "0",
"Data::Sah::Compiler::perl::TH::bool" : "0",
"Data::Sah::Compiler::perl::TH::int" : "0",
"Data::Sah::Compiler::perl::TH::str" : "0",
"Data::Sah::Filter::perl::Path::expand_tilde_when_on_unix" : "0",
"Data::Sah::Filter::perl::Path::strip_slashes_when_on_unix" : "0",
"Perinci::CmdLine::Any" : "0",
"Perinci::CmdLine::Lite" : "1.827",
"Sah::Schema::dirname" : "0",
"Sah::Schema::filename" : "0",
"Sah::Schema::unix::gid" : "0",
"Sah::Schema::unix::groupname" : "0",
"Sah::Schema::unix::uid" : "0",
"Sah::Schema::unix::username" : "0",
"Unix::Passwd::File" : "0",
"perl" : "5.010001"
}
},
"test" : {
"requires" : {
"File::Spec" : "0",
Data::Sah::Compiler::perl::TH::array: '0'
Data::Sah::Compiler::perl::TH::bool: '0'
Data::Sah::Compiler::perl::TH::int: '0'
Data::Sah::Compiler::perl::TH::str: '0'
Data::Sah::Filter::perl::Path::expand_tilde_when_on_unix: '0'
Data::Sah::Filter::perl::Path::strip_slashes_when_on_unix: '0'
Perinci::CmdLine::Any: '0'
Perinci::CmdLine::Lite: '1.827'
Sah::Schema::dirname: '0'
Sah::Schema::filename: '0'
Sah::Schema::unix::gid: '0'
Sah::Schema::unix::groupname: '0'
Sah::Schema::unix::uid: '0'
Sah::Schema::unix::username: '0'
Unix::Passwd::File: '0'
perl: '5.010001'
resources:
bugtracker: https://rt.cpan.org/Public/Dist/Display.html?Name=App-upf
homepage: https://metacpan.org/release/App-upf
repository: git://github.com/perlancar/perl-App-upf.git
version: '0.050'
Makefile.PL view on Meta::CPAN
"Data::Sah::Compiler::perl::TH::array" => 0,
"Data::Sah::Compiler::perl::TH::bool" => 0,
"Data::Sah::Compiler::perl::TH::int" => 0,
"Data::Sah::Compiler::perl::TH::str" => 0,
"Data::Sah::Filter::perl::Path::expand_tilde_when_on_unix" => 0,
"Data::Sah::Filter::perl::Path::strip_slashes_when_on_unix" => 0,
"Perinci::CmdLine::Any" => 0,
"Perinci::CmdLine::Lite" => "1.827",
"Sah::Schema::dirname" => 0,
"Sah::Schema::filename" => 0,
"Sah::Schema::unix::gid" => 0,
"Sah::Schema::unix::groupname" => 0,
"Sah::Schema::unix::uid" => 0,
"Sah::Schema::unix::username" => 0,
"Unix::Passwd::File" => 0
},
"TEST_REQUIRES" => {
"File::Spec" => 0,
"IO::Handle" => 0,
"IPC::Open3" => 0,
"Test::More" => 0
Makefile.PL view on Meta::CPAN
"Data::Sah::Compiler::perl::TH::str" => 0,
"Data::Sah::Filter::perl::Path::expand_tilde_when_on_unix" => 0,
"Data::Sah::Filter::perl::Path::strip_slashes_when_on_unix" => 0,
"File::Spec" => 0,
"IO::Handle" => 0,
"IPC::Open3" => 0,
"Perinci::CmdLine::Any" => 0,
"Perinci::CmdLine::Lite" => "1.827",
"Sah::Schema::dirname" => 0,
"Sah::Schema::filename" => 0,
"Sah::Schema::unix::gid" => 0,
"Sah::Schema::unix::groupname" => 0,
"Sah::Schema::unix::uid" => 0,
"Sah::Schema::unix::username" => 0,
"Test::More" => 0,
"Unix::Passwd::File" => 0
);
unless ( eval { ExtUtils::MakeMaker->VERSION(6.63_03) } ) {
delete $WriteMakefileArgs{TEST_REQUIRES};
"delete-group" => {
summary => "Delete a group",
url => "/Unix/Passwd/File/delete_group",
},
"delete-user" => { summary => "Delete a user", url => "/Unix/Passwd/File/delete_user" },
"delete-user-from-group" => {
summary => "Delete user from a group",
url => "/Unix/Passwd/File/delete_user_from_group",
},
"get-group" => {
summary => "Get group details by group name or gid",
url => "/Unix/Passwd/File/get_group",
},
"get-max-gid" => {
summary => "Get maximum GID used",
url => "/Unix/Passwd/File/get_max_gid",
},
"get-max-uid" => {
summary => "Get maximum UID used",
url => "/Unix/Passwd/File/get_max_uid",
},
"get-user" => {
summary => "Get user details by username or uid",
url => "/Unix/Passwd/File/get_user",
},
"get-user-groups" => {
Usage:
% upf add-delete-user-groups [--add-to-json=s] [--add-to=s+]
[--config-path=path | -c] [--config-profile=profile | -P]
[--delete-from-json=s] [--delete-from=s+] [--etc-dir=s]
[--format=name] [--json] [--(no)naked-res] [--no-config | -C]
[--no-env] [--page-result[=program]] <user>
% upf add-group [--backup] [--config-path=path | -c]
[--config-profile=profile | -P] [--etc-dir=s] [--format=name]
[--gid=s] [--json] [--max-gid=s] [--members-json=s] [--members=s]
[--min-gid=s] [--(no)naked-res] [--no-backup] [--no-config | -C]
[--no-env] [--nobackup] [--page-result[=program]] <group>
% upf add-user [--backup] [--config-path=path | -c]
[--config-profile=profile | -P] [--encpass=s] [--etc-dir=s]
[--expire-date=s] [--format=name] [--gecos=s] [--gid=s] [--group=s]
[--home=s] [--json] [--last-pwchange=s] [--max-gid=s]
[--max-pass-age=s] [--max-uid=s] [--min-gid=s] [--min-pass-age=s]
[--min-uid=s] [--(no)naked-res] [--no-backup] [--no-config | -C]
[--no-env] [--nobackup] [--page-result[=program]]
[--pass-inactive-period=s] [--pass-warn-period=s] [--pass=s]
[--shell=s] [--uid=s] <user>
% upf add-user-to-group [--config-path=path | -c]
[--config-profile=profile | -P] [--etc-dir=s] [--format=name] [--json]
[--(no)naked-res] [--no-config | -C] [--no-env]
[--page-result[=program]] <user> <group>
% upf delete-group [--backup] [--config-path=path | -c]
[--config-profile=profile | -P] [--etc-dir=s] [--format=name] [--json]
[--nobackup] [--page-result[=program]] <group>
% upf delete-user [--backup] [--config-path=path | -c]
[--config-profile=profile | -P] [--etc-dir=s] [--format=name] [--json]
[--(no)naked-res] [--no-backup] [--no-config | -C] [--no-env]
[--nobackup] [--page-result[=program]] <user>
% upf delete-user-from-group [--config-path=path | -c]
[--config-profile=profile | -P] [--etc-dir=s] [--format=name] [--json]
[--(no)naked-res] [--no-config | -C] [--no-env]
[--page-result[=program]] <user> <group>
% upf get-group [--config-path=path | -c] [--config-profile=profile | -P]
[--etc-dir=s] [--format=name] [--gid=s] [--group=s] [--json]
[--(no)naked-res] [--no-config | -C] [--no-env]
[--page-result[=program]] [--with-field-names] [--without-field-names]
% upf get-max-gid [--config-path=path | -c] [--config-profile=profile |
-P] [--etc-dir=s] [--format=name] [--json] [--(no)naked-res]
[--no-config | -C] [--no-env] [--page-result[=program]]
% upf get-max-uid [--config-path=path | -c] [--config-profile=profile |
-P] [--etc-dir=s] [--format=name] [--json] [--(no)naked-res]
[--no-config | -C] [--no-env] [--page-result[=program]]
% upf get-user [--config-path=path | -c] [--config-profile=profile | -P]
[--etc-dir=s] [--format=name] [--json] [--(no)naked-res] [--no-config
| -C] [--no-env] [--page-result[=program]] [--uid=s] [--user=s]
[--with-field-names] [--without-field-names]
% upf get-user-groups [--config-path=path | -c] [--config-profile=profile
| -P] [--detail] [--etc-dir=s] [--format=name] [--json]
[--(no)naked-res] [--no-config | -C] [--no-detail] [--no-env]
[--nodetail] [--page-result[=program]] [--with-field-names]
[--without-field-names] <user>
% upf group-exists [--config-path=path | -c] [--config-profile=profile |
-P] [--etc-dir=s] [--format=name] [--gid=s] [--group=s] [--json]
[--(no)naked-res] [--no-config | -C] [--no-env]
[--page-result[=program]]
% upf is-member [--config-path=path | -c] [--config-profile=profile | -P]
[--etc-dir=s] [--format=name] [--json] [--(no)naked-res] [--no-config
| -C] [--no-env] [--page-result[=program]] <user> <group>
% upf list-groups [--config-path=path | -c] [--config-profile=profile |
-P] [--detail] [--etc-dir=s] [--format=name] [--json]
[--(no)naked-res] [--no-config | -C] [--no-detail] [--no-env]
[--nodetail] [--page-result[=program]] [--with-field-names]
[--without-field-names]
[--detail] [--etc-dir=s] [--format=name] [--json] [--(no)naked-res]
[--no-config | -C] [--no-detail] [--no-env] [--nodetail]
[--page-result[=program]] [--with-field-names] [--without-field-names]
% upf list-users-and-groups [--config-path=path | -c]
[--config-profile=profile | -P] [--detail] [--etc-dir=s]
[--format=name] [--json] [--(no)naked-res] [--no-config | -C]
[--no-detail] [--no-env] [--nodetail] [--page-result[=program]]
[--with-field-names] [--without-field-names]
% upf modify-group [--admins=s] [--backup] [--config-path=path | -c]
[--config-profile=profile | -P] [--encpass=s] [--etc-dir=s]
[--format=name] [--gid=s] [--json] [--members=s] [--(no)naked-res]
[--no-backup] [--no-config | -C] [--no-env] [--nobackup]
[--page-result[=program]] [--pass=s] <group>
% upf modify-user [--backup] [--config-path=path | -c]
[--config-profile=profile | -P] [--encpass=s] [--etc-dir=s]
[--expire-date=s] [--format=name] [--gecos=s] [--gid=s] [--home=s]
[--json] [--last-pwchange=s] [--max-pass-age=s] [--min-pass-age=s]
[--(no)naked-res] [--no-backup] [--no-config | -C] [--no-env]
[--nobackup] [--page-result[=program]] [--pass-inactive-period=s]
[--pass-warn-period=s] [--shell=s] [--uid=s] <user>
% upf set-user-groups [--config-path=path | -c] [--config-profile=profile
| -P] [--etc-dir=s] [--format=name] [--json] [--(no)naked-res]
[--no-config | -C] [--no-env] [--page-result[=program]] <user>
<groups> ...
% upf set-user-password [--backup] [--config-path=path | -c]
[--config-profile=profile | -P] [--etc-dir=s] [--format=name] [--json]
=head2 B<delete-user>
Delete a user.
=head2 B<delete-user-from-group>
Delete user from a group.
=head2 B<get-group>
Get group details by group name or gid.
Either C<group> OR C<gid> must be specified.
The function is not dissimilar to Unix's C<getgrnam()> or C<getgrgid()>.
=head2 B<get-max-gid>
Get maximum GID used.
=head2 B<get-max-uid>
Get maximum UID used.
=head2 B<get-user>
Get user details by username or uid.
=over
=item B<--backup>
Whether to backup when modifying files.
Backup is written with `.bak` extension in the same directory. Unmodified file
will not be backed up. Previous backup will be overwritten.
=item B<--gid>=I<s>
Pick a specific new GID.
Adding a new group with duplicate GID is allowed.
=item B<--group>=I<s>*
=item B<--max-gid>=I<s>
Pick a range for new GID.
Default value:
65535
If a free GID between `min_gid` and `max_gid` is not found, error 412 is
returned.
=item B<--members-json>=I<s>
Fill initial members (JSON-encoded).
See C<--members>.
=item B<--members>=I<s>
Fill initial members.
=item B<--min-gid>=I<s>
Pick a range for new GID.
Default value:
1000
If a free GID between `min_gid` and `max_gid` is not found, error 412 is
returned.
=back
=head2 Options for subcommand add-user
=over
=item B<--backup>
Encrypted password.
=item B<--expire-date>=I<s>
The date of expiration of the account, expressed as the number of days since Jan 1, 1970.
=item B<--gecos>=I<s>
Usually, it contains the full username.
=item B<--gid>=I<s>
Pick a specific GID when creating group.
Duplicate GID is allowed.
=item B<--group>=I<s>
Select primary group (default is group with same name as user).
=item B<--home>=I<s>
User's home directory.
=item B<--last-pwchange>=I<s>
The date of the last password change, expressed as the number of days since Jan 1, 1970..
=item B<--max-gid>=I<s>
Pick a range for GID when creating group.
=item B<--max-pass-age>=I<s>
The number of days after which the user will have to change her password.
=item B<--max-uid>=I<s>
Pick a range for new UID.
Default value:
65535
If a free UID between `min_uid` and `max_uid` is not found, error 412 is
returned.
=item B<--min-gid>=I<s>
Pick a range for GID when creating group.
=item B<--min-pass-age>=I<s>
The number of days the user will have to wait before she will be allowed to change her password again.
=item B<--min-uid>=I<s>
Pick a range for new UID.
=item B<--group>=I<s>*
=item B<--user>=I<s>*
=back
=head2 Options for subcommand get-group
=over
=item B<--gid>=I<s>
=item B<--group>=I<s>
=item B<--without-field-names>
By default, a hashref is returned containing field names and its values, e.g.
`{group=>"titin", pass=>"x", gid=>500, ...}`. With `with_field_names=>0`, an
arrayref is returned instead: `["titin", "x", 500, ...]`.
=back
=head2 Options for subcommand get-user
=over
=item B<--uid>=I<s>
=item B<--detail>
If true, return all fields instead of just group names.
=item B<--user>=I<s>*
=item B<--without-field-names>
By default, when `detail=>1`, a hashref is returned for each entry containing
field names and its values, e.g. `{group=>"titin", pass=>"x", gid=>500, ...}`.
With `with_field_names=>0`, an arrayref is returned instead: `["titin", "x",
500, ...]`.
=back
=head2 Options for subcommand group-exists
=over
=item B<--gid>=I<s>
=item B<--group>=I<s>
=back
=head2 Options for subcommand is-member
=over
=item B<--group>=I<s>*
=over
=item B<--detail>
If true, return all fields instead of just group names.
=item B<--without-field-names>
By default, when `detail=>1`, a hashref is returned for each entry containing
field names and its values, e.g. `{group=>"titin", pass=>"x", gid=>500, ...}`.
With `with_field_names=>0`, an arrayref is returned instead: `["titin", "x",
500, ...]`.
=back
=head2 Options for subcommand list-users
=over
Whether to backup when modifying files.
Backup is written with `.bak` extension in the same directory. Unmodified file
will not be backed up. Previous backup will be overwritten.
=item B<--encpass>=I<s>
Encrypted password.
=item B<--gid>=I<s>
Numeric group ID.
=item B<--group>=I<s>*
Group name.
=item B<--members>=I<s>
List of usernames that are members of this group, separated by commas.
Encrypted password.
=item B<--expire-date>=I<s>
The date of expiration of the account, expressed as the number of days since Jan 1, 1970.
=item B<--gecos>=I<s>
Usually, it contains the full username.
=item B<--gid>=I<s>
Numeric primary group ID for this user.
=item B<--home>=I<s>
User's home directory.
=item B<--last-pwchange>=I<s>
The date of the last password change, expressed as the number of days since Jan 1, 1970..
=head2 Configuration for subcommand add-delete-user-groups
add_to (see --add-to)
delete_from (see --delete-from)
user (see --user)
=head2 Configuration for subcommand add-group
backup (see --backup)
gid (see --gid)
group (see --group)
max_gid (see --max-gid)
members (see --members)
min_gid (see --min-gid)
=head2 Configuration for subcommand add-user
backup (see --backup)
encpass (see --encpass)
expire_date (see --expire-date)
gecos (see --gecos)
gid (see --gid)
group (see --group)
home (see --home)
last_pwchange (see --last-pwchange)
max_gid (see --max-gid)
max_pass_age (see --max-pass-age)
max_uid (see --max-uid)
min_gid (see --min-gid)
min_pass_age (see --min-pass-age)
min_uid (see --min-uid)
pass (see --pass)
pass_inactive_period (see --pass-inactive-period)
pass_warn_period (see --pass-warn-period)
shell (see --shell)
uid (see --uid)
user (see --user)
=head2 Configuration for subcommand add-user-to-group
backup (see --backup)
user (see --user)
=head2 Configuration for subcommand delete-user-from-group
group (see --group)
user (see --user)
=head2 Configuration for subcommand get-group
gid (see --gid)
group (see --group)
with_field_names (see --without-field-names)
=head2 Configuration for subcommand get-max-gid
=head2 Configuration for subcommand get-max-uid
=head2 Configuration for subcommand get-user
uid (see --uid)
user (see --user)
with_field_names (see --without-field-names)
=head2 Configuration for subcommand get-user-groups
detail (see --detail)
user (see --user)
with_field_names (see --without-field-names)
=head2 Configuration for subcommand group-exists
gid (see --gid)
group (see --group)
=head2 Configuration for subcommand is-member
group (see --group)
user (see --user)
=head2 Configuration for subcommand list-groups
detail (see --detail)
=head2 Configuration for subcommand list-users-and-groups
detail (see --detail)
with_field_names (see --without-field-names)
=head2 Configuration for subcommand modify-group
admins (see --admins)
backup (see --backup)
encpass (see --encpass)
gid (see --gid)
group (see --group)
members (see --members)
pass (see --pass)
=head2 Configuration for subcommand modify-user
backup (see --backup)
encpass (see --encpass)
expire_date (see --expire-date)
gecos (see --gecos)
gid (see --gid)
home (see --home)
last_pwchange (see --last-pwchange)
max_pass_age (see --max-pass-age)
min_pass_age (see --min-pass-age)
pass_inactive_period (see --pass-inactive-period)
pass_warn_period (see --pass-warn-period)
shell (see --shell)
uid (see --uid)
user (see --user)
( run in 1.175 second using v1.01-cache-2.11-cpan-5735350b133 )