]> git.proxmox.com Git - pve-manager.git/commitdiff
use login instead of bash
authorDominik Csapak <d.csapak@proxmox.com>
Tue, 28 Feb 2017 11:06:45 +0000 (12:06 +0100)
committerDietmar Maurer <dietmar@proxmox.com>
Thu, 9 Mar 2017 09:28:27 +0000 (10:28 +0100)
since bash does not play well with utf8 encoded input,
eg. pressing ALTGR + M on an english intl keyboard layout int novnc
does not enter the mu symbol but makes bash think you pressed alt+5,
we should use login without authorization when logging in as root

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
PVE/API2/Nodes.pm

index f28a3ffdc0791605338b44f6d83aa4e2bfc59595..c85c9f57715ab00bdb452509b4ffc8789b2a17cf 100644 (file)
@@ -672,7 +672,7 @@ __PACKAGE__->register_method ({
                $upgradecmd = PVE::Tools::shellquote($upgradecmd) if $remip;
                $shcmd = [ '/bin/bash', '-c', $upgradecmd ];
            } else {
-               $shcmd = [ '/bin/bash', '-l' ];
+               $shcmd = [ '/bin/login', '-f', 'root' ];
            }
        } else {
            $shcmd = [ '/bin/login' ];
@@ -829,7 +829,7 @@ __PACKAGE__->register_method ({
                my $upgradecmd = "pveupgrade --shell";
                $shcmd = [ '/bin/bash', '-c', $upgradecmd ];
            } else {
-               $shcmd = [ '/bin/bash', '-l' ];
+               $shcmd = [ '/bin/login', '-f', 'root' ];
            }
        } else {
            $shcmd = [ '/bin/login' ];