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.
0 votes
@Mark je vois. Et avec des scripts exécuter l'autre scripts ? local -> système ou local système. le scripts est comme ceci :
rm -rf ~/Library/Caches sudo rm -rf /System/Library/Caches
0 votes
L'idée de la division est de permettre à l'un de s'exécuter en tant que Root et l'autre en tant que local, le problème est que la combinaison des deux vous donne le problème sudo. Il est donc plus facile d'utiliser deux scripts.
0 votes
Concernant la dernière ligne, veuillez lire un tutoriel sur les utilisateurs d'Unix qui s'exécutent en tant que sudo, ce qui signifie s'exécuter en tant que Root. Vos questions impliquent que vous ne comprenez pas comment les permissions et les utilisateurs Unix fonctionnent.