Installer votre serveur FiveM ou Minecraft directement sous le compte root est la configuration la plus risquée qui soit. Si une faille dans votre serveur de jeu est exploitée, l'attaquant obtient les droits root sur l'ensemble du VPS Linux. La solution est simple : créer un utilisateur Linux dédié, sans privilèges root, qui n'a accès qu'au répertoire du serveur de jeu.
Ce tutoriel vous montre comment créer un utilisateur non-root dédié, configurer ses permissions, et lancer votre serveur de jeu sous ce compte sur un serveur VPS Linux. Cette pratique de sécurité est recommandée par tous les hébergeurs sérieux et s'applique à FiveM, Minecraft, Rust et n'importe quel autre serveur de jeu hébergé sur VPS.
Pourquoi ne pas lancer son serveur de jeu en root
L'utilisateur root a tous les droits sur le système d'exploitation Linux : modifier les fichiers systèmes, lire les données des autres utilisateurs, installer des logiciels, configurer le réseau, redémarrer les services, administrer les sauvegardes. Si votre serveur de jeu tourne en root et qu'une vulnérabilité est exploitée (injection de commandes dans un plugin, faille dans le moteur de jeu, mod malveillant), l'attaquant hérite de ces droits complets sur votre VPS.
Avec un utilisateur dédié non-root, la sécurité de votre hébergement dédié s'améliore considérablement :
- Une compromission du serveur de jeu est isolée au répertoire de l'utilisateur dédié : les autres services (firewall, SSH, Nginx, monitoring) ne sont pas affectés
- Les fichiers systèmes, les clés SSH root et les données des autres services sont hors de portée
- Vous pouvez limiter la consommation CPU, RAM, fichiers ouverts et espace disque par utilisateur avec systemd
- L'audit des accès est plus simple : les scripts et actions du serveur de jeu sont tracés sous un compte distinct
- Le backup des données de jeu est plus propre : un seul répertoire appartient à l'utilisateur dédié, facilitant la haute disponibilité
Ce guide est complémentaire de notre guide pour sécuriser un serveur dédié Linux dès les premiers réglages.
Créer un utilisateur Linux dédié
Connectez-vous à votre VPS Linux en root ou avec sudo via SSH, puis créez un utilisateur dédié. Vous pouvez vous connecter depuis n'importe quelle adresse IP publique avec votre client SSH. La commande varie légèrement selon la distribution.
Ubuntu / Debian (avec création du répertoire home) :
sudo adduser gameserver
La commande adduser sur Debian/Ubuntu est interactive : elle demande un mot de passe et des informations facultatives. Appuyez sur Entrée pour passer les champs optionnels. Le répertoire home /home/gameserver est créé automatiquement sur le SSD du serveur VPS.
Rocky Linux / AlmaLinux / CentOS / Fedora :
sudo useradd -m -s /bin/bash gameserver
sudo passwd gameserver
L'option -m crée le répertoire home sur le SSD, -s /bin/bash définit bash comme shell de connexion.
Vérifiez que l'utilisateur a bien été créé :
id gameserver
Vous devriez voir quelque chose comme : uid=1001(gameserver) gid=1001(gameserver) groups=1001(gameserver)
Ne pas ajouter le compte au groupe sudo
L'objectif est l'isolation. N'ajoutez pas l'utilisateur gameserver au groupe sudo ou wheel. Si votre serveur de jeu n'a besoin d'aucun privilège root pour fonctionner (ce qui est le cas pour FiveM, Minecraft, Pterodactyl), l'utilisateur dédié ne doit jamais pouvoir redémarrer le système d'exploitation ni élever ses privilèges.
Pour vérifier qu'il n'est pas sudoer :
sudo -l -U gameserver
La réponse attendue : User gameserver is not allowed to run sudo on ...
Créer le répertoire du serveur de jeu
Créez le répertoire d'installation du serveur de jeu sous le home de l'utilisateur dédié ou dans /opt. Cela définit l'espace disque accessible à cet utilisateur sur le VPS Linux.
# Option 1 : dans le home de l'utilisateur
mkdir -p /home/gameserver/fivem
# Option 2 : dans /opt (recommandé pour les services hébergés sur VPS)
sudo mkdir -p /opt/fivem
sudo chown gameserver:gameserver /opt/fivem
La commande chown transfère la propriété du répertoire à l'utilisateur dédié. Il sera le seul à pouvoir y écrire, ce qui facilite les sauvegardes (backup) ciblées et le monitoring de la consommation disque.
Pour un serveur Minecraft, adaptez le nom :
sudo mkdir -p /opt/minecraft
sudo chown gameserver:gameserver /opt/minecraft
Lancer le serveur de jeu sous l'utilisateur dédié
Pour exécuter des commandes sous le compte gameserver depuis votre session administrateur :
sudo -u gameserver bash
Vous obtenez un shell sous l'identité de gameserver, depuis lequel vous pouvez lancer votre serveur de jeu.
Pour lancer le serveur directement via un script en une ligne :
sudo -u gameserver /opt/fivem/run.sh
Pour surveiller les logs du serveur de jeu, consultez notre guide sur l'analyse des logs système Linux avec journalctl.
Configurer le service systemd avec l'utilisateur dédié
La méthode la plus robuste pour héberger un serveur de jeu en production sur un serveur VPS est d'utiliser systemd avec l'option User=. systemd garantit que le serveur ne tournera jamais en root, gère le redémarrage automatique et permet de limiter les ressources CPU consommées par instance.
Créez le fichier /etc/systemd/system/fivem.service :
[Unit]
Description=Serveur FiveM
After=network.target
[Service]
Type=simple
User=gameserver
Group=gameserver
WorkingDirectory=/opt/fivem
ExecStart=/opt/fivem/run.sh
Restart=on-failure
RestartSec=5
# Limiter le CPU, les fichiers ouverts et les processus
LimitNOFILE=65536
LimitNPROC=4096
[Install]
WantedBy=multi-user.target
La directive User=gameserver garantit que le serveur de jeu ne s'exécutera jamais en root, même après un redémarrage du serveur VPS.
Activez et démarrez le service :
sudo systemctl daemon-reload
sudo systemctl enable fivem
sudo systemctl start fivem
sudo systemctl status fivem
Gérer les permissions et l'espace disque
Vérifiez régulièrement que les fichiers du serveur appartiennent bien à l'utilisateur dédié et surveillez l'espace disque consommé. Une bonne gestion des permissions réduit les risques d'accès non autorisés entre les différents hébergements sur le même VPS :
# Lister les fichiers et leurs propriétaires
ls -la /opt/fivem/
# Corriger les permissions si nécessaire
sudo chown -R gameserver:gameserver /opt/fivem/
sudo chmod -R 750 /opt/fivem/
# Contrôler l'espace disque occupé par les données de jeu
du -sh /opt/fivem/
Le mode 750 signifie : lecture/écriture/exécution pour le propriétaire (gameserver), lecture/exécution pour le groupe, aucun accès pour les autres utilisateurs du VPS.
Pour les fichiers de configuration sensibles (clés d'API, tokens de connexion) :
chmod 600 /opt/fivem/config.cfg
Consultez notre guide pour surveiller l'espace disque sur un VPS Linux afin d'anticiper les saturations.
Accès SSH pour l'utilisateur dédié (optionnel)
Si vous souhaitez vous connecter directement en SSH sous le compte gameserver depuis votre adresse IP locale ou un serveur de déploiement, ajoutez une clé SSH autorisée. Consultez notre guide pour configurer une clé SSH sur un VPS Linux sans perdre l'accès.
sudo mkdir -p /home/gameserver/.ssh
sudo chmod 700 /home/gameserver/.ssh
sudo nano /home/gameserver/.ssh/authorized_keys
# Collez votre clé publique SSH, sauvegardez
sudo chmod 600 /home/gameserver/.ssh/authorized_keys
sudo chown -R gameserver:gameserver /home/gameserver/.ssh
Vérifier l'isolation et le monitoring de l'utilisateur
Pour confirmer que le serveur de jeu tourne bien sous l'utilisateur dédié et non sous root, utilisez les commandes de monitoring suivantes :
# Lister les processus et leur consommation CPU par utilisateur
ps aux | grep fivem
# Vérifier l'utilisateur d'un processus par son PID
cat /proc/$(pgrep -f fivem | head -1)/status | grep "^Uid"
La sortie de la dernière commande doit afficher l'UID de gameserver (typiquement 1001), jamais 0 (root).
Pour renforcer davantage la sécurité de votre serveur VPS Linux, consultez notre guide Fail2ban pour bloquer les attaques SSH et notre guide pour limiter les tentatives de connexion SSH.
Pour les serveurs utilisant Pterodactyl Panel, l'isolation par utilisateur est gérée automatiquement par le panel via Docker et les utilisateurs systèmes dédiés par instance.
Hébergez vos serveurs FiveM et Minecraft sur des VPS Linux sécurisés, configurés par des experts. ElypseCloud vous propose une infrastructure optimisée pour les serveurs de jeu avec support technique dédié.
Découvrir nos VPS Linux