J'installe mon application personnalisée sur la machine Ubuntu. Maintenant, je veux démarrer/arrêter mon application en tant que service avec un utilisateur normal sans autorisation Sudo.
Mon chemin d'installation de l'application: -
/usr/local/myapp
Remarque: Mon application créera un dossier et des fichiers sous/tmp à traiter lors de l'exécution de l'application.
Après avoir ouvert une session sur la machine Ubuntu, je souhaite commencer comme ci-dessous sans utiliser Sudo.
service myapp start
Comment puis-je y arriver?
Editez le fichier sudoers avec Sudo visudo
et ajoutez une ligne
USER ALL = NOPASSWD: /usr/sbin/service /usr/local/myapp *
Ensuite, vous n'avez pas besoin d'entrer votre mot de passe pour cette commande spécifique.
Autre possibilité: créez un script incluant le démarrage du service, définissez le bit suid
pour le script et faites en sorte qu'il soit la propriété de root (Sudo chown root /usr/local/bin/startMyappService
).
Attention aux pièges de sécurité! Un tel fichier ne doit avoir aucune permission d'écriture sur quiconque! Utilisez des chemins absolus. Pensez toujours à deux fois ce que vous faites!