Vraag Welke gebruikers doen scripts in de cron-mappen? (d.w.z. cron.daily, cron.hourly, enz.)


Als ik een script in /etc/cron.daily op CentOS zet, welke gebruiker zal het dan uitvoeren? Draaien ze allemaal als root of als de eigenaar?


46
2018-03-14 06:45


oorsprong




antwoorden:


Ze rennen allemaal zo root. Gebruik als u iets anders nodig hebt su in het script of voeg een crontab-item toe aan de crontab van de gebruiker (man crontab) of de systeembrede crontab (waarvan ik de locatie niet kon vertellen op CentOS).


45
2018-03-14 06:50





Bewerk: mijn antwoord is in dit geval niet echt van toepassing, zie de opmerking van Zoredache hieronder. Sorry, allemaal (in het bijzonder geekosaurus). Kyle, merk op dat als je regelmatig een script als een niet-root gebruiker wilt uitvoeren, het volgende nuttig kan zijn; doe het gewoon via cron.d in plaats van cron. {uurlijks, dagelijks, wekelijks, maandelijks}.

Ik haat het om tegen te spreken, maar ik vrees dat de geekosaurus niet helemaal gelijk heeft. Ze worden als root uitgevoerd behalve waar anders aangegeven. Hier is een deel van mijn CentOS-boxen /etc/cron.d/munin het dossier:

# cron-jobs for munin
MAILTO=root
1-56/5 * * * *     munin /usr/share/munin/munin-limits --force

Merk op hoe, op de inhoudelijke regel (regel 3), er een gebruikersnaam is opgegeven vóór het uitvoerbare bestand. Deze specifieke cron-invoer wordt uitgevoerd als gebruiker munin, dus als uw cron vergelijkbaar is met CentOS 5's (vixie-cron-4.1-77), zou u hetzelfde moeten kunnen doen.


17
2018-03-14 07:02



Hij lijkt specifiek te praten over cron.daily en cron.weekly, en niet dingen in cron.d / *. - Zoredache
D'oh! Bedankt, Zoredache; Ik zou de vraag beter moeten lezen. Nog geen koffie! Ik zou het verwijderen, maar ik denk dat er nog steeds nuttige informatie in mijn antwoord staat - alleen niet voor het OP - dus ik ben een beetje geneigd het te laten staan. Wat denk je? (Sorry voor het verkeerd instappen, geekosauriër). - MadHatter
geekosaur beantwoordde mijn fundamentele vraag, maar ik heb nooit geweten waarvoor de cron.d map eigenlijk bedoeld is. cron.daily, etc zijn nogal voor de hand liggend, net als crontab. Maar waar zit cron.d binnenin alles? - Kyle MacFarlane
Je hebt al begrepen dat het idee om mappen te gebruiken in plaats van individuele bestanden voor het opslaan van verzamelingen, is dat het een pakket gemakkelijker maakt om een ​​item toe te voegen: je hoeft alleen een bestand in een map te plaatsen in plaats van een complexe sed-aanroep te proberen om brokken te bewerken van tekst in en uit bestanden ... - MadHatter
... In het geval van Munin, moet het elke vijf minuten een taak uitvoeren, en niet als root. Dat is een perfect voorbeeld van waarom cron. {Hourly, etc.} Niet geschikt is voor iedereen; sommige cron-taken willen nog steeds een frequentie kunnen specificeren, en misschien een gebruiker, en voor hen is cron.d beter. Anderen niet, en voor hen, cron. {Hourly, etc.} Is eenvoudiger, omdat ze gewoon een script in plaats van een script plus een timing / user-setting wrapper dumpen. - MadHatter