Suppression de l’utilisateur default
Dans ce guide, nous allons voir comment supprimer l’utilisateur default de ClickHouse Server.
Pour ce faire, créez un fichier YAML (par exemple remove_default_user.yaml) contenant le contenu suivant
users:
default:
"@remove": removeL'emplacement de ce fichier dépend de la façon dont ClickHouse a été installé.
Exécution directe de l’exécutable
Si nous lançons ClickHouse directement (clickhouse server), nous devons placer le fichier dans le répertoire config.d.
Lorsque nous exécutons le serveur ClickHouse :
clickhouse serverVous verrez la ligne suivante dans les logs :
{} <Debug> ConfigProcessor: Merging configuration file 'config.d/remove_default_user.yaml'.Et il nous sera impossible de nous connecter avec clickhouse client :
ClickHouse client version 24.11.1.2557 (official build).
Connecting to localhost:9000 as user default.
Password for user (default):
Connecting to localhost:9000 as user default.
Code: 516. DB::Exception: Received from localhost:9000. DB::Exception: default: Authentication failed: password is incorrect, or there is no user with such name.Docker ou installation locale
Si nous utilisons ClickHouse via Docker ou s’il est installé sur notre machine, nous devons plutôt placer le fichier dans le répertoire /etc/clickhouse-server/users.d.
Ainsi, si nous l’utilisons avec Docker, nous pouvons monter le répertoire config.d que nous avons créé précédemment sur /etc/clickhouse-server/users.d :
docker run \
-v ./config.d:/etc/clickhouse-server/users.d \
-p 8123:8123 -p9000:9000 \
clickhouse/clickhouse-server:24.12Merging configuration file '/etc/clickhouse-server/config.d/docker_related_config.xml'.
Logging trace to /var/log/clickhouse-server/clickhouse-server.log
Logging errors to /var/log/clickhouse-server/clickhouse-server.err.logNous pouvons ensuite consulter les logs du serveur pour vérifier qu’il a bien été détecté :
docker ps --format "table {{.ID}}\t{{.Image}}\t{{.Names}}\t{{.Command}}"CONTAINER ID IMAGE NAMES COMMAND
383e8ed89431 clickhouse/clickhouse-server:24.12 trusting_rosalind "/entrypoint.sh"docker exec -it trusting_rosalind grep "users\.d" /var/log/clickhouse-server/clickhouse-server.logLa ligne suivante devrait s’afficher :
{} <Debug> ConfigProcessor: Merging configuration file '/etc/clickhouse-server/users.d/remove_default_user.yaml'.