Merge pull request #3647 from derpoho/next
fixes coollabsio#3645, incorrect adding of sudo if non-root user
This commit is contained in:
@@ -1184,12 +1184,24 @@ function check_domain_usage(ServiceApplication|Application|null $resource = null
|
|||||||
function parseCommandsByLineForSudo(Collection $commands, Server $server): array
|
function parseCommandsByLineForSudo(Collection $commands, Server $server): array
|
||||||
{
|
{
|
||||||
$commands = $commands->map(function ($line) {
|
$commands = $commands->map(function ($line) {
|
||||||
if (! str($line)->startsWith('cd') && ! str($line)->startsWith('command') && ! str($line)->startsWith('echo') && ! str($line)->startsWith('true')) {
|
if (! str(trim($line))->startsWith([
|
||||||
|
'cd',
|
||||||
|
'command',
|
||||||
|
'echo',
|
||||||
|
'true',
|
||||||
|
'if',
|
||||||
|
'fi',
|
||||||
|
])) {
|
||||||
return "sudo $line";
|
return "sudo $line";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (str(trim($line))->startsWith('if')) {
|
||||||
|
return str_replace('if', 'if sudo', $line);
|
||||||
|
}
|
||||||
|
|
||||||
return $line;
|
return $line;
|
||||||
});
|
});
|
||||||
|
|
||||||
$commands = $commands->map(function ($line) use ($server) {
|
$commands = $commands->map(function ($line) use ($server) {
|
||||||
if (Str::startsWith($line, 'sudo mkdir -p')) {
|
if (Str::startsWith($line, 'sudo mkdir -p')) {
|
||||||
return "$line && sudo chown -R $server->user:$server->user ".Str::after($line, 'sudo mkdir -p').' && sudo chmod -R o-rwx '.Str::after($line, 'sudo mkdir -p');
|
return "$line && sudo chown -R $server->user:$server->user ".Str::after($line, 'sudo mkdir -p').' && sudo chmod -R o-rwx '.Str::after($line, 'sudo mkdir -p');
|
||||||
@@ -1197,6 +1209,7 @@ function parseCommandsByLineForSudo(Collection $commands, Server $server): array
|
|||||||
|
|
||||||
return $line;
|
return $line;
|
||||||
});
|
});
|
||||||
|
|
||||||
$commands = $commands->map(function ($line) {
|
$commands = $commands->map(function ($line) {
|
||||||
$line = str($line);
|
$line = str($line);
|
||||||
if (str($line)->contains('$(')) {
|
if (str($line)->contains('$(')) {
|
||||||
|
Reference in New Issue
Block a user