Add ability for users to disable checking file permissions when starting a server; closes pterodactly/panel#2272
This commit is contained in:
parent
c7e732d084
commit
5f1ceeff90
|
@ -38,6 +38,12 @@ type SystemConfiguration struct {
|
||||||
// the user did not press the stop button, but the process stopped cleanly.
|
// the user did not press the stop button, but the process stopped cleanly.
|
||||||
DetectCleanExitAsCrash bool `default:"true" yaml:"detect_clean_exit_as_crash"`
|
DetectCleanExitAsCrash bool `default:"true" yaml:"detect_clean_exit_as_crash"`
|
||||||
|
|
||||||
|
// If set to true, file permissions for a server will be checked when the process is
|
||||||
|
// booted. This can cause boot delays if the server has a large amount of files. In most
|
||||||
|
// cases disabling this should not have any major impact unless external processes are
|
||||||
|
// frequently modifying a servers' files.
|
||||||
|
CheckPermissionsOnBoot bool `default:"true" yaml:"check_permissions_on_boot"`
|
||||||
|
|
||||||
Sftp SftpConfiguration `yaml:"sftp"`
|
Sftp SftpConfiguration `yaml:"sftp"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -3,6 +3,7 @@ package server
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
|
"github.com/pterodactyl/wings/config"
|
||||||
"golang.org/x/sync/semaphore"
|
"golang.org/x/sync/semaphore"
|
||||||
"os"
|
"os"
|
||||||
"time"
|
"time"
|
||||||
|
@ -147,11 +148,13 @@ func (s *Server) onBeforeStart() error {
|
||||||
s.PublishConsoleOutputFromDaemon("Updating process configuration files...")
|
s.PublishConsoleOutputFromDaemon("Updating process configuration files...")
|
||||||
s.UpdateConfigurationFiles()
|
s.UpdateConfigurationFiles()
|
||||||
|
|
||||||
|
if config.Get().System.CheckPermissionsOnBoot {
|
||||||
s.PublishConsoleOutputFromDaemon("Ensuring file permissions are set correctly, this could take a few seconds...")
|
s.PublishConsoleOutputFromDaemon("Ensuring file permissions are set correctly, this could take a few seconds...")
|
||||||
// Ensure all of the server file permissions are set correctly before booting the process.
|
// Ensure all of the server file permissions are set correctly before booting the process.
|
||||||
if err := s.Filesystem.Chown("/"); err != nil {
|
if err := s.Filesystem.Chown("/"); err != nil {
|
||||||
return errors.Wrap(err, "failed to chown root server directory during pre-boot process")
|
return errors.Wrap(err, "failed to chown root server directory during pre-boot process")
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user