Synology-Forum.nl
Tweaks / Addons A.K.A. The Underground => Algemeen => Topic gestart door: Paarsch op 05 april 2018, 10:38:14
-
Hallo!
Ik heb op een DS916+ een Mono applicatie draaien welke onderhuids sudo rechten gebruikt om bepaalde handelingen uit te voeren. Om dit te stroomlijnen heb ik de gebruikte user hiervoor aan het sudoers bestand toegevoegd zodat ik dit gescript kan doen, zonder een wachtwoord op te geven. Dit werkt goed en naar wens.
Elke keer als er een update van DSM komt dan verdwijnt de regel uit het sudoers bestand, welke dit mogelijk maakt. Hoe kan ik voorkomen dat een DSM update dit doet?
-
Dat doet DSM nu eenmaal, ik heb ook een wijziging in sudoers aangebracht en, indien gewijzigd na een update, pas ik het gewoon weer aan.
Maar goed, je zou een scriptje kunnen maken die de file weer aanpast na een reboot, voer wel een check uit of die aanpassing bestaat of niet (in het script) en deze vervolgens in taakplanner zetten:
[attach=1]
[attach=2]
-
Hoe zou zo'n script er dan ongeveer uit komen te zien? Ik zou graag een paar ALL = NOPASSWD commands toe willen voegen aan de sudoers file na een update. Ik kom een eind met gezond boeren verstand, maar scripts schrijven is een vaardigheid die ik (nog) niet bezit :P.
-
Beetje vreemde applicatie die sudo gebruikt.
Weet je wel zeker hij dat doet en heb je niet gewoon de rechten niet goed staan?
Welke applicatie is het?
-
Om op de vraag terug te komen:
Noem het script b.v.: sudoers-aanpassen en zet deze in b.v. /volume1/scripts
Het script:
chmod +w /etc/sudoers
echo "" >> /etc/sudoers && echo "admin ALL = NOPASSWD: ALL" >> /etc/sudoers
chmod -w /etc/sudoers
Maak het script executable:
chmod 700 sudoers-aanpassen
Taakplanner (afwijkende van mijn eerdere printscreens)
[attachimg=1]PS1
[attachimg=2]PS2
Voor de zekerheid datum ver vooruit zetten:
[attachimg=3]PS3
[attachimg=4]PS4
Omdat je het script alleen wilt uitvoeren wanneer nodig:
[attachimg=5]PS5
Indien nodig, het script uitvoeren:
[attachimg=6]PS6
-
Super bedankt, dat ga ik als ik thuis ben gelijk even proberen!!
-
Zo'n kort script kun je ook rechtstreeks in de taakplanner zetten. Blijft het overzichtelijker.
Mooier wordt het als het script een check bevat of deze modificatie er niet al in zit. Een goed script checkt eigenlijk altijd op userfouten. ;)
Dus iets als:
if grep -q "admin ALL = NOPASSWD: ALL" /etc/sudoers; then
exit
else
chmod +w /etc/sudoers
echo "" >> /etc/sudoers && echo "admin ALL = NOPASSWD: ALL" >> /etc/sudoers
chmod -w /etc/sudoers
fi