Ensure access to the su command is restricted
Scanned 5/30/2026
Install via CLI
openskills install CyberStrikeus/CyberStrike---
name: cis-ubuntu2004-v300-5-2-7
description: "Ensure access to the su command is restricted"
category: cis-iam
version: "3.0.0"
author: cyberstrike-official
tags: [cis, ubuntu, linux, ubuntu-20.04, sudo]
cis_id: "5.2.7"
cis_benchmark: "CIS Ubuntu Linux 20.04 LTS Benchmark v3.0.0"
tech_stack: [ubuntu, linux]
cwe_ids: []
chains_with: []
prerequisites: []
severity_boost: {}
---
# Ensure access to the su command is restricted (Automated)
## Profile Applicability
- Level 1 - Server
- Level 1 - Workstation
## Description
The `su` command allows a user to run a command or shell as another user. The program has been superseded by `sudo`, which allows for more granular control over privileged access. Normally, the `su` command can be executed by any user. By uncommenting the `pam_wheel.so` statement in `/etc/pam.d/su`, the `su` command will only allow users in a specific groups to execute `su`. This group should be empty to reinforce the use of `sudo` for privileged access.
## Rationale
Restricting the use of `su`, and using `sudo` in its place, provides system administrators better control of the escalation of user privileges to execute privileged commands. The sudo utility also provides a better logging and audit mechanism, as it can log each command executed via `sudo`, whereas `su` can only record that a user executed the `su` program.
## Audit Procedure
### Command Line
Run the following command:
```bash
# grep -Pi '^\h*auth\h+(?:required|requisite)\h+pam_wheel\.so\h+(?:[^#\n\r]+\h+)?(?:(?!\2)(use_uid\b|group=\H+\b))\h+(?:[^#\n\r]+\h+)?(?:(?!\1)(use_uid\b|group=\H+\b))(\h+.*)?$' /etc/pam.d/su
```
Verify the output matches:
```
auth required pam_wheel.so use_uid group=<group_name>
```
Run the following command and verify that the group specified in `<group_name>` contains no users:
```bash
# grep <group_name> /etc/group
```
Verify the output does not contain any users in the relevant group:
```
<group_name>:x:<GID>:
```
## Expected Result
The `pam_wheel.so` line should be configured with `use_uid` and a `group=` parameter, and the specified group should contain no users.
## Remediation
### Command Line
Create an empty group that will be specified for use of the `su` command. The group should be named according to site policy.
Example:
```bash
# groupadd sugroup
```
Add the following line to the `/etc/pam.d/su` file, specifying the empty group:
```
auth required pam_wheel.so use_uid group=sugroup
```
## References
1. NIST SP 800-53 Rev. 5: AC-3, MP-2
## CIS Controls
v8 - 3.3 Configure Data Access Control Lists
Configure data access control lists based on a user's need to know. Apply data access control lists, also known as access permissions, to local and remote file systems, databases, and applications.
v7 - 4.3 Ensure the Use of Dedicated Administrative Accounts
Ensure that all users with administrative account access use a dedicated or secondary account for elevated activities. This account should only be used for administrative activities and not internet browsing, email, or similar activities.
MITRE ATT&CK Mappings: T1548 | TA0004 | M1026
No comments yet. Be the first to comment!