App-upf

 view release on metacpan or  search on metacpan

META.json  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",
            "perl" : "5.010001"
         }
      },
      "test" : {
         "requires" : {
            "File::Spec" : "0",

META.yml  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'
  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};

script/upf  view on Meta::CPAN

        "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"        => {

script/upf  view on Meta::CPAN


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]

script/upf  view on Meta::CPAN

     [--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]

script/upf  view on Meta::CPAN

     [--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]

script/upf  view on Meta::CPAN

=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.

script/upf  view on Meta::CPAN

=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>

script/upf  view on Meta::CPAN

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).

script/upf  view on Meta::CPAN



=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.

script/upf  view on Meta::CPAN

=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>

script/upf  view on Meta::CPAN


=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>*

script/upf  view on Meta::CPAN


=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

script/upf  view on Meta::CPAN

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.

script/upf  view on Meta::CPAN

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..

script/upf  view on Meta::CPAN


=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

script/upf  view on Meta::CPAN

 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)

script/upf  view on Meta::CPAN

=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 0.742 second using v1.01-cache-2.11-cpan-ceb78f64989 )