aboutsummaryrefslogtreecommitdiffhomepage
path: root/internal/outcome/spaccount.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/outcome/spaccount.go')
-rw-r--r--internal/outcome/spaccount.go23
1 files changed, 13 insertions, 10 deletions
diff --git a/internal/outcome/spaccount.go b/internal/outcome/spaccount.go
index 1a849cb5..ccc64479 100644
--- a/internal/outcome/spaccount.go
+++ b/internal/outcome/spaccount.go
@@ -6,6 +6,7 @@ import (
"syscall"
"hakurei.app/fhs"
+ "hakurei.app/hst"
"hakurei.app/internal/validate"
)
@@ -41,16 +42,18 @@ func (s spAccountOp) toContainer(state *outcomeStateParams) error {
state.env["USER"] = username
state.env["SHELL"] = state.Container.Shell.String()
- state.params.
- Place(fhs.AbsEtc.Append("passwd"),
- []byte(username+":x:"+
- state.mapuid.String()+":"+
- state.mapgid.String()+
- ":Hakurei:"+
- state.Container.Home.String()+":"+
- state.Container.Shell.String()+"\n")).
- Place(fhs.AbsEtc.Append("group"),
- []byte("hakurei:x:"+state.mapgid.String()+":\n"))
+ if state.Container.Flags&hst.FNoPlace == 0 {
+ state.params.
+ Place(fhs.AbsEtc.Append("passwd"),
+ []byte(username+":x:"+
+ state.mapuid.String()+":"+
+ state.mapgid.String()+
+ ":Hakurei:"+
+ state.Container.Home.String()+":"+
+ state.Container.Shell.String()+"\n")).
+ Place(fhs.AbsEtc.Append("group"),
+ []byte("hakurei:x:"+state.mapgid.String()+":\n"))
+ }
return nil
}