X/Ubuntu: poprawny zapis polecenia w pliku /etc/rc.local

Problemy dotyczące innych systemów operacyjnych
Awatar użytkownika
kitek
Posty: 42
Rejestracja: 24 sierpnia 2015, 19:09

[+] X/Ubuntu: poprawny zapis polecenia w pliku /etc/rc.local

Post autor: kitek »

Witam. Mam krótkie pytanie odnośnie wywołania, bądź wystartowania usługi z wykorzystaniem pliku /etc/rc.local. Wspomniany skrypt, który domyślnie nie robi nic, wykonywany jest na końcu procesu uruchamiania (zob. runlevel), po starcie usług systemowych. W systemie Ubuntu, hasło do konta administratora (root) jest zablokowane. Oznacza to, że użytkownik nie ma możliwości zalogowania się jako root lub użyć polecenia su. (Niemniej, jest możliwość aktywacji tego konta). Jednakże, ponieważ konto roota istnieje fizycznie, nadal możliwym jest uruchamianie programów z uprawnieniami administratora poprzez mechanizm sudo.

A więc, skoro domyślnie wykorzystywane jest narzędzie sudo a właścicielem pliku /etc/rc.local jest root, w jaki sposób należy uruchamiać usługi itp. wykorzystując wspomniany skrypt? Mam na myśli zapis tego jak powinno wyglądać poprawne polecenie. Czy należy: 1/ wykorzystać sudo poprzedzając daną komendę, 2/ wpisać jedynie polecenie z pominięciem sudo?

Kod: Zaznacz cały

[color=#0000cd][I]#!/bin/sh -e
#
# rc.local[/I][/color]
[color=#0000ff][I]#
# This script is (...)

# metoda 1.:[/I][/color]
[color=#ff8c00]sudo[/color] [color=#ff8c00]/[/color][color=#808080]etc[/color][color=#ff8c00]/[/color][color=#808080]init.d[/color][color=#ff8c00]/[/color][color=#808080]program restart[/color]

[color=#0000ff][I]# metoda 2.:[/I][/color]
[color=#ff8c00]/[/color][color=#808080]etc[/color][color=#ff8c00]/[/color][color=#808080]init.d[/color][color=#ff8c00]/[/color][color=#808080]program restart[/color]

[color=#ff8c00]exit[/color] [color=#808080]0[/color]
Generalnie, chodzi o to, czy należy - w przypadku systemu w którym konto administratora, jest zablokowane - wykorzystać mechanizm sudo do poprawnego uruchomienia itd. danej usługi, programu via plik/skrypt /etc/rc.local? Która z metod jest poprawna?

Dzięki, pozdrawiam.
Awatar użytkownika
LordRuthwen
Moderator
Posty: 2324
Rejestracja: 18 września 2009, 21:45
Lokalizacja: klikash?

Post autor: LordRuthwen »

Druga.
Awatar użytkownika
kitek
Posty: 42
Rejestracja: 24 sierpnia 2015, 19:09

Post autor: kitek »

Cześć LordRuthwen. Nie spodziewałem się tak błyskawicznej odpowiedzi, za którą oczywiście dziękuję. Mam, tylko małą prośbę: czy mógłbyś wyjaśnić, dlaczego metoda druga?
mariaczi
Member
Posty: 1343
Rejestracja: 08 lutego 2008, 12:58
Lokalizacja: localhost@śląskie

Post autor: mariaczi »

W trakcie startu systemu ten skrypt (/etc/rc.local) jest uruchamiany z prawami roota.
Awatar użytkownika
kitek
Posty: 42
Rejestracja: 24 sierpnia 2015, 19:09

Post autor: kitek »

Witam. Skoro tak, to skorzystam z drugiej metody. Dzięki mariaczi za wyjaśnienie. Niemniej, myślę że z wykorzystaniem sudo również nie byłoby problemów :-)members/4423-mariaczi
Awatar użytkownika
marcin1982
Moderator
Posty: 1731
Rejestracja: 05 maja 2011, 12:59
Lokalizacja: Zagłębie Dąbrowskie

Post autor: marcin1982 »

Byłyby problemy, chyba żebyś $program umieścił na $ścieżce i ustawił w sudo uruchamianie tego programu bez hasła przez użytkownika root, co jest totalnym bezsensem ... Zamykam.
Zablokowany