blob: 5152b552abb53f6b60dfd4461dac315c4d70024f (
plain)
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
|
package hackers_git
import (
"fmt"
yaml "gopkg.in/yaml.v2"
"io/ioutil"
"nslcd_proto"
"os"
)
type yaml_user struct {
username string
fullname string
shell string
groups []string
}
func filename2uid(filename string) int32 {
// TODO
return 0
}
func load_user_yaml(filename string) (ret nslcd_proto.Passwd, err error) {
ret.UID = filename2uid(filename)
if ret.UID < 0 {
err = fmt.Errorf("Invalid user filename: %q", filename)
return
}
file, err := os.Open(filename)
if err != nil {
return
}
contents, err := ioutil.ReadAll(file)
if err != nil {
return
}
var user yaml_user
err = yaml.Unmarshal(contents, &user)
ret.Name = user.username
ret.Password = "x"
ret.GID = name2gid("users")
ret.GECOS = user.fullname
ret.HomeDir = "/home/" + ret.Name
ret.Shell = user.shell
return
}
func load_user_password(filename string) string {
// TODO
return "!"
}
|