Autostart skryptów wymagających praw roota

Uwaga: Ten wpis został utworzony ponad rok temu. Informacje w nim zawarte mogą być nieaktualne!

Załóżmy taką sytuację…

Mamy przygotowany skrypt o nazwie moj_skrypt, który:

  • chcemy uruchomić wraz ze startem systemu,
  • wykonuje polecenia wymagające praw roota.

Niestety tradycyjny autostart takiego programu jest niemożliwy, właśnie ze względu na konieczność weryfikacji użytkownika. Istnieje jednak proste rozwiązanie, dzięki któremu obejdziemy ten proces.

Dodanie pliku do autostartu

Dobrym rozwiązaniem jest utworzenie skryptu, który wywoływać będzie skrypt główny. Otwórz terminal i wydaj polecenie:

sudo gedit /etc/init.d/skrypt

Wklej do niego poniższy kod (odpowiednio uzupełniony):

#!/bin/bash
# Skrypt uruchamiający plik moj_skrypt.sh
cd /ścieżka/do/skryptu/głównego
./moj_skrypt.sh

Zapisz zmiany (Ctrl + S). Nadaj utworzonemu skryptowi prawa do uruchamiania:

 sudo chmod +x /etc/init.d/skrypt

Na koniec polecenie:

update-rc.d skrypt defaults

I gotowe.

Oczywiście nie jest konieczne tworzenie dodatkowego skryptu! Wystarczy główny skrypt wrzucić do katalogu /etc/init.d, nadać prawa do uruchamiania jako program, a następnie wydać polecenie:

update-rc.d moj_skrypt defaults

Jak usunąć taki plik?

  1. Usuń plik z katalogu /etc/init.d/
  2. Wydaj polecenie:
    update-rc.d moj_skrypt remove
Jeżeli powyższy artykuł nie rozwiązał lub rozwiązał częściowo Twój problem, dodaj swój komentarz opisujący, w którym miejscu napotkałeś trudności.
Mile widziane komentarze z uwagami lub informacjami o rozwiązaniu problemu.
  • http://blog.piotrbaran.com.pl/ Lopez

    Mała uwaga, gdyby ktoś chciał uruchomić skrypt w którym trzeba podać jakieś dane lub wybrać jakąś opcję ( np. podania hasła do partycji truecrypt ), to z uwagi na to, że Ubuntu korzysta z upstart, nie da się tego zrobić i taki skrypt nie zadziała w podany sposób.

  • krism18

    nie wiem czemu nie startuje u mnie wirtualna maszyna, zrobiłem wszystko według opisu, z kolei uruchamiając ręcznie z konsoli skrypt wszystko się uruchamia bez zająknięcia.

    jaki może być problem ?