1 votes

Utiliser script sans racine

J'écris un script de maintenance avec différentes commandes. le script contient des commandes sudo.

Maintenant, je veux utiliser crontab, mais mon premier problème est : Comment puis-je utiliser le script au niveau utilisateur sans privilèges Root ? Est-ce possible ?

Après cela, je veux copier le script sur /usr/local/maintenance et je veux utiliser crontab pour exécuter le script tous les premiers jeudis par exemple.

EDIT : ok, je le décide maintenant pour launchD. Maintenant j'ai un plist dans Global Agents, il fonctionne bien. Mais seulement les fichiers utilisateurs. Comment puis-je utiliser launchD pour les commandes sudo ?

0 votes

Cela devrait être deux questions aussi pourquoi voulez-vous copier le script et pas simplement l'exécuter à partir de ce serment ? Si le script a sudo, il nécessite des privilèges élevés et doit donc être exécuté en tant que Root ou un autre utilisateur.

0 votes

Le script devrait également s'exécuter, lorsque l'utilisateur n'est pas dans mon réseau. Ou ce que tu veux dire par "pourquoi veux-tu copier le script et pas simplement l'exécuter à partir de ce serment ?". Je ne comprends pas l'autre senteance : ok, oublie Root. Je veux l'exécuter avec sudo mais avec utilisateur logué (c'est à dire que le script supprime le cache utilisateur mais aussi le cache système).

0 votes

Crontab ne peut pas exécuter sudo étant donné qu'ils effacent les caches j'écrirais comme deux scripts séparés un pour le local et un pour le système.

1voto

Tony Williams Points 11219

Premièrement, la meilleure façon d'exécuter un cron script en tant que Root est de l'ajouter à la crontab de l'utilisateur Root. EDITOR="vi" ; sudo crontab -u root -e vous permettra de modifier la crontab racine. Une fois que vous faites cela, vous n'avez pas besoin d'utiliser `sudo ; à l'intérieur de votre script.

Pour ce qui est de l'exécuter tous les jeudis, consultez la page de manuel de la table crontab. man crontab -s 5 et il vous expliquera tout ce que vous devez savoir.

0 votes

Sudo crontab -u Root ne fonctionne pas. quand j'essaie crontab -e -u Root je prends un éditeur, mais il ne le sauvegarde pas. J'essaie * 13 * * 5 script.sh

0 votes

OK, j'ai modifié la commande pour corriger le problème possible de l'édition de la crontab. L'ancienne version fonctionnait pour moi mais pas dans un vanilla bash.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X