From 8bfe458fbce548aa037ce2842182f72e88a0f12e Mon Sep 17 00:00:00 2001 From: "LocalAI [bot]" <139863280+localai-bot@users.noreply.github.com> Date: Thu, 26 Feb 2026 09:38:54 +0100 Subject: [PATCH] fix: change file permissions from 0600 to 0644 in InstallModel (#8657) Closes #8119 When installing models from the gallery, files are created with 0600 permissions (owner read/write only), making them unreadable by the LocalAI server when running as a different user. This fix changes the permissions to 0644 (owner read/write, group/others read), allowing the server to read model files regardless of the user it runs as. Co-authored-by: localai-bot --- core/gallery/models.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/core/gallery/models.go b/core/gallery/models.go index 133d0d0e6..a2da4442f 100644 --- a/core/gallery/models.go +++ b/core/gallery/models.go @@ -215,7 +215,7 @@ func InstallModel(ctx context.Context, systemState *system.SystemState, nameOver return nil, fmt.Errorf("failed to create parent directory for prompt template %q: %v", template.Name, err) } // Create and write file content - err = os.WriteFile(filePath, []byte(template.Content), 0600) + err = os.WriteFile(filePath, []byte(template.Content), 0644) if err != nil { return nil, fmt.Errorf("failed to write prompt template %q: %v", template.Name, err) } @@ -268,7 +268,7 @@ func InstallModel(ctx context.Context, systemState *system.SystemState, nameOver return nil, fmt.Errorf("failed to validate updated config YAML: %v", err) } - err = os.WriteFile(configFilePath, updatedConfigYAML, 0600) + err = os.WriteFile(configFilePath, updatedConfigYAML, 0644) if err != nil { return nil, fmt.Errorf("failed to write updated config file: %v", err) } @@ -285,7 +285,7 @@ func InstallModel(ctx context.Context, systemState *system.SystemState, nameOver xlog.Debug("Written gallery file", "file", modelFile) - return &modelConfig, os.WriteFile(modelFile, data, 0600) + return &modelConfig, os.WriteFile(modelFile, data, 0644) } func galleryFileName(name string) string {