Który użytkownik uruchamia polecenia zdefiniowane w /etc/rc.local?

13

Czy polecenia są /etc/rc.localuruchamiane sudomyślnie?
Czy muszę sudookreślać przed każdym poleceniem, czy będą one uruchamiane suniezależnie?

SK ”
źródło

Odpowiedzi:

17

sunie jest użytkownikiem, to program do uruchamiania kolejnych poleceń / programów pod alternatywną tożsamością innego użytkownika niż ten, który wykonuje polecenie. Pod tym względem jest bardzo podobny sudo.

O ile nie zostanie określony inny użytkownik, obie komendy będą domyślnie uruchamiać komendę pod alternatywną tożsamością rootużytkownika, administratora / administratora.

Główna różnica między sui sudopolega na tym, że:

  • su wymaga znajomości hasła tego alternatywnego użytkownika, gdzie
  • sudowyświetli monit o podanie hasła użytkownika uruchamiającego sudopolecenie i wymaga instalacji, aby użytkownik mógł uruchomić żądane polecenia / programy.

(Gdy rootdziała albo suczy sudohasło nie jest wymagane).


Jak każdy skrypt inicjujący, /etc/rc.localskrypt jest wykonywany przez rootużytkownika i nie trzeba dodawać ani poleceń suani sudoprogramów, które muszą działać jako root.

Być może nadal będziesz musiał użyć sulub sudow skryptach inicjujących, jeśli te polecenia muszą być wykonywane nie jakoroot inne konto użytkownika / usługi ...

su -oracle/do/something/as/oracle/user

HBruijn
źródło
Co mam zrobić, jeśli umieściłem su - user /path/to/script.sh w rc.local, a podczas jego pozyskiwania monituje mnie o hasło użytkownika (a następnie zamyka terminal). Jak sprawić, żeby nie pytał mnie o hasło użytkownika?
alonso s
10

Tak, wszystkie skrypty i programy są wywoływane bezpośrednio przez root.

/etc/rc.localPlik jest wywoływany bezpośrednio przez init.

dmourati
źródło
1
Więc nie musieliśmy dodawać sudoprzed komendami /etc/rc.local?
Benyamin Jafari