1
0
mirror of https://github.com/directorz/mailfull-go.git synced 2026-01-08 04:01:56 +00:00

Set permission/owner/group when creating files or directories #3

This commit is contained in:
teru
2016-08-11 16:04:25 +09:00
parent a12ba9d8cc
commit d3b125132b
7 changed files with 49 additions and 13 deletions

12
user.go
View File

@@ -272,7 +272,10 @@ func (r *Repository) UserCreate(domainName string, user *User) error {
filepath.Join(userDirPath, "Maildir/tmp"),
}
for _, dirName := range dirNames {
if err := os.Mkdir(dirName, 0777); err != nil {
if err := os.Mkdir(dirName, 0700); err != nil {
return err
}
if err := os.Chown(dirName, r.uid, r.gid); err != nil {
return err
}
}
@@ -359,7 +362,7 @@ func (r *Repository) writeUsersPasswordFile(domainName string, hashedPasswords m
}
sort.Strings(keys)
file, err := os.OpenFile(filepath.Join(r.DirMailDataPath, domainName, FileNameUsersPassword), os.O_RDWR|os.O_TRUNC, 0666)
file, err := os.OpenFile(filepath.Join(r.DirMailDataPath, domainName, FileNameUsersPassword), os.O_RDWR|os.O_TRUNC, 0600)
if err != nil {
return err
}
@@ -383,10 +386,13 @@ func (r *Repository) writeUserForwardsFile(domainName, userName string, forwards
return ErrInvalidUserName
}
file, err := os.Create(filepath.Join(r.DirMailDataPath, domainName, userName, FileNameUserForwards))
file, err := os.OpenFile(filepath.Join(r.DirMailDataPath, domainName, userName, FileNameUserForwards), os.O_RDWR|os.O_CREATE|os.O_TRUNC, 0600)
if err != nil {
return err
}
if err := file.Chown(r.uid, r.gid); err != nil {
return err
}
defer file.Close()
for _, forward := range forwards {