Ensure cron is restricted to authorized users
Scanned 9/3/2026
Install to Claude Code
npx -y skills add CyberStrikeus/CyberStrike --skill cis-ubuntu1604-v200-5-1-8 --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Cis Ubuntu1604 V200 5 1 8?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/cyberstrikeus-cis-ubuntu1604-v200-5-1-8)More formats (shields.io, HTML) on the badges page.
---
name: cis-ubuntu1604-v200-5-1-8
description: "Ensure cron is restricted to authorized users"
category: cis-iam
version: "2.0.0"
author: cyberstrike-official
tags: [cis, ubuntu, linux, ubuntu-16.04, access-control]
cis_id: "5.1.8"
cis_benchmark: "CIS Ubuntu Linux 16.04 LTS Benchmark v2.0.0"
tech_stack: [ubuntu, linux]
cwe_ids: []
chains_with: []
prerequisites: []
severity_boost: {}
---
# CIS Ubuntu Linux 16.04 LTS Benchmark v2.0.0 - 5.1.8
## Profile Applicability
- Level 1 - Server
- Level 1 - Workstation
## Description
Configure `/etc/cron.allow` to allow specific users to use this service. If `/etc/cron.allow` does not exist, then `/etc/cron.deny` is checked. Any user not specifically defined in this file is allowed to use cron. By removing the file, only users in `/etc/cron.allow` are allowed to use cron.
Notes:
- Other methods, such as `systemd timers`, exist for scheduling jobs. If another method is used, `cron` should be removed, and the alternate method should be secured in accordance with local site policy
- Even though a given user is not listed in `cron.allow`, cron jobs can still be run as that user
- The `cron.allow` file only controls administrative access to the crontab command for scheduling and modifying cron jobs
## Rationale
On many systems, only the system administrator is authorized to schedule `cron` jobs. Using the `cron.allow` file to control who can run `cron` jobs enforces this policy. It is easier to manage an allow list than a deny list. In a deny list, you could potentially add a user ID to the system and forget to add it to the deny files.
## Impact
None.
## Audit Procedure
### Command Line
Run the following command and verify that `/etc/cron.deny` does not exist:
```bash
stat /etc/cron.deny
```
Run the following command and verify `Uid` and `Gid` are both `0/root` and `Access`, does not grant write or execute to group, and does not grant permissions to `other` for `/etc/cron.allow`:
```bash
stat /etc/cron.allow
```
## Expected Result
The first command should return:
```
stat: cannot stat '/etc/cron.deny': No such file or directory
```
The second command should return:
```
Access: (0640/-rw-r-----) Uid: ( 0/ root) Gid: ( 0/ root)
```
## Remediation
### Command Line
Run the following commands to remove `/etc/cron.deny`:
```bash
rm /etc/cron.deny
```
Run the following command to create `/etc/cron.allow`:
```bash
touch /etc/cron.allow
```
Run the following commands to set permissions and ownership for `/etc/cron.allow`:
```bash
chmod g-wx,o-rwx /etc/cron.allow
chown root:root /etc/cron.allow
```
## Default Value
By default, `/etc/cron.deny` exists and `/etc/cron.allow` does not exist.
## References
None.
## CIS Controls
| Controls Version | Control |
| ---------------- | ----------------------------------------------------- |
| v7 | 14.6 Protect Information through Access Control Lists |
## Assessment Status
Automated
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!