Folgendes Problem:
Ich arbeite unter dem WSL (Debian). Jeden Tag brauche ich dort diverse Dienste, da aber der PC immer wieder abends ausgeschaltet wird und am darauffolgenden morgen gestartet wird, müssen auch sämtliche Dienste neugestartet werden. Das betrifft nginx, php5.6-fpm, php7.2-fpm, php7.3-fpm, php7.4-fpm und mysql.
Bis dato habe ich jeden morgen in der Shell erstmal "sudo service nginx start" und alle anderen Dienst gestartet. Mit der Zeit ist das irgendwann echt blöd.
Deswegen die Idee das automatisieren.
Die Lösung:
Ein file /opt/startup.sh der Inhalt:
sudo service postfix start
sudo service nginx start
sudo service php5.6-fpm start
sudo service php7.2-fpm start
sudo service php7.3-fpm start
sudo service php7.4-fpm start
sudo service mysql start
In der /etc/sudoers wurde folgendes eingetragen:
username ALL=NOPASSWD:service postfix start
username ALL=NOPASSWD:service nginx start
username ALL=NOPASSWD:service php5.6-fpm start
username ALL=NOPASSWD:service php7.2-fpm start
username ALL=NOPASSWD:service php7.3-fpm start
username ALL=NOPASSWD:service php7.4-fpm start
username ALL=NOPASSWD:service mysql start
Damit das ganze nun auch automatisch startet, habe ich mittels RegEdit unter "Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run"
einen Schlüssel erstellt mit dem Wert "C:\Windows\System32\wsl.exe sudo /opt/startup.sh"
Folgendes Problem trat auf:
Obwohl in der Sudoers freigegeben, wird trotzdem beim Windows-Start nach dem Passwort gefragt (cmd erscheint mit der Aufforderung zur Eingabe des Sudo PW)
Erster Versuch dies zu fixen:
Eine Bash zu forcen und mittels parameter -c einen command zu übergeben. Das sieht so aus, /opt/startup.sh wurde umgeschrieben in:
Problem besteht, immer noch wird nach dem Passwort verlangt. Uns gehen da die Ideen aus, da weder Systemd noch init.d anscheinend von wsl offiziel unterstützt werden und daher nicht anständig funktionieren.
Hat da wer eine Idee, wie man dieses Problem umgehen kann, dass das Passwort nicht mehr abgefragt wird.