#!/bin/bash

echo "Исправление прав доступа для ClickHouse..."

# Останавливаем сервис
sudo systemctl stop clickhouse-server 2>/dev/null

# Создаем пользователя если нет
if ! id -u clickhouse > /dev/null 2>&1; then
    sudo useradd -r --shell /bin/false -U clickhouse
fi

# Исправляем права на все директории
for dir in /etc/clickhouse-server /var/lib/clickhouse /var/log/clickhouse-server /var/run/clickhouse-server; do
    sudo mkdir -p $dir
    sudo chown -R clickhouse:clickhouse $dir
    sudo chmod 755 $dir
done

# Создаем файлы логов с правильными правами
sudo touch /var/log/clickhouse-server/clickhouse-server.log
sudo touch /var/log/clickhouse-server/clickhouse-server.err.log
sudo chown clickhouse:clickhouse /var/log/clickhouse-server/clickhouse-server.log
sudo chown clickhouse:clickhouse /var/log/clickhouse-server/clickhouse-server.err.log
sudo chmod 644 /var/log/clickhouse-server/clickhouse-server.log
sudo chmod 644 /var/log/clickhouse-server/clickhouse-server.err.log

# Проверяем конфиги
sudo chown clickhouse:clickhouse /etc/clickhouse-server/*.xml
sudo chmod 644 /etc/clickhouse-server/*.xml

# Запускаем сервер
sudo systemctl start clickhouse-server
sleep 3

# Проверяем статус
sudo systemctl status clickhouse-server

echo "Готово!"