mirror of
https://git.proxmox.com/git/pve-manager
synced 2025-07-25 20:05:21 +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'),
|
node => get_standard_option('pve-node'),
|
||||||
cmd => {
|
cmd => {
|
||||||
type => 'string',
|
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],
|
enum => [keys %$shell_cmd_map],
|
||||||
optional => 1,
|
optional => 1,
|
||||||
default => 'login',
|
default => 'login',
|
||||||
@ -1000,7 +1000,7 @@ __PACKAGE__->register_method ({
|
|||||||
|
|
||||||
raise_perm_exc("realm != pam") if $realm ne 'pam';
|
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');
|
raise_perm_exc('user != root@pam');
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1089,7 +1089,7 @@ __PACKAGE__->register_method ({
|
|||||||
node => get_standard_option('pve-node'),
|
node => get_standard_option('pve-node'),
|
||||||
cmd => {
|
cmd => {
|
||||||
type => 'string',
|
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],
|
enum => [keys %$shell_cmd_map],
|
||||||
optional => 1,
|
optional => 1,
|
||||||
default => 'login',
|
default => 'login',
|
||||||
@ -1223,7 +1223,7 @@ __PACKAGE__->register_method ({
|
|||||||
proxy => get_standard_option('spice-proxy', { optional => 1 }),
|
proxy => get_standard_option('spice-proxy', { optional => 1 }),
|
||||||
cmd => {
|
cmd => {
|
||||||
type => 'string',
|
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],
|
enum => [keys %$shell_cmd_map],
|
||||||
optional => 1,
|
optional => 1,
|
||||||
default => 'login',
|
default => 'login',
|
||||||
@ -1248,7 +1248,7 @@ __PACKAGE__->register_method ({
|
|||||||
|
|
||||||
raise_perm_exc("realm != pam") if $realm ne 'pam';
|
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');
|
raise_perm_exc('user != root@pam');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user