From dd46afacd60d8c7131283fc3691449ff8d5b8829 Mon Sep 17 00:00:00 2001 From: Paul Vrn <78180340+Paul-vrn@users.noreply.github.com> Date: Wed, 8 Nov 2023 11:39:37 +0100 Subject: [PATCH] [MM-55004] Add warning log message when app run as root (#25213) * feat: add log warn when app is run as root user * Modify warning message * Move warning message condition to L415 * move check to cmd/mattermost/main.go * Update server/channels/app/server.go Co-authored-by: Ben Schumacher * Moved checkForRootUser to root.go * format root.go * remove unnecessary space --------- Co-authored-by: Ben Schumacher Co-authored-by: Mattermost Build --- server/cmd/mattermost/commands/root.go | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/server/cmd/mattermost/commands/root.go b/server/cmd/mattermost/commands/root.go index 3dd3dea3e9..692ac30f53 100644 --- a/server/cmd/mattermost/commands/root.go +++ b/server/cmd/mattermost/commands/root.go @@ -4,6 +4,9 @@ package commands import ( + "os" + + "github.com/mattermost/mattermost/server/public/shared/mlog" "github.com/spf13/cobra" ) @@ -18,8 +21,18 @@ var RootCmd = &cobra.Command{ Use: "mattermost", Short: "Open source, self-hosted Slack-alternative", Long: `Mattermost offers workplace messaging across web, PC and phones with archiving, search and integration with your existing systems. Documentation available at https://docs.mattermost.com`, + PersistentPreRun: func(cmd *cobra.Command, args []string) { + checkForRootUser() + }, } func init() { RootCmd.PersistentFlags().StringP("config", "c", "", "Configuration file to use.") } + +// checkForRootUser logs a warning if the process is running as root +func checkForRootUser() { + if os.Geteuid() == 0 { + mlog.Warn("Running Mattermost as root is not recommended. Please use a non-root user.") + } +}