Installs 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 with every re-scan.
[](https://www.skillsdirectory.com/skills/cyberstrikeus-cis-ubuntu1604-v200-5-1-8)
---
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