[MM-55296] Added warning in Workspace dashboard if Mattermost is running as root (#27999)
Co-authored-by: Ben Schumacher <ben.schumacher@mattermost.com>
Этот коммит содержится в:
@@ -76,6 +76,39 @@ const sessionLength = (
|
||||
};
|
||||
};
|
||||
|
||||
/**
|
||||
*
|
||||
* @description This checks to see if Mattermost is running as root.
|
||||
*/
|
||||
const rootUserCheck = async (
|
||||
config: Partial<AdminConfig>,
|
||||
formatMessage: ReturnType<typeof useIntl>['formatMessage'],
|
||||
options: Options,
|
||||
) => {
|
||||
const fetchRootStatus = async () => {
|
||||
const result = await Client4.ping(true);
|
||||
return result.root_status ? ItemStatus.WARNING : ItemStatus.OK;
|
||||
};
|
||||
|
||||
const status = await fetchRootStatus();
|
||||
|
||||
return {
|
||||
id: 'root_status,',
|
||||
title: formatMessage({
|
||||
id: 'admin.reporting.workspace_optimization.configuration.root_status.title',
|
||||
defaultMessage: 'Mattermost is running as root',
|
||||
}),
|
||||
description: formatMessage({
|
||||
id: 'admin.reporting.workspace_optimization.configuration.root_status.description',
|
||||
defaultMessage: 'Running Mattermost as root is not recommended. Please use a non-root user.',
|
||||
}),
|
||||
telemetryAction: 'root_status',
|
||||
status,
|
||||
scoreImpact: 25,
|
||||
impactModifier: impactModifiers[status],
|
||||
};
|
||||
};
|
||||
|
||||
const fileStorage = async (
|
||||
config: Partial<AdminConfig>,
|
||||
formatMessage: ReturnType<typeof useIntl>['formatMessage'],
|
||||
@@ -119,6 +152,7 @@ export const runConfigChecks = async (
|
||||
ssl,
|
||||
sessionLength,
|
||||
fileStorage,
|
||||
rootUserCheck,
|
||||
];
|
||||
const results = await Promise.all(checks.map((check) => check(config, formatMessage, options)));
|
||||
return results;
|
||||
|
||||
@@ -2043,6 +2043,8 @@
|
||||
"admin.reporting.workspace_optimization.configuration.file_storage.cta": "Config file storage",
|
||||
"admin.reporting.workspace_optimization.configuration.file_storage.description": "Check your file storage settings to ensure your Mattermost workspace has access to the configured file storage.",
|
||||
"admin.reporting.workspace_optimization.configuration.file_storage.title": "File storage access is faulty.",
|
||||
"admin.reporting.workspace_optimization.configuration.root_status.description": "Running Mattermost as root is not recommended. Please use a non-root user.",
|
||||
"admin.reporting.workspace_optimization.configuration.root_status.title": "Mattermost is running as root",
|
||||
"admin.reporting.workspace_optimization.configuration.session_length.cta": "Configure session length",
|
||||
"admin.reporting.workspace_optimization.configuration.session_length.description": "Your session length is set to the default of 30 days. A longer session length provides convenience, and a shorter session provides tighter security. We recommend adjusting this based on your organization's security policies.",
|
||||
"admin.reporting.workspace_optimization.configuration.session_length.title": "Session lengths is set to default",
|
||||
|
||||
@@ -2514,6 +2514,7 @@ export default class Client4 {
|
||||
ActiveSearchBackend: string;
|
||||
database_status: string;
|
||||
filestore_status: string;
|
||||
root_status: boolean;
|
||||
}>(
|
||||
`${this.getBaseRoute()}/system/ping${buildQueryString({get_server_status: getServerStatus, device_id: deviceId, use_rest_semantics: true})}`,
|
||||
{method: 'get'},
|
||||
|
||||
Ссылка в новой задаче
Block a user