pkg/fileutil: expose PrivateFileMode/DirMode

This commit is contained in:
Gyu-Ho Lee
2016-06-10 15:18:29 -07:00
parent 4570eddc2c
commit 47d5257622
5 changed files with 14 additions and 13 deletions

View File

@ -25,9 +25,10 @@ import (
)
const (
privateFileMode = 0600
// owner can make/remove files inside the directory
privateDirMode = 0700
// PrivateFileMode grants owner to read/write a file.
PrivateFileMode = 0600
// PrivateDirMode grants owner to make/remove files inside the directory.
PrivateDirMode = 0700
)
var (
@ -38,7 +39,7 @@ var (
// to dir. It returns nil if dir is writable.
func IsDirWriteable(dir string) error {
f := path.Join(dir, ".touch")
if err := ioutil.WriteFile(f, []byte(""), privateFileMode); err != nil {
if err := ioutil.WriteFile(f, []byte(""), PrivateFileMode); err != nil {
return err
}
return os.Remove(f)
@ -62,7 +63,7 @@ func ReadDir(dirpath string) ([]string, error) {
// TouchDirAll is similar to os.MkdirAll. It creates directories with 0700 permission if any directory
// does not exists. TouchDirAll also ensures the given directory is writable.
func TouchDirAll(dir string) error {
err := os.MkdirAll(dir, privateDirMode)
err := os.MkdirAll(dir, PrivateDirMode)
if err != nil && err != os.ErrExist {
return err
}