This is an automated email from the ASF dual-hosted git repository.
shwstppr pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/cloudstack-cloudmonkey.git
The following commit(s) were added to refs/heads/main by this push:
new 4673829 config: fix access for config and history file (#166)
4673829 is described below
commit 4673829bfd21405a0fdec6fd7bfcc8594468ab39
Author: Abhishek Kumar <[email protected]>
AuthorDate: Thu Aug 7 13:49:32 2025 +0530
config: fix access for config and history file (#166)
Fixes #157
---------
Signed-off-by: Abhishek Kumar <[email protected]>
---
config/config.go | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/config/config.go b/config/config.go
index 3245f4e..91632aa 100644
--- a/config/config.go
+++ b/config/config.go
@@ -267,6 +267,7 @@ func saveConfig(cfg *Config) *Config {
conf.Section(defaultCoreConfig.ProfileName).ReflectFrom(&defaultProfile)
conf.SaveTo(cfg.ConfigFile)
}
+ makeFileUserPrivate(cfg.ConfigFile)
conf := readConfig(cfg)
@@ -322,6 +323,10 @@ func saveConfig(cfg *Config) *Config {
profiles = append(profiles, profile.Name())
}
+ if cfg.HistoryFile != "" {
+ makeFileUserPrivate(cfg.HistoryFile)
+ }
+
return cfg
}
@@ -395,6 +400,14 @@ func (c *Config) UpdateConfig(key string, value string,
update bool) {
}
}
+func makeFileUserPrivate(filePath string) {
+ if fi, err := os.Stat(filePath); err == nil && fi.Mode().IsRegular() {
+ if err := os.Chmod(filePath, 0600); err != nil {
+ fmt.Printf("Failed to set permissions on %s: %v\n",
filePath, err)
+ }
+ }
+}
+
// NewConfig creates or reload config and loads API cache
func NewConfig(configFilePath *string) *Config {
defaultConf := defaultConfig()