mirror of
https://git.proxmox.com/git/pve-manager
synced 2025-07-24 11:55:17 +00:00
node console: restrict all non-login commands to root@pam
and not just upgrade. note that the only other non-login command (ceph_install) is restricted to root@pam in the web UI anyway, and that the termproxy endpoint is lacking this check and thus always falls back to a login prompt for non-login commands requested by non-root users. Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
This commit is contained in:
parent
6e167f9a9a
commit
4fb92ae88a
@ -949,7 +949,7 @@ __PACKAGE__->register_method ({
|
||||
node => get_standard_option('pve-node'),
|
||||
cmd => {
|
||||
type => 'string',
|
||||
description => "Run specific command or default to login.",
|
||||
description => "Run specific command or default to login (requires 'root\@pam')",
|
||||
enum => [keys %$shell_cmd_map],
|
||||
optional => 1,
|
||||
default => 'login',
|
||||
@ -1000,7 +1000,7 @@ __PACKAGE__->register_method ({
|
||||
|
||||
raise_perm_exc("realm != pam") if $realm ne 'pam';
|
||||
|
||||
if (defined($param->{cmd}) && $param->{cmd} eq 'upgrade' && $user ne 'root@pam') {
|
||||
if (defined($param->{cmd}) && $param->{cmd} ne 'login' && $user ne 'root@pam') {
|
||||
raise_perm_exc('user != root@pam');
|
||||
}
|
||||
|
||||
@ -1089,7 +1089,7 @@ __PACKAGE__->register_method ({
|
||||
node => get_standard_option('pve-node'),
|
||||
cmd => {
|
||||
type => 'string',
|
||||
description => "Run specific command or default to login.",
|
||||
description => "Run specific command or default to login (requires 'root\@pam')",
|
||||
enum => [keys %$shell_cmd_map],
|
||||
optional => 1,
|
||||
default => 'login',
|
||||
@ -1223,7 +1223,7 @@ __PACKAGE__->register_method ({
|
||||
proxy => get_standard_option('spice-proxy', { optional => 1 }),
|
||||
cmd => {
|
||||
type => 'string',
|
||||
description => "Run specific command or default to login.",
|
||||
description => "Run specific command or default to login (requires 'root\@pam')",
|
||||
enum => [keys %$shell_cmd_map],
|
||||
optional => 1,
|
||||
default => 'login',
|
||||
@ -1248,7 +1248,7 @@ __PACKAGE__->register_method ({
|
||||
|
||||
raise_perm_exc("realm != pam") if $realm ne 'pam';
|
||||
|
||||
if (defined($param->{cmd}) && $param->{cmd} eq 'upgrade' && $user ne 'root@pam') {
|
||||
if (defined($param->{cmd}) && $param->{cmd} ne 'login' && $user ne 'root@pam') {
|
||||
raise_perm_exc('user != root@pam');
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user