]>
git.proxmox.com Git - pve-access-control.git/blob - PVE/CLI/pveum.pm
1 package PVE
::CLI
::pveum
;
6 use PVE
::Tools
qw(run_command);
9 use PVE
::AccessControl
;
10 use File
::Path
qw(make_path remove_tree);
13 use PVE
::RPCEnvironment
;
18 use PVE
::API2
::AccessControl
;
19 use PVE
::JSONSchema
qw(get_standard_option);
22 use base
qw(PVE::CLIHandler);
24 sub setup_environment
{
25 PVE
::RPCEnvironment-
>setup_default_cli_env();
29 # return $ENV{PVE_PW_TICKET} if defined($ENV{PVE_PW_TICKET});
31 my $term = new Term
::ReadLine
('pveum');
32 my $attribs = $term->Attribs;
33 $attribs->{redisplay_function
} = $attribs->{shadow_redisplay
};
34 my $input = $term->readline('Enter new password: ');
35 my $conf = $term->readline('Retype new password: ');
36 die "Passwords do not match.\n" if ($input ne $conf);
41 ticket
=> [ 'PVE::API2::AccessControl', 'create_ticket', ['username'], undef,
44 print "$res->{ticket}\n";
47 passwd
=> [ 'PVE::API2::AccessControl', 'change_passsword', ['userid'] ],
49 useradd
=> [ 'PVE::API2::User', 'create_user', ['userid'] ],
50 usermod
=> [ 'PVE::API2::User', 'update_user', ['userid'] ],
51 userdel
=> [ 'PVE::API2::User', 'delete_user', ['userid'] ],
53 groupadd
=> [ 'PVE::API2::Group', 'create_group', ['groupid'] ],
54 groupmod
=> [ 'PVE::API2::Group', 'update_group', ['groupid'] ],
55 groupdel
=> [ 'PVE::API2::Group', 'delete_group', ['groupid'] ],
57 roleadd
=> [ 'PVE::API2::Role', 'create_role', ['roleid'] ],
58 rolemod
=> [ 'PVE::API2::Role', 'update_role', ['roleid'] ],
59 roledel
=> [ 'PVE::API2::Role', 'delete_role', ['roleid'] ],
61 aclmod
=> [ 'PVE::API2::ACL', 'update_acl', ['path'], { delete => 0 }],
62 acldel
=> [ 'PVE::API2::ACL', 'update_acl', ['path'], { delete => 1 }],