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 ;)
















Subskrybuj RSS