Le serveur d'applications Glassfish fournit des scripts pour administrer le serveur d'applications et également les démarrer et les arrêter et je voudrais empêcher l'utilisateur root d'exécuter ce script. La raison en est que certains développeurs clés oublient d'administrer le serveur en tant qu'utilisateur non privilégié et s'ils redémarrent le serveur d'applications en tant qu'utilisateur root, le serveur d'applications doit être exécuté par l'utilisateur root [*].
Ce n'est pas une option pour éviter de donner un accès root et les développeurs oublient parce qu'ils sont tellement habitués à le faire sur leur machine locale. Je voudrais que le asadmin
script soit modifié pour s'exécuter en tant qu'utilisateur non privilégié ou éventuellement afficher un message d'erreur chaque fois que le script est exécuté par root.
Bash shell est utilisé.
[*]: J'ai essayé de fixer les droits sur les fichiers, mais même si j'ai retrouvé de nombreux fichiers que root possède et chmod, l'application rencontre des erreurs étranges et je dois à nouveau exécuter en tant que root.
la source
sudo
bit. Maintenant, il devrait faire l'affaire.$@
est vide, et je l'ai changé pour utiliser un modèle trouvé ailleurs.sudo
(il n'utilise pasexec
) et le parent l'attendrait, donc vous finiriez par vous retrouver avec une table de processus complète. Cela vaut toujours la peine d'y être ajoutéexec
(si vous ne souhaitez pas que le codefi
s'exécute en tant qu'utilisateur incorrect).