Les langages Fichiers cfg Permissions et secrets
Les permissions (ACE)
FXServer gère les droits avec deux commandes et trois notions.
Les notions
- Un principal est « quelqu'un » : un joueur, désigné par un identifiant
(
identifier.license:...,identifier.fivem:...,identifier.discord:...), ou un groupe (group.admin,group.moderateur...). - Un objet est ce qu'on protège :
commanddésigne toutes les commandes,command.quitune commande précise. - Une règle dit si un principal a droit (
allow) ou non (deny) à un objet.
Les deux commandes
# Le groupe admin a le droit d'utiliser toutes les commandes...
add_ace group.admin command allow
# ... sauf celle qui éteint le serveur
add_ace group.admin command.quit deny
# Ce joueur fait partie du groupe admin
add_principal identifier.license:4f8a2b9c1d7e group.admin
add_ace <qui> <quoi> allow|denypose une règle.add_principal <membre> <groupe>range un principal dans un groupe, dont il hérite des droits. L'ordre des deux arguments compte : le membre d'abord, le groupe ensuite.
Une règle plus précise l'emporte sur une règle plus générale : c'est ce qui
permet « toutes les commandes sauf quit ».
Donner des droits à des groupes, jamais à des joueurs
On pose les add_ace sur des groupes, puis on range les joueurs dans ces
groupes. Retirer un administrateur revient alors à effacer une seule ligne.
Les deux erreurs qui coûtent un serveur
add_ace builtin.everyone command allow # NE JAMAIS FAIRE
builtin.everyone désigne tous les joueurs. Cette ligne, parfois copiée
d'un tutoriel pour « régler un problème de permission », donne toutes les
commandes à n'importe qui.
L'autre erreur : ajouter à group.admin un identifiant copié d'un tutoriel ou
d'un message sans savoir à qui il appartient. Vérifie toujours qu'un identifiant
est bien le tien.
2 exercices pour cette lecon
Les exercices demandent un compte : il faut bien enregistrer votre progression quelque part. La lecture, elle, reste libre. Creer un compte
-
Nommer un administrateur moyen lecon a valider
-
Tout, sauf éteindre moyen lecon a valider