diff --git a/pandora_console/godmode/agentes/module_manager_editor_network.php b/pandora_console/godmode/agentes/module_manager_editor_network.php
index f509b104b4..091af8c5cf 100644
--- a/pandora_console/godmode/agentes/module_manager_editor_network.php
+++ b/pandora_console/godmode/agentes/module_manager_editor_network.php
@@ -464,7 +464,7 @@ $data[1] = html_print_select(
$disabledBecauseInPolicy
);
-$data[1] .= '
'.__('Manage credentials').'';
+$data[1] .= '
'.__('Manage credentials').'';
$array_os = [
'inherited' => __('Inherited'),
diff --git a/pandora_console/godmode/groups/group_list.php b/pandora_console/godmode/groups/group_list.php
index ddb5224590..57d82f57d9 100644
--- a/pandora_console/godmode/groups/group_list.php
+++ b/pandora_console/godmode/groups/group_list.php
@@ -248,17 +248,30 @@ if (is_ajax()) {
return;
}
-if (! check_acl($config['id_user'], 0, 'PM')) {
+
+$tab = (string) get_parameter('tab', 'groups');
+
+if ($tab != 'credbox' && ! check_acl($config['id_user'], 0, 'PM')) {
db_pandora_audit(
'ACL Violation',
'Trying to access Group Management'
);
include 'general/noaccess.php';
return;
+} else if ($tab == 'credbox'
+ && !check_acl($config['id_user'], 0, 'UM')
+ && !check_acl($config['id_user'], 0, 'PM')
+) {
+ db_pandora_audit(
+ 'ACL Violation',
+ 'Trying to access Credential Store'
+ );
+ include 'general/noaccess.php';
+ return;
}
$sec = defined('METACONSOLE') ? 'advanced' : 'gagente';
-$url_credbox = 'index.php?sec='.$sec.'&sec2=godmode/groups/group_list&tab=credbox';
+$url_credbox = 'index.php?sec=gmodules&sec2=godmode/groups/group_list&tab=credbox';
$url_tree = 'index.php?sec='.$sec.'&sec2=godmode/groups/group_list&tab=tree';
$url_groups = 'index.php?sec='.$sec.'&sec2=godmode/groups/group_list&tab=groups';
@@ -295,8 +308,6 @@ $buttons['credbox'] = [
).'',
];
-$tab = (string) get_parameter('tab', 'groups');
-
$title = __('Groups defined in %s', get_product_name());
// Marks correct tab.
switch ($tab) {
diff --git a/pandora_console/godmode/menu.php b/pandora_console/godmode/menu.php
index 6eb67f1d09..397f153935 100644
--- a/pandora_console/godmode/menu.php
+++ b/pandora_console/godmode/menu.php
@@ -197,6 +197,11 @@ if (check_acl($config['id_user'], 0, 'AW')) {
$sub['gmassive']['sub2'] = $sub2;
}
+if (check_acl($config['id_user'], 0, 'PM') || check_acl($config['id_user'], 0, 'UM')) {
+ $sub['godmode/groups/group_list&tab=credbox']['text'] = __('Credential store');
+ $sub['godmode/groups/group_list&tab=credbox']['id'] = 'credential store';
+}
+
if (!empty($sub)) {
$menu_godmode['gmodules']['text'] = __('Configuration');
$menu_godmode['gmodules']['sec2'] = 'godmode/modules/manage_network_templates';
diff --git a/pandora_console/godmode/wizards/HostDevices.class.php b/pandora_console/godmode/wizards/HostDevices.class.php
index 7abfe15d5d..cf28dee942 100755
--- a/pandora_console/godmode/wizards/HostDevices.class.php
+++ b/pandora_console/godmode/wizards/HostDevices.class.php
@@ -1429,7 +1429,7 @@ class HostDevices extends Wizard
$available_keys = CredentialStore::getKeys('CUSTOM');
if (check_acl($config['id_user'], 0, 'PM')) {
$link_to_cs = '';
$link_to_cs .= __('No credentials available').', ';
$link_to_cs .= strtolower(__('Manage credentials')).'';
diff --git a/pandora_console/include/class/CredentialStore.class.php b/pandora_console/include/class/CredentialStore.class.php
index d14314a6b4..51471f6029 100644
--- a/pandora_console/include/class/CredentialStore.class.php
+++ b/pandora_console/include/class/CredentialStore.class.php
@@ -451,6 +451,18 @@ class CredentialStore extends Wizard
$start = get_parameter('start', 0);
$length = get_parameter('length', $config['block_size']);
$order = get_datatable_order(true);
+ if ((bool) users_is_admin() === false) {
+ $all = users_can_manage_group_all('UM');
+
+ $filter['group_list'] = array_keys(
+ users_get_groups(
+ $config['id_user'],
+ 'UM',
+ (bool) $all
+ )
+ );
+ }
+
try {
ob_start();
diff --git a/pandora_console/include/functions_menu.php b/pandora_console/include/functions_menu.php
index 118ef6641c..fa9f7fae4d 100644
--- a/pandora_console/include/functions_menu.php
+++ b/pandora_console/include/functions_menu.php
@@ -55,6 +55,11 @@ function menu_print_menu(&$menu)
} else if ($sec2 == 'godmode/servers/discovery') {
$wiz = (string) get_parameter('wiz');
$sec2 = 'godmode/servers/discovery&wiz='.$wiz;
+ } else if ($sec2 == 'godmode/groups/group_list') {
+ $tab = (string) get_parameter('tab');
+ if ($tab === 'credbox') {
+ $sec2 = 'godmode/groups/group_list&tab='.$tab;
+ }
} else {
$sec2 = (string) get_parameter('sec2');
}
@@ -147,6 +152,7 @@ function menu_print_menu(&$menu)
$first_sub_sec2 = '';
foreach ($main['sub'] as $subsec2 => $sub) {
+ // hd($sub, true);
$count_sub++;
// Init some variables.