Skrypty startowe (systemd)

Ogólne pytania dotyczące systemu
pabliszer
Posty: 61
Rejestracja: 07 października 2009, 12:20

Skrypty startowe (systemd)

Post autor: pabliszer » 30 stycznia 2015, 21:22

Hej
Zainstalowałem sobie postgresql-a na debianie jessie i mam mały problem ponieważ z użytkownika postgres nie mogę wykonać restartu|stopu|startu. Jak wydaje polecenie

Kod: Zaznacz cały

/etc/init.d/postgresql stop
to otrzymuje

Kod: Zaznacz cały

[....] Stopping postgresql (via systemctl): postgresql.serviceFailed to stop postgresql.service: Access denied
 failed!
Od razu zaznaczę że zmiana uprawnień do postgresql.service nie pomogła (przynajmniej uprawnienia 666). I tu pytanie do czego uprawnienia powinien mieć użytkownik postgres żeby móc uruchamiać restartować i zatrzymywać bazę.
Baze instalowałem za pomocą apt-get

Z góry dziękuje za odpowiedź.

Awatar użytkownika
Yampress
Administrator
Posty: 6185
Rejestracja: 09 sierpnia 2007, 21:41
Lokalizacja: PL

Post autor: Yampress » 30 stycznia 2015, 21:27

A po o zmieniasz uprawnienia? i gdzie o tym się dowiedziałeś to głupstwo -> dajesz większe uprawnienia komu nie trzeba. Tworzysz dziure w systemie.


Składnia systemd do resetowania usługi wygląda tak jako root:

Kod: Zaznacz cały

 systemctl restart [I]unit[/I]

pabliszer
Posty: 61
Rejestracja: 07 października 2009, 12:20

Post autor: pabliszer » 30 stycznia 2015, 21:55

Zmiana uprawnień to w sumie druga rzecz która przyszła mi na myśl (moje własne podejście). Pierwszą było sudo. Z konta root startowanie stopowanie i restart działa. Chodzi mi jednak o to dlaczego użytkownika na którego prawach działa program nie może go zatrzymać, czy uruchomić?

mblazeji2
Posty: 23
Rejestracja: 31 lipca 2014, 23:47
Lokalizacja: /dev/random

Post autor: mblazeji2 » 31 stycznia 2015, 01:30

Jakbyś mógł to wrzuć ten skrypt na pastebina i daj tutaj linka - może coś da się załatwić.

Awatar użytkownika
Yampress
Administrator
Posty: 6185
Rejestracja: 09 sierpnia 2007, 21:41
Lokalizacja: PL

Post autor: Yampress » 31 stycznia 2015, 09:19

Tak . Wykorzystaj sudo do resetowania...

Bo root może tylko otwierać gniazda sieciowe. I dlatego.



Tylko jeśli zmieniasz uprawnienia chmod, dajesz "dostęp statusu" do bazy każdemu. Nawet napastnikowi. I ten napastnik nie musi za wiele umieć aby baze włączyć/włączyć,/zresetować bo dałeś mu prostą drogę do tego.

Takie zabawy przechodzą na desktopie, ale na serwerze musisz wiedzieć co robisz i każdy krok musi być przemyślany, bo tym, posunieciem o ileś tam zmniejszyłeś bezpieczeństwo serwera.

ODPOWIEDZ