[x] Drogi Czytelniku, wygląda na to, że korzystasz z oprogramowania blokującego wyświetlanie reklam. Wyświetlane tu reklamy nie mają inwazyjnej formy i nie utrudnią Ci nawigacji, a środki z reklam pozwalają mi utrzymać serwis i pomagają w jego dalszym rozwoju. Z góry dziękuję za wyrozumiałość.

Serwer Domowy: Automatyczne wznawianie zerwanego połączenia WiFi oraz o uprawnieniach w Debianie

?

Trzeci wpis z serii wpisów o konfiguracji Debiana na potrzeby domowe. W poprzednim wpisie pokazywaÅ‚em jak zestawić sobie połączenie WiFi pod Debianem tak aby startowaÅ‚o ono przy uruchomieniu komputera, pokazaÅ‚em także jak zainstalować sterowniki do sieci WiFi. Połączenie takie dziaÅ‚a ale ma jednÄ… wadÄ™ – jeÅ›li coÅ› spowoduje jego przerwanie, nie odnowi siÄ™ samemu. Z pomocÄ… przyjdzie tutaj skrypt sprawdzajÄ…cy połączenie oraz wznawiajÄ…cy w razie potrzeby.

Do wykonania tej części poradnika zalecam połączenie się zdalnie z konsolą, jak to zrobić opisywałem w poprzednim wpisie. Zalecam tak dlatego, że łatwiej będzie skopiować zawartość skryptu do miejsca docelowego. Można by wyedytować skrypt u siebie a później przenieść go do serwera np. na pendrive ale nie zalecam tego. Jest niemal pewne, że wtedy każda linijka będzie i tak do poprawienia (Windowsowe znaki końca linii).

Skrypt wznawiający zerwane połączenie WiFi w Debianie

Logujemy siÄ™ do systemu jako root oraz wpisujemy polecenie nano wifitest – ukaże siÄ™ edytor, jeÅ›li zamiast tego otrzymamy informacjÄ™ o braku aplikacji instalujemy jÄ… poprzez polecenie aptitude install nano – teraz kopiujemy sobie poniższy skrypt:

#!/bin/bash

if ! `/bin/ping -c3 192.168.1.1 > /dev/null 2>&1` ; then
#echo "`date` >> Restartuje WLAN ..." >> /var/log/wifi
/etc/init.d/networking restart
fi
exit 0

Wklejamy go sobie do otwartego edytora klikajÄ…c w jego okno prawym przyciskiem myszki, klient konsoli – Putty – dziaÅ‚a w taki sposób, że jest to równoznaczne z wklejeniem. Gdyby siÄ™ nie udaÅ‚o można przepisać ten kod. Teraz czas na wyjaÅ›nienie.

  • Linia 1: Deklaracja jÄ™zyka skryptu
  • Linia 3: Sprawdzenie czy dany adres IP odpowiada na pingi. Należy tu wstawić swoje IP bramy. JeÅ›li ping siÄ™ nie powiedzie wykonywany jest dalszy kod, jeÅ›li nie nastÄ™puje przerwanie
  • Linia 4: W kodzie jest ona wyłączona. Odpowiada za dopisanie do loga faktu wznawiania połączenia. Opcja dla ciekawskich którzy chcieliby wiedzieć kiedy ich sieć siÄ™ rozłączyÅ‚a (zostanie to zapisane w pliku /var/log/wifi). Aby włączyć należy skasować # sprzed tej linii
  • Linia 5: Restartujemy połączenie
  • Linia 6: ZakaÅ„cza otwarty warunek z linii 3
  • Linia 7: Zwrócenie kodu 0 dla skryptu

Zamykamy edytor wciskając CTRL+X, następnie wciskając T oraz ENTER. Plik został zapisany. Czas teraz sprawić by był uruchamiany co jakiś krotki czas.

Automatyczne uruchamianie skryptu co minutÄ™

Zacznijmy od skopiowania skryptu w jakieÅ› bardziej dostÄ™pne miejsce niż nasz katalog domowy. Wpisujemy polecenie cp wifitest /usr/bin/wifitest – które sprawi, że skrypt wylÄ…duje w katalogu /usr/bin pod nazwÄ… wifitest. Wydajemy teraz polecenie chmod +x /usr/bin/wifitest które sprawi, że nasz skrypt bÄ™dzie wykonywalny.

Skrypt mamy już na swoim miejscu wraz z uprawnieniami do wykonywania. Czas teraz dopisać go do uruchamiania co minutÄ™. Wpisujemy polecenie crontab -e – otwiera nam siÄ™ teraz edytor taki jak poprzednio tyle, że z pierwszÄ… linijkÄ…. Przechodzimy enterem do nastÄ™pnej oraz wpisujemy

* * * * * /usr/bin/wifitest

Zamykamy podobnie jak poprzednio – CTRL+X, później T oraz ENTER. Wspomniana linijka uruchomi ten skrypt co minutÄ™ ale można rzadziej jeÅ›li ktoÅ› chce, osobiÅ›cie nie zalecam bo skrypt mocno nie obciąża a po zerwaniu mniej trzeba czekać ;) Aby zmniejszyć interwaÅ‚ zamieniamy pierwszÄ… gwiazdkÄ™ np na. */5 – spowoduje to uruchamianie co 5 minut. JeÅ›li wszystko poszÅ‚o pomyÅ›lnie ujrzymy napis crontab: installing new crontab

