]> git.proxmox.com Git - pve-access-control.git/blame - PVE/CLI/pveum.pm
improve manual page
[pve-access-control.git] / PVE / CLI / pveum.pm
CommitLineData
09281ad7
DM
1package PVE::CLI::pveum;
2
3use strict;
4use warnings;
5use Getopt::Long;
6use PVE::Tools qw(run_command);
7use PVE::Cluster;
8use PVE::SafeSyslog;
9use PVE::AccessControl;
10use File::Path qw(make_path remove_tree);
11use Term::ReadLine;
12use PVE::INotify;
13use PVE::RPCEnvironment;
14use PVE::API2::User;
15use PVE::API2::Group;
16use PVE::API2::Role;
17use PVE::API2::ACL;
18use PVE::API2::AccessControl;
19use PVE::JSONSchema qw(get_standard_option);
20use PVE::CLIHandler;
21
22use base qw(PVE::CLIHandler);
23
98007830
DM
24sub read_password {
25 # return $ENV{PVE_PW_TICKET} if defined($ENV{PVE_PW_TICKET});
26
27 my $term = new Term::ReadLine ('pveum');
28 my $attribs = $term->Attribs;
29 $attribs->{redisplay_function} = $attribs->{shadow_redisplay};
30 my $input = $term->readline('Enter new password: ');
31 my $conf = $term->readline('Retype new password: ');
32 die "Passwords do not match.\n" if ($input ne $conf);
33 return $input;
34}
35
09281ad7
DM
36our $cmddef = {
37 ticket => [ 'PVE::API2::AccessControl', 'create_ticket', ['username'], undef,
38 sub {
39 my ($res) = @_;
40 print "$res->{ticket}\n";
41 }],
42
43 passwd => [ 'PVE::API2::AccessControl', 'change_passsword', ['userid'] ],
44
45 useradd => [ 'PVE::API2::User', 'create_user', ['userid'] ],
46 usermod => [ 'PVE::API2::User', 'update_user', ['userid'] ],
47 userdel => [ 'PVE::API2::User', 'delete_user', ['userid'] ],
48
49 groupadd => [ 'PVE::API2::Group', 'create_group', ['groupid'] ],
50 groupmod => [ 'PVE::API2::Group', 'update_group', ['groupid'] ],
51 groupdel => [ 'PVE::API2::Group', 'delete_group', ['groupid'] ],
52
53 roleadd => [ 'PVE::API2::Role', 'create_role', ['roleid'] ],
54 rolemod => [ 'PVE::API2::Role', 'update_role', ['roleid'] ],
55 roledel => [ 'PVE::API2::Role', 'delete_role', ['roleid'] ],
56
57 aclmod => [ 'PVE::API2::ACL', 'update_acl', ['path'], { delete => 0 }],
58 acldel => [ 'PVE::API2::ACL', 'update_acl', ['path'], { delete => 1 }],
59};
60
611;
62
63__END__
64
65=head1 NAME
66
67pveum - PVE User Manager
68
085f3e07 69=head1 DESCRIPTION
09281ad7 70
085f3e07 71Tools to manage PVE users, groups, roles and permissions. Modifying roles and permissions is complex and usually easier to handle using the GUI. So the command line interface is mainly provided for scripting purposes.
09281ad7 72
085f3e07 73=head1 SYNOPSIS
09281ad7 74
085f3e07 75=include synopsis
09281ad7
DM
76
77=include pve_copyright