1
0
Fork 0
mirror of https://github.com/postmannen/ctrl.git synced 2024-12-14 12:37:31 +00:00

added group permissions for files/directories created

This commit is contained in:
postmannen 2023-01-10 06:50:28 +01:00
parent 1b26ad854a
commit 541f243067
14 changed files with 35 additions and 35 deletions

View file

@ -661,7 +661,7 @@ Copy a file from one node to another node.
"fileName": "copy.log",
"toNodes": ["central"],
"method":"REQCopySrc",
"methodArgs": ["./testbinary","ship1","./testbinary-copied","500000","20","0700"],
"methodArgs": ["./testbinary","ship1","./testbinary-copied","500000","20","0770"],
"methodTimeout": 10,
"replyMethod":"REQToConsole"
}

View file

@ -293,7 +293,7 @@ func (c *centralAuth) aclDeleteSource(host Node, source Node) error {
func (c *centralAuth) generateACLsForAllNodes() error {
// We first one to save the current main ACLMap.
func() {
fh, err := os.OpenFile(c.accessLists.schemaMain.ACLMapFilePath, os.O_CREATE|os.O_TRUNC|os.O_RDWR, 0600)
fh, err := os.OpenFile(c.accessLists.schemaMain.ACLMapFilePath, os.O_CREATE|os.O_TRUNC|os.O_RDWR, 0660)
if err != nil {
er := fmt.Errorf("error: generateACLsForAllNodes: opening file for writing: %v, err: %v", c.accessLists.schemaMain.ACLMapFilePath, err)
log.Printf("%v\n", er)

View file

@ -73,7 +73,7 @@ func newPKI(configuration *Configuration, errorKernel *errorKernel) *pki {
databaseFilepath := filepath.Join(configuration.DatabaseFolder, "auth.db")
// Open the database file for persistent storage of public keys.
db, err := bolt.Open(databaseFilepath, 0600, nil)
db, err := bolt.Open(databaseFilepath, 0660, nil)
if err != nil {
log.Printf("error: failed to open db: %v\n", err)
return &p

View file

@ -707,7 +707,7 @@ func (c *Configuration) ReadConfigFile(configFolder string) (Configuration, erro
return Configuration{}, fmt.Errorf("error: no config file found %v: %v", fPath, err)
}
f, err := os.OpenFile(fPath, os.O_RDONLY, 0600)
f, err := os.OpenFile(fPath, os.O_RDONLY, 0660)
if err != nil {
return Configuration{}, fmt.Errorf("error: ReadConfigFile: failed to open file: %v", err)
}
@ -730,7 +730,7 @@ func (c *Configuration) ReadConfigFile(configFolder string) (Configuration, erro
// directory for the config file does not exist it will be created.
func (c *Configuration) WriteConfigFile() error {
if _, err := os.Stat(c.ConfigFolder); os.IsNotExist(err) {
err := os.MkdirAll(c.ConfigFolder, 0700)
err := os.MkdirAll(c.ConfigFolder, 0770)
if err != nil {
return fmt.Errorf("error: failed to create config directory %v: %v", c.ConfigFolder, err)
}
@ -738,7 +738,7 @@ func (c *Configuration) WriteConfigFile() error {
fp := filepath.Join(c.ConfigFolder, "config.toml")
f, err := os.OpenFile(fp, os.O_RDWR|os.O_CREATE|os.O_TRUNC, 0600)
f, err := os.OpenFile(fp, os.O_RDWR|os.O_CREATE|os.O_TRUNC, 0660)
if err != nil {
return fmt.Errorf("error: WriteConfigFile: failed to open file: %v", err)
}

View file

@ -119,7 +119,7 @@ func (s *server) getFilePaths(dirName string) ([]string, error) {
// Check if the startup folder exist.
if _, err := os.Stat(dirPath); os.IsNotExist(err) {
err := os.MkdirAll(dirPath, 0700)
err := os.MkdirAll(dirPath, 0770)
if err != nil {
er := fmt.Errorf("error: failed to create startup folder: %v", err)
return nil, er
@ -208,7 +208,7 @@ func (s *server) readSocket() {
func (s *server) readFolder() {
// Check if the startup folder exist.
if _, err := os.Stat(s.configuration.ReadFolder); os.IsNotExist(err) {
err := os.MkdirAll(s.configuration.ReadFolder, 0700)
err := os.MkdirAll(s.configuration.ReadFolder, 0770)
if err != nil {
er := fmt.Errorf("error: failed to create readfolder folder: %v", err)
log.Printf("%v\n", er)

View file

@ -110,7 +110,7 @@ func (n *nodeAcl) loadFromFile() error {
return nil
}
fh, err := os.OpenFile(n.filePath, os.O_RDONLY, 0600)
fh, err := os.OpenFile(n.filePath, os.O_RDONLY, 0660)
if err != nil {
return fmt.Errorf("error: failed to open acl file: %v", err)
}
@ -136,7 +136,7 @@ func (n *nodeAcl) loadFromFile() error {
// saveToFile will save the acl to file for persistent storage.
// An error is returned if it fails.
func (n *nodeAcl) saveToFile() error {
fh, err := os.OpenFile(n.filePath, os.O_RDWR|os.O_CREATE|os.O_TRUNC, 0600)
fh, err := os.OpenFile(n.filePath, os.O_RDWR|os.O_CREATE|os.O_TRUNC, 0660)
if err != nil {
return fmt.Errorf("error: failed to acl file: %v", err)
}
@ -209,7 +209,7 @@ func (p *publicKeys) loadFromFile() error {
return nil
}
fh, err := os.OpenFile(p.filePath, os.O_RDONLY, 0600)
fh, err := os.OpenFile(p.filePath, os.O_RDONLY, 0660)
if err != nil {
return fmt.Errorf("error: failed to open public keys file: %v", err)
}
@ -235,7 +235,7 @@ func (p *publicKeys) loadFromFile() error {
// saveToFile will save all the public kets to file for persistent storage.
// An error is returned if it fails.
func (p *publicKeys) saveToFile() error {
fh, err := os.OpenFile(p.filePath, os.O_RDWR|os.O_CREATE|os.O_TRUNC, 0600)
fh, err := os.OpenFile(p.filePath, os.O_RDWR|os.O_CREATE|os.O_TRUNC, 0660)
if err != nil {
return fmt.Errorf("error: failed to open public keys file: %v", err)
}
@ -261,7 +261,7 @@ func (p *publicKeys) saveToFile() error {
func (n *nodeAuth) loadSigningKeys() error {
// Check if folder structure exist, if not create it.
if _, err := os.Stat(n.SignKeyFolder); os.IsNotExist(err) {
err := os.MkdirAll(n.SignKeyFolder, 0700)
err := os.MkdirAll(n.SignKeyFolder, 0770)
if err != nil {
er := fmt.Errorf("error: failed to create directory for signing keys : %v", err)
return er
@ -333,7 +333,7 @@ func (n *nodeAuth) loadSigningKeys() error {
// writeSigningKey will write the base64 encoded signing key to file.
func (n *nodeAuth) writeSigningKey(realPath string, keyB64 string) error {
fh, err := os.OpenFile(realPath, os.O_RDWR|os.O_CREATE|os.O_TRUNC, 0600)
fh, err := os.OpenFile(realPath, os.O_RDWR|os.O_CREATE|os.O_TRUNC, 0660)
if err != nil {
er := fmt.Errorf("error: failed to open key file for writing: %v", err)
return er

View file

@ -688,7 +688,7 @@ func copyDstSubProcFunc(proc process, cia copyInitialData, message Message, canc
// Open a tmp folder for where to write the received chunks
tmpFolder := filepath.Join(proc.configuration.SocketFolder, cia.DstFile+"-"+cia.UUID)
err = os.Mkdir(tmpFolder, 0700)
err = os.Mkdir(tmpFolder, 0770)
if err != nil {
er := fmt.Errorf("copyDstProcSubFunc: create tmp folder for copying failed: %v", err)
proc.errorKernel.errSend(proc, message, er)
@ -732,7 +732,7 @@ func copyDstSubProcFunc(proc process, cia copyInitialData, message Message, canc
case copyData:
err := func() error {
filePath := filepath.Join(tmpFolder, strconv.Itoa(csa.ChunkNumber)+"."+cia.UUID)
fh, err := os.OpenFile(filePath, os.O_TRUNC|os.O_RDWR|os.O_CREATE|os.O_SYNC, 0600)
fh, err := os.OpenFile(filePath, os.O_TRUNC|os.O_RDWR|os.O_CREATE|os.O_SYNC, 0660)
if err != nil {
er := fmt.Errorf("error: copyDstSubProcFunc: open destination chunk file for writing failed: %v", err)
return er

View file

@ -25,7 +25,7 @@ func (m methodREQToFileAppend) handler(proc process, message Message, node strin
// Check if folder structure exist, if not create it.
if _, err := os.Stat(folderTree); os.IsNotExist(err) {
err := os.MkdirAll(folderTree, 0700)
err := os.MkdirAll(folderTree, 0770)
if err != nil {
er := fmt.Errorf("error: methodREQToFileAppend: failed to create toFileAppend directory tree:%v, subject: %v, %v", folderTree, proc.subject, err)
proc.errorKernel.errSend(proc, message, er)
@ -37,7 +37,7 @@ func (m methodREQToFileAppend) handler(proc process, message Message, node strin
// Open file and write data.
file := filepath.Join(folderTree, fileName)
f, err := os.OpenFile(file, os.O_APPEND|os.O_RDWR|os.O_CREATE|os.O_SYNC, 0600)
f, err := os.OpenFile(file, os.O_APPEND|os.O_RDWR|os.O_CREATE|os.O_SYNC, 0660)
if err != nil {
er := fmt.Errorf("error: methodREQToFileAppend.handler: failed to open file: %v, %v", file, err)
proc.errorKernel.errSend(proc, message, er)
@ -76,7 +76,7 @@ func (m methodREQToFile) handler(proc process, message Message, node string) ([]
// Check if folder structure exist, if not create it.
if _, err := os.Stat(folderTree); os.IsNotExist(err) {
err := os.MkdirAll(folderTree, 0700)
err := os.MkdirAll(folderTree, 0770)
if err != nil {
er := fmt.Errorf("error: methodREQToFile failed to create toFile directory tree: subject:%v, folderTree: %v, %v", proc.subject, folderTree, err)
proc.errorKernel.errSend(proc, message, er)

View file

@ -27,7 +27,7 @@ func (m methodREQHello) handler(proc process, message Message, node string) ([]b
// Check if folder structure exist, if not create it.
if _, err := os.Stat(folderTree); os.IsNotExist(err) {
err := os.MkdirAll(folderTree, 0700)
err := os.MkdirAll(folderTree, 0770)
if err != nil {
return nil, fmt.Errorf("error: failed to create errorLog directory tree %v: %v", folderTree, err)
}
@ -38,8 +38,8 @@ func (m methodREQHello) handler(proc process, message Message, node string) ([]b
// Open file and write data.
file := filepath.Join(folderTree, fileName)
//f, err := os.OpenFile(file, os.O_APPEND|os.O_RDWR|os.O_CREATE|os.O_SYNC, 0600)
f, err := os.OpenFile(file, os.O_TRUNC|os.O_RDWR|os.O_CREATE|os.O_SYNC, 0600)
//f, err := os.OpenFile(file, os.O_APPEND|os.O_RDWR|os.O_CREATE|os.O_SYNC, 0660)
f, err := os.OpenFile(file, os.O_TRUNC|os.O_RDWR|os.O_CREATE|os.O_SYNC, 0660)
if err != nil {
er := fmt.Errorf("error: methodREQHello.handler: failed to open file: %v", err)
@ -84,7 +84,7 @@ func (m methodREQErrorLog) handler(proc process, message Message, node string) (
// Check if folder structure exist, if not create it.
if _, err := os.Stat(folderTree); os.IsNotExist(err) {
err := os.MkdirAll(folderTree, 0700)
err := os.MkdirAll(folderTree, 0770)
if err != nil {
return nil, fmt.Errorf("error: failed to create errorLog directory tree %v: %v", folderTree, err)
}
@ -95,7 +95,7 @@ func (m methodREQErrorLog) handler(proc process, message Message, node string) (
// Open file and write data.
file := filepath.Join(folderTree, fileName)
f, err := os.OpenFile(file, os.O_APPEND|os.O_RDWR|os.O_CREATE|os.O_SYNC, 0600)
f, err := os.OpenFile(file, os.O_APPEND|os.O_RDWR|os.O_CREATE|os.O_SYNC, 0660)
if err != nil {
er := fmt.Errorf("error: methodREQErrorLog.handler: failed to open file: %v", err)
return nil, er
@ -133,7 +133,7 @@ func (m methodREQPing) handler(proc process, message Message, node string) ([]by
// Check if folder structure exist, if not create it.
if _, err := os.Stat(folderTree); os.IsNotExist(err) {
err := os.MkdirAll(folderTree, 0700)
err := os.MkdirAll(folderTree, 0770)
if err != nil {
er := fmt.Errorf("error: methodREQPing.handler: failed to create toFile directory tree: %v, %v", folderTree, err)
proc.errorKernel.errSend(proc, message, er)
@ -196,7 +196,7 @@ func (m methodREQPong) handler(proc process, message Message, node string) ([]by
// Check if folder structure exist, if not create it.
if _, err := os.Stat(folderTree); os.IsNotExist(err) {
err := os.MkdirAll(folderTree, 0700)
err := os.MkdirAll(folderTree, 0770)
if err != nil {
er := fmt.Errorf("error: methodREQPong.handler: failed to create toFile directory tree %v: %v", folderTree, err)
proc.errorKernel.errSend(proc, message, er)

View file

@ -343,7 +343,7 @@ func TestRequest(t *testing.T) {
func checkREQTailFileTest(stewardServer *server, conf *Configuration, t *testing.T, tmpDir string) error {
// Create a file with some content.
fp := filepath.Join(tmpDir, "test.file")
fh, err := os.OpenFile(fp, os.O_APPEND|os.O_RDWR|os.O_CREATE|os.O_SYNC, 0600)
fh, err := os.OpenFile(fp, os.O_APPEND|os.O_RDWR|os.O_CREATE|os.O_SYNC, 0660)
if err != nil {
return fmt.Errorf(" * failed: unable to open temporary file: %v", err)
}
@ -424,7 +424,7 @@ func checkREQCopySrc(stewardServer *server, conf *Configuration, t *testing.T, t
// Create a file with some content.
srcFileName := fmt.Sprintf("copysrc%v.file", i)
srcfp := filepath.Join(tmpDir, srcFileName)
fh, err := os.OpenFile(srcfp, os.O_APPEND|os.O_RDWR|os.O_CREATE|os.O_SYNC, 0600)
fh, err := os.OpenFile(srcfp, os.O_APPEND|os.O_RDWR|os.O_CREATE|os.O_SYNC, 0660)
if err != nil {
t.Fatalf(" \U0001F631 [FAILED] : checkREQCopySrc: unable to open temporary file: %v", err)
}

View file

@ -65,7 +65,7 @@ func newringBuffer(ctx context.Context, metrics *metrics, configuration *Configu
// Check if socket folder exists, if not create it
if _, err := os.Stat(configuration.DatabaseFolder); os.IsNotExist(err) {
err := os.MkdirAll(configuration.DatabaseFolder, 0700)
err := os.MkdirAll(configuration.DatabaseFolder, 0770)
if err != nil {
log.Printf("error: failed to create database directory %v: %v\n", configuration.DatabaseFolder, err)
os.Exit(1)
@ -78,7 +78,7 @@ func newringBuffer(ctx context.Context, metrics *metrics, configuration *Configu
var db *bolt.DB
if configuration.RingBufferPersistStore {
var err error
db, err = bolt.Open(DatabaseFilepath, 0600, nil)
db, err = bolt.Open(DatabaseFilepath, 0660, nil)
if err != nil {
log.Printf("error: failed to open db: %v\n", err)
os.Exit(1)
@ -538,7 +538,7 @@ func (r *ringBuffer) dbUpdate(db *bolt.DB, bucket string, key string, value []by
func (r *ringBuffer) startPermanentStore(ctx context.Context) {
storeFile := filepath.Join(r.configuration.DatabaseFolder, "store.log")
f, err := os.OpenFile(storeFile, os.O_APPEND|os.O_RDWR|os.O_CREATE, 0600)
f, err := os.OpenFile(storeFile, os.O_APPEND|os.O_RDWR|os.O_CREATE, 0660)
if err != nil {
log.Printf("error: startPermanentStore: failed to open file: %v\n", err)
}

View file

@ -51,7 +51,7 @@ func generateNkeys(fileDir string) error {
}
func writekey(fileName string, b []byte) error {
fh, err := os.OpenFile(fileName, os.O_CREATE|os.O_TRUNC|os.O_RDWR, 0600)
fh, err := os.OpenFile(fileName, os.O_CREATE|os.O_TRUNC|os.O_RDWR, 0660)
if err != nil {
return fmt.Errorf("error: failed to open create/open file for writing: %v", err)
}

View file

@ -130,7 +130,7 @@ func NewServer(configuration *Configuration, version string) (*server, error) {
// Check if tmp folder for socket exists, if not create it
if _, err := os.Stat(configuration.SocketFolder); os.IsNotExist(err) {
err := os.MkdirAll(configuration.SocketFolder, 0700)
err := os.MkdirAll(configuration.SocketFolder, 0770)
if err != nil {
cancel()
return nil, fmt.Errorf("error: failed to create socket folder directory %v: %v", configuration.SocketFolder, err)
@ -194,7 +194,7 @@ func NewServer(configuration *Configuration, version string) (*server, error) {
if configuration.SubscribersDataFolder == "" {
return nil, fmt.Errorf("error: subscribersDataFolder value is empty, you need to provide the config or the flag value at startup %v: %v", configuration.SubscribersDataFolder, err)
}
err := os.Mkdir(configuration.SubscribersDataFolder, 0700)
err := os.Mkdir(configuration.SubscribersDataFolder, 0770)
if err != nil {
return nil, fmt.Errorf("error: failed to create data folder directory %v: %v", configuration.SubscribersDataFolder, err)
}

2
tui.go
View file

@ -606,7 +606,7 @@ func (t *tui) messageSlide(app *tview.Application) tview.Primitive {
}
if _, err := os.Stat(messageFolder); os.IsNotExist(err) {
err := os.MkdirAll(messageFolder, 0700)
err := os.MkdirAll(messageFolder, 0770)
if err != nil {
fmt.Fprintf(p.logForm, "error: failed to create messages folder: %v\n", err)
return