Control panels

Use WHM Feature Manager to control cPanel features

Use WHM Feature Manager to build feature lists, hide tools such as Terminal or SSH Access from cPanel users, attach lists to packages and disable features for every account.

IntermediateLinux server4 min read

Feature Manager decides which tools appear in each user's cPanel. You can hide risky tools like Terminal from ordinary customers, give developers more, and switch off features nobody on the server should use. This guide shows how feature lists work, how to build one and how to attach it to accounts.

Before you start

  • Root access to WHM on a cPanel server running on a Linux VPS. Resellers can use Feature Manager too, within the features root allows them.
  • At least one hosting package. See create hosting packages in WHM.

How feature lists work

  • A feature list is a set of ticked or unticked cPanel features.
  • Each package points to one feature list.
  • Each account uses its package's feature list.
  • Two special lists apply to everyone:
  • default, used by packages that do not name another list;
  • disabled, which switches features off for every account, whatever its own list says.

A feature appears in cPanel only if it is ticked in the account's list and not ticked in the disabled list.

Note: Hiding a feature hides its cPanel interface. It is not a full security boundary. For example, hiding Terminal does not remove SSH access if the account has a shell. Control shell access separately.

Open Feature Manager

In WHM, go to Home » Packages » Feature Manager. You will see:

  • Add a new feature list at the top;
  • Manage feature list with a drop-down of existing lists and an Edit button.

Create a feature list

  1. Under Add a new feature list, type a name such as standard-customer and click Add Feature List.
  2. WHM opens the list with every feature shown. Use the search box to find features quickly.
  3. Untick the tools you do not want for this group. Common choices for ordinary customers:
  • Terminal (shell in the browser)
  • SSH Access (key management for SSH)
  • Cron Jobs, if you do not support scheduled tasks
  • Remote MySQL
  • Apache Handlers and MIME Types
  1. Click Save.

Build a second list, for example developer, that keeps Terminal, SSH Access, Git Version Control and Cron Jobs for trusted users.

Attach a list to a package

  1. Go to Home » Packages » Edit a Package.
  2. Select the package and click Edit.
  3. In Settings, choose the new list in Feature List.
  4. Click Save Changes.

Every account on that package now uses the list. To change one account only, move it to a different package with Home » Account Functions » Modify an Account or Upgrade/Downgrade an Account.

Disable a feature for everyone

To remove a feature server-wide:

  1. In Manage feature list, pick disabled and click Edit.
  2. Tick the features you want switched off for all accounts. In this list a tick means "disable".
  3. Click Save.

Use this for features you never support, such as a tool you have replaced with something else.

Warning: The disabled list overrides every other list, including your own developer accounts. Double-check before saving.

Check it works

  1. In Home » Account Information » List Accounts, click the cPanel icon next to a test account on the package. This opens cPanel as that user.
  2. Confirm the hidden tools no longer appear, for example search for "Terminal" in cPanel.
  3. Check an account on a different package still has its tools.

From SSH, feature lists are stored as plain files:

Bash
ls /var/cpanel/features/
grep -i terminal /var/cpanel/features/standard-customer

Troubleshooting

  • Feature still visible after unticking: the account uses a different package or list. Check the account's package in List Accounts.
  • Feature missing for everyone: it is ticked in the disabled list. Untick it there.
  • Reseller cannot see a feature: root has not allowed it for the reseller, or it is disabled server-wide.
  • User still has SSH after Terminal was hidden: shell access is a separate setting. See control SSH and shell access for cPanel users.

Next steps

Was this guide helpful?

Still stuck?

Ask MdmHost AI for a quick answer, or open a ticket and our team will take a look. We are here 24/7.