Jak działają uprawnienia w Debianie?

Nie poruszaÅ‚em celowo tego tematu w poprzednim wpisie tak aby nie mieszać. W obecnym poznaliÅ›cie polecenie chmod – odpowiada za ustawienie uprawnieÅ„ do pliku. W Debianie wyraża siÄ™ je cyferkami.

  • Cyfra 7  – odczyt, zapis, wykonanie
  • Cyfra 6 – odczyt, zapis
  • Cyfra 5 – odczyt, wykonanie
  • Cyfra 4 – odczyt
  • Cyfra 3 – zapis, wykonanie
  • Cyfra 2 – zapis
  • Cyfra 1 – wykonanie
  • Cyfra 0 – nic

Chmod składa się z trzech cyfr, pierwsza oznacza uprawnienia właściciela, druga grupy a trzecia wszystkich innych osób.

Zabezpieczmy zatem skrypt z poprzedniego wpisu zawierajÄ…cy klucz do sieci

BÄ™dziemy wiÄ™c operować na pliku /etc/network/interfaces w którym zgodnie z poprzednim wpisem zawarty jest nasz klucz do sieci. Wpisujemy polecenie chmod 770 /etc/network/interfaces – sprawi, że tylko root (oraz jego grupa) bÄ™dzie miaÅ‚ dostÄ™p do tego pliku z uprawnieniami odczyt, zapis, wykonanie – pozostali użytkownicy bÄ™dÄ… mieć zabronione wszystko – jednak nie przeszkodzi to w dziaÅ‚aniu skryptu. AnalogicznÄ… sytuacjÄ™ można przeprowadzić dla naszego skryptu sprawdzajÄ…cego połączenie jednak uważam, że nie ma tam nic sekretnego ;)

Dajcie znać jak Wam poszÅ‚o. Już w nastÄ™pnym wpisie pokażę jak przeznaczyć część dysku na udostÄ™pnianie w sieci, każdy użytkownik dostanie swoje prywatne miejsce do zapisu i odczytu oraz dostÄ™p do miejsca wspólnego – do wymiany danych w sieci – gdzie każdy bÄ™dzie mógÅ‚ zapisywać i odczytywać a wszystko to podłączymy jako dyski sieciowe. Stay tuned ;)

Fajny tekst? Podziel siÄ™ ze znajomymi:
  • Blip
  • Flaker
  • Facebook
  • Twitter
  • Gadu-Gadu Live
  • Google Buzz
  • Google Bookmarks
  • Gwar
  • Wykop
  • PDF
  • RSS
  • Print

Zobacz inne ciekawe wpisy:

Tagi: , , , , , , , , , ,

Udostepnij
  • Kilka uwag z mojej strony:

    Wykonywanie co minutę pliku /etc/rc.local nie jest dobrą praktyką, gdyż jest on uruchamiany przy każdym starcie systemu i mogą się tam znaleźć również inne komendy.

    Konfiguracja sieciowa Debiana powinna znajdować się w pliku /etc/network/interfaces.
    W pliku /etc/network/interfaces.examples powinny znajdować się przykładowe konfiguracje m.in. z użyciem autoryzacji WPA.

    Uprawnienia należałoby rozpisać bitami, wtedy nie trzeba ich pamiętać,
    można zrozumieć jak to działa i skąd się biorą te liczby.

    3 bity kolejno rwx tworzą liczby w systemie dwójkowym:

    rwx (read, write, execute)
    000 = 0
    001 = 1
    010 = 2
    011 = 3
    100 = 4
    101 = 5
    110 = 6
    111 = 7
  • Jak już wspominaÅ‚em na poczÄ…tku cyklu - jest to seria dla poczÄ…tkujÄ…cych osób wiÄ™c zakÅ‚adam, że nie wprowadzajÄ… modyfikacji samemu (bo siÄ™ nie znajÄ…, bo nie chcÄ… kombinować samemu itp.). Plik /etc/rc.local domyÅ›lnie nie robi nic, a w poprzednim wpisie wÅ‚aÅ›nie w nim zawarÅ‚em instrukcje nawiÄ…zujÄ…ce połączenie z wlanem - i sÄ… tam tylko one. Ponadto nie jest on wykonywany co minutÄ™ lecz dopiero wtedy gdy podane IP nie odpowie na ping. Konfiguracja WPA to dodatkowa robota, opiszÄ™ może pod koniec.

    Oczywiście uprawnienia można rozpisać tak jak napisałeś jednak jak mówię, wolę czytelnikom opisać to prostymi słowami zwłaszcza, że kieruję te wpisy do osób które kompletnie nie mają pojęcia o tym systemie
blog comments powered by Disqus
© Kubofonista HomePage. All rights reserved.  
Icons: Sylwia Besz | Design: Theme Junkie.
  • RSS
  • Blip
  • Flaker
  • Twitter
  • Soup.io
  • Facebook
  • GoldenLine
  • NetworkedBlogs
  • Wykop
  • YouTube