29 lines
818 B
Bash
Executable File
29 lines
818 B
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
# Мы вынуждены использовать user/group 33 (www-data)
|
|
# Поэтому мы устанавливаем владельца каталогов данных на 33:33.
|
|
APP_DATA_DIR="$(readlink -f $(dirname "${BASH_SOURCE[0]}")/..)/data"
|
|
|
|
DESIRED_OWNER="33:33"
|
|
|
|
CONFIG_DATA_DIR="${APP_DATA_DIR}/config"
|
|
UPLOADS_DATA_DIR="${APP_DATA_DIR}/uploads"
|
|
USERDATA_DATA_DIR="${APP_DATA_DIR}/userdata"
|
|
|
|
wavelog_correct_permission() {
|
|
local -r path="${1}"
|
|
|
|
if [[ -d "${path}" ]]; then
|
|
owner=$(stat -c "%u:%g" "${path}")
|
|
|
|
if [[ "${owner}" != "${DESIRED_OWNER}" ]]; then
|
|
chown "${DESIRED_OWNER}" "${path}"
|
|
fi
|
|
fi
|
|
}
|
|
|
|
wavelog_correct_permission "${CONFIG_DATA_DIR}"
|
|
wavelog_correct_permission "${UPLOADS_DATA_DIR}"
|
|
wavelog_correct_permission "${USERDATA_DATA_DIR}"
|