2009-05-20 10 views
4

J'ai écrit un script Perl très simple, et maintenant je veux le rendre exécutable de partout.Comment puis-je rendre un script Perl exécutable de partout par tout le monde?

Je sais que je pourrais simplement le déposer dans/bin /, le renommer de 'mytest.pl' -> 'mytest', et chmod + x, mais est-ce une pratique standard? Je n'ai rien remarqué dans/bin/est un script Perl.

Aussi, je veux que ce soit en mesure de se connecter à/var/logs/mytest/*

Y at-il des problèmes de sécurité que je devrais être au courant?

+0

Pourquoi renommer le script? – innaM

+0

pour le rendre plus professionnel! J'aime/usr/bin/cpan – aidan

Répondre

6

Il est préférable de placer des scripts créés par l'utilisateur dans/usr/local/bin, mais c'est votre appel si cela en vaut la peine. En ce qui concerne la connexion à/var/logs/mytest/*, vous pouvez essayer de créer le script suid (ce n'est parfois pas autorisé pour la sécurité) avec un utilisateur qui peut écrire dans le répertoire, ou simplement créer/var/logs/mytest monde-inscriptible.

+1

Merci Matt, j'ai trouvé plein de scripts perl et je suis maintenant en train de suivre leur exemple. – aidan

+2

Certains systèmes peuvent avoir besoin de l'exécutable 'perlsuid' pour exécuter un script Perl avec des privilèges setuid. 'perlsuid' n'est peut-être pas installé par défaut (Debian le partage dans son propre paquet supplémentaire (http://packages.debian.org/perl-suid) dont il ne dépend pas) et a été déprécié en faveur de l'utilisation d'autres des mécanismes comme 'sudo'. – ephemient

3

Au lieu de vous soucier des problèmes d'autorisations de fichiers journaux, pourquoi ne pas vous connecter à l'enregistreur système? C'est ce qu'il y a là-bas. Voir Sys::Syslog

Questions connexes