-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathperm.go
61 lines (49 loc) · 1.39 KB
/
perm.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
// Copyright 2018 The goftp Authors. All rights reserved.
// Use of this source code is governed by a MIT-style
// license that can be found in the LICENSE file.
package ftp
import "os"
// Perm represents a perm interface
type Perm interface {
GetOwner(string) (string, error)
GetGroup(string) (string, error)
GetMode(string) (os.FileMode, error)
ChOwner(string, string) error
ChGroup(string, string) error
ChMode(string, os.FileMode) error
}
// SimplePerm implements Perm interface that all files are owned by special owner and group
type SimplePerm struct {
owner, group string
}
// NewSimplePerm creates a SimplePerm
func NewSimplePerm(owner, group string) *SimplePerm {
return &SimplePerm{
owner: owner,
group: group,
}
}
// GetOwner returns the file's owner
func (s *SimplePerm) GetOwner(string) (string, error) {
return s.owner, nil
}
// GetGroup returns the group of the file
func (s *SimplePerm) GetGroup(string) (string, error) {
return s.group, nil
}
// GetMode returns the file's mode
func (s *SimplePerm) GetMode(string) (os.FileMode, error) {
return os.ModePerm, nil
}
// ChOwner changed the file's owner
func (s *SimplePerm) ChOwner(string, string) error {
return nil
}
// ChGroup changed the file's group
func (s *SimplePerm) ChGroup(string, string) error {
return nil
}
// ChMode changed the file's mode
func (s *SimplePerm) ChMode(string, os.FileMode) error {
return nil
}