fix(terminal): add sudo for non-root users to access Docker socket in terminal command
This commit is contained in:
parent
9a1020d5be
commit
41b3c71d02
1 changed files with 8 additions and 1 deletions
|
|
@ -57,7 +57,14 @@ public function sendTerminalCommand($isContainer, $identifier, $serverUuid)
|
||||||
$shellCommand = 'PATH=$PATH:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin && '.
|
$shellCommand = 'PATH=$PATH:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin && '.
|
||||||
'if [ -f ~/.profile ]; then . ~/.profile; fi && '.
|
'if [ -f ~/.profile ]; then . ~/.profile; fi && '.
|
||||||
'if [ -n "$SHELL" ] && [ -x "$SHELL" ]; then exec $SHELL; else sh; fi';
|
'if [ -n "$SHELL" ] && [ -x "$SHELL" ]; then exec $SHELL; else sh; fi';
|
||||||
$command = SshMultiplexingHelper::generateSshCommand($server, "docker exec -it {$escapedIdentifier} sh -c '{$shellCommand}'");
|
|
||||||
|
// Add sudo for non-root users to access Docker socket
|
||||||
|
$dockerCommand = "docker exec -it {$escapedIdentifier} sh -c '{$shellCommand}'";
|
||||||
|
if ($server->isNonRoot()) {
|
||||||
|
$dockerCommand = "sudo {$dockerCommand}";
|
||||||
|
}
|
||||||
|
|
||||||
|
$command = SshMultiplexingHelper::generateSshCommand($server, $dockerCommand);
|
||||||
} else {
|
} else {
|
||||||
$shellCommand = 'PATH=$PATH:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin && '.
|
$shellCommand = 'PATH=$PATH:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin && '.
|
||||||
'if [ -f ~/.profile ]; then . ~/.profile; fi && '.
|
'if [ -f ~/.profile ]; then . ~/.profile; fi && '.
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue