Uruchomienie centrali na innym użytkowniku niż root sprawi, że polecenia CLI, które wykonują skrypty linuksowe, nie zostaną wykonane bez koniecznych uprawnień. Poprawi to bezpieczeństwo centrali. Możesz też dodać dostęp np. do SSH tylko dla konkretnego użytkownika, który będzie mógł zarządzać centralą, ale nic nie namiesza w systemie.
Spis treści
Całość poniższego kodu możemy wykonać za pomocą naszego gotowego skryptu do zmiany użytkownika.
SKRYPT ZMIANY UŻYTKOWNIKA
1) Dodanie użytkownika i grupy
To od czego chcielibyśmy zacząć to dodać użytkownika innego niż ‘root’. W naszym przykładzie wykorzystamy użytkownika ‘asterisk’. Żeby dodać użytkownika i grupę wykonaj:
useradd asterisk
groupadd asterisk
Jeśli planujesz osobne logowanie na tego użytkownika dodaj też hasło:
passwd asterisk
Podpowiedź
W większości przypadków założenie użytkownika np. ‘asterisk’, jednocześnie utworzy grupę o tej samej nazwie. Podczas tworzenia grupy, może się więc pojawić ostrzeżenie, że grupa już istnieje.
groupadd: group 'asterisk' already exists
2) Zmiana uprawnień
Kolejnym krokiem będzie zmiana uprawnień do poszczególnych plików i katalogów.
Jeśli centrala zainstalowana jest w jakimś niestandardowym katalogu lub potrzebujesz znaleźć pliki lub katalogi, które mogą wymagać zmiany uprawnień możesz wykonać:
find / -name 'asterisk'
Pora na zmianę uprawnień:
chown -R asterisk:asterisk /var/{lib,log,run,spool}/asterisk
chown -R asterisk:asterisk /etc/asterisk
chown asterisk:asterisk /usr/sbin/asterisk
# for 32-bit system
chown -R asterisk:asterisk /usr/lib/asterisk
# for 64-bit system
chown -R asterisk:asterisk /usr/lib64/asterisk
Polecenie ‘ls -l’ powinno pokazać, że nasz nowy użytkownik jest właścicielem katalogu.
WAŻNE Pamiętaj, że jeśli będzie tworzył nowe pliki jako inny użytkownik, centrala może nie mieć do nich dostępu, może wyrzucać błędy lub funkcjonalność Asteriska może być ograniczona
Na koniec musimy jeszcze powiedzieć naszej centrali, że powinna działać jako inny użytkownik. Możemy to zrobić w pliku asterisk.conf
. Zazwyczaj znajduje się on w katalogu /etc/asterisk/
.
W środku znajdziemy zmienne ‘runuser
‘ oraz ‘rungroup
‘. Plik wygenerowany przez make basic-pbx
zawiera te zmienne zakomentowane. Wystarczy je odkomentować.
Zmiany powinny być automatycznie widoczne po wejściu do konsoli, nawet bez przeładowania.
asterisk -r
Podpowiedź
sed
.
sed -i "s/^;runuser = asterisk.*$/runuser = asterisk ; The user to run as./" /etc/asterisk/asterisk.conf
sed -i "s/^;rungroup = asterisk.*$/rungroup = asterisk ; The group to run as./" /etc/asterisk/asterisk.conf
And that’s all! From now on, our Asterisk will be launched as ‘asterisk’, i.e. according to the assumption: user other than ‘root’.
Podpowiedź
/etc/udev/rules.d/92-dongle.rules
(CentOS) następującą linijkę:
KERNEL=="ttyUSB*", MODE="0666", OWNER="asterisk", GROUP="asterisk"
W efekcie, każde nowe urządzenie ttyUSB będzie miało nowego użytkownika i grupę.
Czy wiesz co tak na prawdę dzieje się na Twojej centrali? Wypróbuj nasze autorskie oprogramowanie VOIPERO.
System niedawno wystartował i teraz jest udostępniany całkowicie za darmo. Instalacja i konfiguracja zajmuje kilka minut.
Dowiedz się jakie możliwości ma system VOIPERO jeżeli chodzi o raportowanie i monitorowanie na żywo systemów VoIP bazujących na asterisku.