Graylog2 / Graylog2/graylog-docker

Docker entrypoint checks ownership on the wrong path

Open
#261 1 comment 0 reactions 0 assignees View on GitHub
triaged
Dominant language
Shell
Stars
435
Forks
130
PR merge metrics
No merged PRs in 30d

Description

https://github.com/Graylog2/graylog-docker/blob/5da05dfaae6f98929297acf1c19209a447d73ecf/docker-entrypoint.sh#L76C1-L87C2

this function checks paths exist, and chowns them to `graylog:graylog` if they aren't already owned by `graylog:graylog`

```bash
setup() {
# Create data directories
for d in journal log plugin config contentpacks
do
dir=${GRAYLOG_HOME}/data/${d}
[[ -d "${dir}" ]] || mkdir -p "${dir}"

if [[ "$(stat --format='%U:%G' $dir)" != 'graylog:graylog' ]] && [[ -w "$dir" ]]; then
chown -R graylog:graylog "$dir" || echo "Warning can not change owner to graylog:graylog"
fi
done
}
```

earlier in the script, you set a plugin directory with `export GRAYLOG_PLUGIN_DIR=${GRAYLOG_HOME}/plugins-merged`

should not
`for d in journal log plugin config contentpacks`
be changed to
`for d in journal log ${GRAYLOG_PLUGIN_DIR} config contentpacks`

It appears you are performing functions on a directory you don't use or care about. I wouldn't mind kicking in a PR, but before doing so I was curious if that was a conscious choice for backwards compatibility.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.