annotate file/unix_users.go @ 13:da6c493cf08a

Move Unix-specific user auth files into unix_users.go.
author Paul Fisher <paul@pfish.zone>
date Thu, 29 Oct 2015 21:29:27 -0400
parents file/paths.go@c18bc7b9d1d9
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
c18bc7b9d1d9 Basic binaries. checkpassword doesn't yet work.
Paul Fisher <paul@pfish.zone>
parents:
diff changeset
1 package file
c18bc7b9d1d9 Basic binaries. checkpassword doesn't yet work.
Paul Fisher <paul@pfish.zone>
parents:
diff changeset
2
13
da6c493cf08a Move Unix-specific user auth files into unix_users.go.
Paul Fisher <paul@pfish.zone>
parents: 0
diff changeset
3 import (
da6c493cf08a Move Unix-specific user auth files into unix_users.go.
Paul Fisher <paul@pfish.zone>
parents: 0
diff changeset
4 "os/user"
da6c493cf08a Move Unix-specific user auth files into unix_users.go.
Paul Fisher <paul@pfish.zone>
parents: 0
diff changeset
5 "path"
da6c493cf08a Move Unix-specific user auth files into unix_users.go.
Paul Fisher <paul@pfish.zone>
parents: 0
diff changeset
6 )
da6c493cf08a Move Unix-specific user auth files into unix_users.go.
Paul Fisher <paul@pfish.zone>
parents: 0
diff changeset
7
0
c18bc7b9d1d9 Basic binaries. checkpassword doesn't yet work.
Paul Fisher <paul@pfish.zone>
parents:
diff changeset
8 const (
c18bc7b9d1d9 Basic binaries. checkpassword doesn't yet work.
Paul Fisher <paul@pfish.zone>
parents:
diff changeset
9 MultipassFile = ".multipass"
c18bc7b9d1d9 Basic binaries. checkpassword doesn't yet work.
Paul Fisher <paul@pfish.zone>
parents:
diff changeset
10 )
13
da6c493cf08a Move Unix-specific user auth files into unix_users.go.
Paul Fisher <paul@pfish.zone>
parents: 0
diff changeset
11
da6c493cf08a Move Unix-specific user auth files into unix_users.go.
Paul Fisher <paul@pfish.zone>
parents: 0
diff changeset
12 // ForUser gets the given user's ShadowFile.
da6c493cf08a Move Unix-specific user auth files into unix_users.go.
Paul Fisher <paul@pfish.zone>
parents: 0
diff changeset
13 func ForUser(username string) (*ShadowFile, error) {
da6c493cf08a Move Unix-specific user auth files into unix_users.go.
Paul Fisher <paul@pfish.zone>
parents: 0
diff changeset
14 u, err := user.Lookup(username)
da6c493cf08a Move Unix-specific user auth files into unix_users.go.
Paul Fisher <paul@pfish.zone>
parents: 0
diff changeset
15 if err != nil {
da6c493cf08a Move Unix-specific user auth files into unix_users.go.
Paul Fisher <paul@pfish.zone>
parents: 0
diff changeset
16 return nil, err
da6c493cf08a Move Unix-specific user auth files into unix_users.go.
Paul Fisher <paul@pfish.zone>
parents: 0
diff changeset
17 }
da6c493cf08a Move Unix-specific user auth files into unix_users.go.
Paul Fisher <paul@pfish.zone>
parents: 0
diff changeset
18 return New(path.Join(u.HomeDir, MultipassFile)), nil
da6c493cf08a Move Unix-specific user auth files into unix_users.go.
Paul Fisher <paul@pfish.zone>
parents: 0
diff changeset
19 }
da6c493cf08a Move Unix-specific user auth files into unix_users.go.
Paul Fisher <paul@pfish.zone>
parents: 0
diff changeset
20
da6c493cf08a Move Unix-specific user auth files into unix_users.go.
Paul Fisher <paul@pfish.zone>
parents: 0
diff changeset
21 // ForMe gets the current user's ShadowFile.
da6c493cf08a Move Unix-specific user auth files into unix_users.go.
Paul Fisher <paul@pfish.zone>
parents: 0
diff changeset
22 func ForMe() (*ShadowFile, error) {
da6c493cf08a Move Unix-specific user auth files into unix_users.go.
Paul Fisher <paul@pfish.zone>
parents: 0
diff changeset
23 u, err := user.Current()
da6c493cf08a Move Unix-specific user auth files into unix_users.go.
Paul Fisher <paul@pfish.zone>
parents: 0
diff changeset
24 if err != nil {
da6c493cf08a Move Unix-specific user auth files into unix_users.go.
Paul Fisher <paul@pfish.zone>
parents: 0
diff changeset
25 return nil, err
da6c493cf08a Move Unix-specific user auth files into unix_users.go.
Paul Fisher <paul@pfish.zone>
parents: 0
diff changeset
26 }
da6c493cf08a Move Unix-specific user auth files into unix_users.go.
Paul Fisher <paul@pfish.zone>
parents: 0
diff changeset
27 return New(path.Join(u.HomeDir, MultipassFile)), nil
da6c493cf08a Move Unix-specific user auth files into unix_users.go.
Paul Fisher <paul@pfish.zone>
parents: 0
diff changeset
28 }