J'ai une configuration de serveur minecraft sur mon serveur domestique et je veux permettre à n'importe lequel de mes amis de pouvoir entrer en ssh et de démarrer le serveur eux-mêmes. Cependant, je ne veux pas nécessairement leur donner accès à Sudo.
Est-il possible de marquer un service particulier comme pouvant être démarré ou arrêté par n'importe qui ou par des membres d'un groupe particulier?
Absolument. Alors que Sudo
est associé à l’exécution d’une commande sous le nom root
name__, il s’agit d’un système très flexible qui permet de contrôler avec précision qui a accès à l’exécution de commandes spécifiques.
Par exemple, vous pouvez créer un groupe appelé minecraftstarters
et y ajouter tous vos amis. Ensuite, vous pouvez définir une règle Sudo
qui permet à tous les utilisateurs du groupe minecraftstarters
de démarrer ou de redémarrer Minecraft, sans pouvoir utiliser Sudo
name__.
Ensuite, dans /etc/sudoers.d/minecraft
, vous ajouteriez la syntaxe suivante:
Cmnd_Alias MINECRAFT_CMDS = /bin/systemctl start minecraft, /bin/systemctl restart minecraft
%minecraftstarters ALL=(ALL) NOPASSWD: MINECRAFT_CMDS
Vous avez maintenant défini certaines commandes que le groupe minecraftstarters
peut exécuter avec Sudo
(sans nécessiter d'invite de mot de passe supplémentaire).
Conseil: Utilisez visudo -f /etc/sudoers.d/minecraft
pour éditer le fichier. Il vérifiera la syntaxe avant de l'enregistrer, en évitant l'état déplorable dans lequel vous cassez votre configuration Sudo
name__, de sorte que Sudo
ne fonctionne pas du tout.