From edd526d3b8f925caa1613b6ca9eec00262e9fd67 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=80=97=E5=AD=90?= Date: Sun, 12 Nov 2023 03:12:35 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E9=87=8D=E6=9E=84=20tools.Chmod=20?= =?UTF-8?q?=E5=87=BD=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/http/controllers/plugins/pureftpd_controller.go | 4 +++- app/http/controllers/plugins/toolbox_controller.go | 4 +++- app/services/backup.go | 4 +++- app/services/website.go | 8 ++++++-- pkg/tools/system.go | 12 ++---------- pkg/tools/system_test.go | 2 +- 6 files changed, 18 insertions(+), 16 deletions(-) diff --git a/app/http/controllers/plugins/pureftpd_controller.go b/app/http/controllers/plugins/pureftpd_controller.go index 64131ec0..ccb7c889 100644 --- a/app/http/controllers/plugins/pureftpd_controller.go +++ b/app/http/controllers/plugins/pureftpd_controller.go @@ -182,7 +182,9 @@ func (r *PureFtpdController) Add(ctx http.Context) http.Response { return controllers.Error(ctx, http.StatusUnprocessableEntity, "目录不存在") } - tools.Chmod(path, 0755) + if err = tools.Chmod(path, 0755); err != nil { + return controllers.Error(ctx, http.StatusUnprocessableEntity, "修改目录权限失败") + } tools.Chown(path, "www", "www") tools.Exec(`yes '` + password + `' | pure-pw useradd ` + username + ` -u www -g www -d ` + path) tools.Exec("pure-pw mkdb") diff --git a/app/http/controllers/plugins/toolbox_controller.go b/app/http/controllers/plugins/toolbox_controller.go index 7945dcc5..e2f45925 100644 --- a/app/http/controllers/plugins/toolbox_controller.go +++ b/app/http/controllers/plugins/toolbox_controller.go @@ -123,7 +123,9 @@ func (r *ToolBoxController) SetSWAP(ctx http.Context) http.Response { } else { tools.Exec("dd if=/dev/zero of=/www/swap bs=1M count=" + cast.ToString(size)) tools.Exec("mkswap -f /www/swap") - tools.Chmod("/www/swap", 0600) + if err := tools.Chmod("/www/swap", 0600); err != nil { + return controllers.Error(ctx, http.StatusUnprocessableEntity, "设置 SWAP 权限失败") + } } tools.Exec("swapon /www/swap") tools.Exec("echo '/www/swap swap swap defaults 0 0' >> /etc/fstab") diff --git a/app/services/backup.go b/app/services/backup.go index bf6fbb08..cffe9c64 100644 --- a/app/services/backup.go +++ b/app/services/backup.go @@ -114,7 +114,9 @@ func (s *BackupImpl) WebsiteRestore(website models.Website, backupFile string) e tools.Exec(`rm -rf '` + website.Path + `/*'`) tools.Exec(`unzip -o '` + backupFile + `' -d '` + website.Path + `' 2>&1`) - tools.Chmod(website.Path, 0755) + if err := tools.Chmod(website.Path, 0755); err != nil { + return err + } tools.Chown(website.Path, "www", "www") return nil diff --git a/app/services/website.go b/app/services/website.go index f3bbe750..fd70862c 100644 --- a/app/services/website.go +++ b/app/services/website.go @@ -282,8 +282,12 @@ server return models.Website{}, err } - tools.Chmod(r.setting.Get(models.SettingKeyWebsitePath), 0755) - tools.Chmod(website.Path, 0755) + if err := tools.Chmod(r.setting.Get(models.SettingKeyWebsitePath), 0755); err != nil { + return models.Website{}, err + } + if err := tools.Chmod(website.Path, 0755); err != nil { + return models.Website{}, err + } tools.Chown(r.setting.Get(models.SettingKeyWebsitePath), "www", "www") tools.Chown(website.Path, "www", "www") diff --git a/pkg/tools/system.go b/pkg/tools/system.go index e034e4d5..4a3fcd6c 100644 --- a/pkg/tools/system.go +++ b/pkg/tools/system.go @@ -106,16 +106,8 @@ func Mkdir(path string, permission os.FileMode) error { } // Chmod 修改文件/目录权限 -func Chmod(path string, permission os.FileMode) bool { - if err := os.Chmod(path, permission); err != nil { - facades.Log().With(map[string]any{ - "path": path, - "permission": permission, - }).Tags("面板", "工具函数").Info("修改文件/目录权限失败") - return false - } - - return true +func Chmod(path string, permission os.FileMode) error { + return os.Chmod(path, permission) } // Chown 修改文件/目录所有者 diff --git a/pkg/tools/system_test.go b/pkg/tools/system_test.go index 6e0679fa..643fa16b 100644 --- a/pkg/tools/system_test.go +++ b/pkg/tools/system_test.go @@ -78,7 +78,7 @@ func (s *SystemHelperTestSuite) TestChmod() { err := os.WriteFile(filePath, []byte("test data"), 0644) s.Nil(err) - s.True(Chmod(filePath, 0755)) + s.Nil(Chmod(filePath, 0755)) } func (s *SystemHelperTestSuite) TestChown() {