Detta borde fungera om det bara handlar om att köra ett specifikt program som måste köras som "root" vid inloggning.
Gör ett konkrent exempel, mitt användarnamn på datorn är 'kjn'. Har lagt detta script
#!/bin/sh
echo "Running as ${USER}"
här: /Users/kjn/script/run-me.sh
Exempel på output
➜ script ./run-me.sh
Running as kjn
➜ script sudo ./run-me.sh
Running as root
För att kunna köra detta m.h.a. sudo utan att ange lösenord, gör detta
Du är nu i VIM, att ens ta sig ut ur det programmet kan vara utmanande för de som aldrig använt det... Fördelen med att göra så här är att om du skrivet något fel upptäcks det, gör man fel i sudo-filen kan det bli rätt svårt att ta sig in i den igen!
Navigera nedåt med piltangenter till du hittar detta
# root and users in group wheel can run anything on any machine as any user
root ALL = (ALL) ALL
%admin ALL = (ALL) ALL
ställ dig på den tomma raden efter raden som börjar med '%admin' och tryck 'i' (för insert)
För exemplet ovan ska det stå detta, du ska ange ditt användarnamn istället för 'kjn' och din korrekt sökväg till ditt script
kjn ALL = NOPASSWD: /Users/kjn/script/run-me.sh
Tryck 'ESC : w <RET>' inga mellanslag, följt av 'ESC : q'. Done!
För att veta ditt användarnamn och fullständig path till scriptet, ställ dig i katalogen där scriptet ligger och gör
För mig blir det då
➜ script echo $USER
kjn
➜ script pwd
/Users/kjn/script
Det som skrivs ut efter 'pwd' + '/<namn-på-script>' är det som ska in ovan.
Rent generellt bör man undvika att låta program köra som 'root', framförallt utan att ange lösenord. Så är en "feature" att det inte är trivialt att få till