From 6318643c25ddefe95c7f983adeca86e0f30b90ee Mon Sep 17 00:00:00 2001 From: nahakubuilder Date: Sun, 24 May 2026 09:17:21 +0000 Subject: [PATCH] update where shell starts and add override `-home` setting --- .samples/original-broken-layout.png | Bin 42074 -> 0 bytes ...ame-session-openedasnew-correct-layout.png | Bin 42687 -> 0 bytes README.md | 23 ++----------- internals/config.go | 1 + internals/handlers.go | 4 +-- internals/server.go | 32 ++++++++++++++++++ internals/session.go | 2 +- 7 files changed, 39 insertions(+), 23 deletions(-) delete mode 100644 .samples/original-broken-layout.png delete mode 100644 .samples/same-session-openedasnew-correct-layout.png diff --git a/.samples/original-broken-layout.png b/.samples/original-broken-layout.png deleted file mode 100644 index 05c2b4c9f4b434985d902ba81c595fa2037c17ce..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 42074 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 +3v+mvaBu&tlP69|I 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 aZL=7EOAFiGw^L=#hdmG-@nC;S=|2HDyOieu diff --git a/README.md b/README.md index 69f823b..cdb0f0a 100644 --- a/README.md +++ b/README.md @@ -33,6 +33,7 @@ Change with `-setlogin` before first use. | `-log off` | — | Disable file logging (console output always on) | | `-mfa on` | — | Enable TOTP MFA for user — prints secret + QR code | | `-mfa off` | — | Disable TOTP MFA for user | +| `-home ` | `~` | Starting directory for new shell sessions | --- @@ -101,26 +102,8 @@ Structured JSON-lines, one entry per login attempt: ## Run as service - `gotermix.service` is pretty limitted, you can change settings there to suit your needs -```bash -# 1. Create unprivileged system user (no shell, no home) -useradd --system --no-create-home --shell /sbin/nologin gotermix - -# 2. Deploy binary and set ownership -mkdir -p /opt/gotermix -cp gotermix /opt/gotermix/ -chown -R gotermix:gotermix /opt/gotermix -chmod 750 /opt/gotermix -chmod 750 /opt/gotermix/gotermix - -# 3. Install and enable service -cp gotermix.service /etc/systemd/system/ -systemctl daemon-reload -systemctl enable --now gotermix - -# 4. Check it's up -systemctl status gotermix -journalctl -u gotermix -f -``` +- there are 2 samples, `gotermix-limitted.service` has many settings what limits what this app and sessions in can do ( you may not even change user) +- `gotermix.service` is pretty much normal full shell without restriction, run as specific user. --- diff --git a/internals/config.go b/internals/config.go index ee9ee3f..7511177 100644 --- a/internals/config.go +++ b/internals/config.go @@ -60,6 +60,7 @@ type Session struct { var ( initialCwd string + shellHome string // starting directory for new shell sessions nopwMode bool appCreds storedCreds authSecret []byte diff --git a/internals/handlers.go b/internals/handlers.go index 17ae93b..e8790c6 100644 --- a/internals/handlers.go +++ b/internals/handlers.go @@ -374,7 +374,7 @@ func handleUpload(w http.ResponseWriter, r *http.Request) { destDir := strings.TrimSpace(r.FormValue("dest")) if destDir == "" { - destDir = initialCwd + destDir = shellHome } destPath := filepath.Join(filepath.Clean(destDir), filepath.Base(header.Filename)) @@ -400,7 +400,7 @@ func handleDownload(w http.ResponseWriter, r *http.Request) { } full := filepath.Clean(path) if !filepath.IsAbs(full) { - full = filepath.Join(initialCwd, full) + full = filepath.Join(shellHome, full) } if _, err := os.Stat(full); err != nil { http.Error(w, "file not found", http.StatusNotFound) diff --git a/internals/server.go b/internals/server.go index a194a45..2745e93 100644 --- a/internals/server.go +++ b/internals/server.go @@ -15,6 +15,24 @@ import ( qrcode "github.com/skip2/go-qrcode" ) +// expandHome resolves a leading ~ to the current user's home directory. +func expandHome(p string) (string, error) { + if p == "" { + return os.UserHomeDir() + } + if p == "~" { + return os.UserHomeDir() + } + if strings.HasPrefix(p, "~/") { + home, err := os.UserHomeDir() + if err != nil { + return "", err + } + return filepath.Join(home, p[2:]), nil + } + return p, nil +} + // Run is the application entry point, called from main(). func Run() { addr := flag.String("addr", "127.0.0.1:5000", "listen address") @@ -25,10 +43,24 @@ func Run() { certreset := flag.Bool("certreset", false, "remove stored custom certificate, revert to self-signed") logFlag := flag.String("log", "", "auth log file path; 'off' disables file logging (default: gotermix.log next to binary)") mfaFlag := flag.String("mfa", "", "manage MFA for a user: -mfa on|off") + homeFlag := flag.String("home", "", "starting directory for new shell sessions (default: user home ~)") flag.Parse() initialCwd, _ = os.Getwd() + // Resolve shell starting directory. + home, err := expandHome(*homeFlag) + if err != nil { + fmt.Fprintf(os.Stderr, "error resolving home directory: %v\n", err) + os.Exit(1) + } + info, err := os.Stat(home) + if err != nil || !info.IsDir() { + fmt.Fprintf(os.Stderr, "error: -home %q is not a valid directory\n", home) + os.Exit(1) + } + shellHome = home + // Credentials file lives next to the executable. exe, err := os.Executable() if err != nil { diff --git a/internals/session.go b/internals/session.go index 5ddd8b8..43e19ec 100644 --- a/internals/session.go +++ b/internals/session.go @@ -67,7 +67,7 @@ func getOrCreate(id string) *Session { } else { cmd = exec.Command("/bin/bash", "-i") } - cmd.Dir = initialCwd + cmd.Dir = shellHome // Build environment: inherit parent env but force TERM so that bash readline // correctly decodes modifier+cursor sequences (Shift+Arrow etc.).