aboutsummaryrefslogtreecommitdiffhomepage
path: root/cmd/fshim/main.go
diff options
context:
space:
mode:
Diffstat (limited to 'cmd/fshim/main.go')
-rw-r--r--cmd/fshim/main.go15
1 files changed, 15 insertions, 0 deletions
diff --git a/cmd/fshim/main.go b/cmd/fshim/main.go
index 6b271227..5aece38f 100644
--- a/cmd/fshim/main.go
+++ b/cmd/fshim/main.go
@@ -81,6 +81,21 @@ func main() {
// not fatal
}
+ // ensure home directory as target user
+ if s, err := os.Stat(payload.Home); err != nil {
+ if os.IsNotExist(err) {
+ if err = os.Mkdir(payload.Home, 0700); err != nil {
+ fmsg.Fatalf("cannot create home directory: %v", err)
+ }
+ } else {
+ fmsg.Fatalf("cannot access home directory: %v", err)
+ }
+
+ // home directory is created, proceed
+ } else if !s.IsDir() {
+ fmsg.Fatalf("data path %q is not a directory", payload.Home)
+ }
+
var ic init0.Payload
// resolve argv0