Jak uruchomić skrypt jako sudo w czasie uruchamiania na Ubuntu 18.04 Server? [duplikować]


11

Jak uruchomić skrypt jako sudo w czasie uruchamiania?

Muszę uruchomić, ethtool --offload <net> rx offaby wyłączyć irytujący komunikat o błędzie sumy kontrolnej jme udp.


dlaczego uważasz, że potrzebujesz sudo w czasie uruchamiania?
Rinzwind

@ Rinzwind prawdopodobnie dlatego, że ethtool wymaga roota do uruchomienia. Jednostka SystemD jako root to najlepsze podejście
Thomas Ward

1
„as sudo” - masz na myśli „as root(wszechmocny użytkownik z $UID=0)”. sudoto narzędzie umożliwiające zwykłemu użytkownikowi uruchamianie polecenia jako root. „przy starcie” - wszystko związane z uruchomieniem systemu działa jakoroot
waltinator

@waltinator: z wyjątkiem rzeczy, które tracą uprawnienia; np. możesz poprosić swój system o uruchomienie sesji X serwera + użytkownika dla określonego użytkownika. Ale uruchamianie ethtoolprzez sudo z czegoś, co zrzuciło przywileje (jak sugeruje to brzmienie tego pytania) byłoby naprawdę złym pomysłem niż wbicie go /etc/rc.locallub jakikolwiek bardziej „nowoczesny” sposób na uruchomienie roota podczas uruchamiania.
Peter Cordes,

Odpowiedzi:


16

Możesz utworzyć usługę systemową.

Utwórz plik /etc/systemd/system/ethtool.service:

[Unit]
Description=ethtool script

[Service]
ExecStart=/path/to/yourscript.sh

[Install]
WantedBy=multi-user.target

I skrypt /path/to/yourscript.sh(nie zapomnij o chmod +xtym)

#!/bin/bash
ethtool --offload <net> rx off

Włącz usługę

systemctl enable ethtool

Będzie działał przy starcie systemu jako root.


4
Jeśli @deimos doskonała odpowiedź była pomocna, zaakceptuj ją: askubuntu.com/tour Poszukiwacze docenią fakt, że odpowiedź działa zgodnie z oczekiwaniami.
chili555

sudo systemctl start ethtoolaby natychmiast uruchomić usługę. systemctl status ehttoolwyświetlać status (uruchomiony, włączony i rejestrować). Dowiedz się więcej zman systemctl
Victor Lamoine,

4

Umieść swoje polecenia w /etc/rc.local lub utwórz ten plik, jeśli nie istnieje:

 touch /etc/rc.local
 chmod +x /etc/rc.local

Wszystkie te działania muszą być wykonane jako root.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.