MariaDB
TMA-MARIADB-3.1
Ensure 'datadir' Has Appropriate Permissions
HighLevel 1Automatedmariadb
Description
The data directory is the location of the MariaDB databases. Expects drwxr-x--- mysql:mysql (0700 also accepted); run as root on the database host. Runs mariadb -NBe with the client defaults: as root on the server the unix_socket plugin usually authenticates; otherwise put an administrative account in ~/.my.cnf (mode 0600), not MYSQL_PWD (see 1.4/1.6).
How it is checked
Audit method: Shell command
shell
[ "$(id -u)" -eq 0 ] || exit 1; d=$(mariadb -NBe "SELECT @@global.datadir" 2>/dev/null) || exit 1; s=$(stat -c '%a %U %G' "$d" 2>/dev/null) || exit 1; case "$s" in "750 mysql mysql"|"700 mysql mysql") echo compliant ;; *) echo "$s" ;; esac- Expected output
compliant
How it is fixed
Fix method: Guidance or infrastructure patch
chmod 750 <datadir> && chown mysql:mysql <datadir> (datadir from SELECT @@datadir).
Properties
- Operating systems
- Any
- Tags
- mariadbdatabasefilesystempermissions
- Reference
- CIS MariaDB 10.11 Benchmark v1.0.0 - 3.1 Ensure 'datadir' Has Appropriate Permissions
Check this host
Run this on a machine you are allowed to audit. The scan is read-only.
shell
tmaegis scan --target mariadb