Domowy serwer plików – Debian

Coraz częściej w domu jest więcej niż jeden komputer. W takich przypadkach zaczyna się również myśleć o budowie sieci, udostępniania drukarki itd. Niektórzy też chcą, aby ich dane znajdowały się w jednym miejscu oraz aby inni domownicy mieli do nich dostęp. Z pomocą przychodzi nam serwer plików.

Jeżeli posiadamy gdzieś stary komputer (stary czyli pentium 200 MHz, Ram 256 MB) to śmiało może on posłużyć nam jako serwer plików dla nawet 4 komputerów. Jako system operacyjny wykorzystamy Debian Lenny bez środowiska graficznego (aby zaoszczędzić zasoby), serwer plików – Sambę i oprogramowanie konfigurujące – Webmin.

Załóżmy taką sytuację. Jest rodzina, w której jest matka, ojciec, syn Maciek oraz córka Sylwia. Każdy z tych członków rodziny chce posiadać własny udział sieciowy, do którego dostęp będą mieli tylko oni. Dodatkowo do zasobów dzieci będą mieli dostęp rodzice, bo w końcu wypada wiedzieć co córka i syn trzymają na twardym dysku. Rodziców nie będziemy rozdrabiać, utworzymy dla nich jeden udział. Warto też pomyśleć o wspólnym zasobie, do którego będą mieli dostęp wszyscy członkowi rodziny. My w tym artykule nazwaliśmy go wspólny.

Nie będę się rozwodził nad instalacją Debiana itd. Od razu przejdę do konkretów.

INSTALACJA SAMBY

1. Na początek musimy zainstalować Sambę. Ja mam taki zwyczaj, że przed instalacją jakiegokolwiek pakietu zawsze odświeżam listę repozytorium. Zatem wydajemy polecenia:

aptitude update
aptitude install samba

2. System może nas poprosić o płytkę instalacyjną w celu zainstalowania wymaganych zależności.

3. Czekamy, aż samba zostanie pobrana i zainstalowana.

4. W pewnym momencie instalator samby zapyta nas, jaka ma być grupa robocza. W naszym przypadku wpisujemy DOM.

5. Kolejne pytanie dotyczy serwerów WINS.

Jeżeli mamy w sieci postawiony serwer dhcp, to zaznaczamy tak, jeżeli nie, to zaznaczymy drugą opcję.

6.Gdy odpowiemy na te pytania, wtedy rozpocznie się dopiero właściwa instalacja pakietu samba.

KONFIGURACJA SAMBY PRZEZ WEBMIN (GRAFICZNE)

Z tej racji, że system będzie konfigurowany i użytkowany w warunkach domowych, nie widzę sensu konfigurowania wszystkiego przez terminal. O wiele prościej wykonywać to za pomocą graficznego konfiguratora. Jednak z tej racji, że system nie posiada zainstalowanego środowiska graficznego, pozostają nam konfiguratory poprzez www. Jednym z takich jest Webmin. Akurat jego opiszę, gdyż sam go używam i według mnie idealnie nadaje się nawet dla osób, którzy pierwszy raz będą konfigurować serwer. Lecz – co warto podkreślić, posiada on również bardziej zaawansowane opcję. Za jego pomocą możemy skonfigurować praktycznie każdy aspekt systemu operacyjnego.

Instalacja WEBMIN.

1. Na początku musimy dodać repozytorium, skąd będzie pobierany pakiet. Wpisujemy:

nano /etc/apt/sources.list

i w dokumencie dopisujemy lokalizację:

deb http://download.webmin.com/download/repository sarge contrib

2.Zapisujemy plik. Teraz musimy dodać cyfrowy kod podpisu. Wpisujemy:

wget http://www.webmin.com/jcameron-key.asc

i po zatwierdzeniu Enter kolejno:

apt-key add jcameron-key.asc

3. Mamy już dodany podpis cyfrowy. Teraz wydajemy polecenia aktualizacji repozytorium oraz instalacji pakietu webmin.

aptitude update
aptitude install webmin

4. Warto mieć przy sobie płytkę instalacyjną Debiana, gdyż system poprosi o nią w celu instalacji dodatkowych pakietów

5. Gdy system dostanie płytkę w swoje ręce, to rozpocznie się pobieranie i instalacja webmina.

Po chwili webmin będzie zainstalowany.

Konfiguracja.

1.Aby dostać się do webmina, uruchamiamy przeglądarkę i wpisujemy w pasek adresu:

https://192.168.0.18:10000

gdzie zamiast 192.168.0.18 podajemy swoje IP. Widzimy, że już początek https informuje nas, że jest to połączenie szyfrowane.

2. Niestety z powodu braku cyfrowego odpisu dla połączenia szyfrowanego, przeglądarka wywali nam przed oczyma ostrzeżenie.

Należy wtedy dodać to do wyjątków (Firefox) lub porostu zignorować. Dopiero wtedy pojawi nam się przed oczami panel logowania.

3. Aby zalogować się do panelu i mieć od razu pełne prawa, to jako użytkownik wpisujemy root a hasło takie samo, jakie definiuje w systemie dla konta roota.

4. Pierwsze, co wypadałoby zrobić, to zmienić język interfejsu na polski. Rozwijamy w tym celu zakładkę Webmin i klikamy na Change Language and Theme.

5. Wygląd nas nie interesuje. Z menu języków wybieramy polski.

6. Zapisujemy nowe ustawienie. Aby zmiany odniosły sukces, musimy wylogować się i zalogować ponownie.

7. Teraz musimy odświeżyć moduły. Klikamy na Refresh Modules.

Webmin nie odświeża w czasie rzeczywistym zainstalowanych serwerów. Musimy to robić ręcznie.

8. Po odświeżeniu klikamy na Serwery a następnie na Udostępnianie dla Windows przez Sambę.

9. Naszym oczom ukaże się cały panel zarządzania sambą.

Jak widzimy, Samba niektóre katalogi udostępnia już domyślnie. One nie będą nam potrzebne.

10. Teraz tworzymy katalogi, które będziemy udostępniać w sieci. Niech będą one np. rodzice, maciek, sylwia, wspolny. Przechodzimy od odpowiedniej lokalizacji (najlepiej folder domowy) i za pomocą polecenia mkdir tworzymy nowe foldery.

cd /home/debianwirtualny
mkdir rodzice
mkdir maciek
mkdir sylwia
mkdir wspolny

Uwaga!!! Nazwa folderu domowego brzmi tak samo, jak nazwa zalogowanego użytkownika. W moim przypadku zwie się ona debianwirtualny .

11. Mamy foldery. Teraz tworzymy za pomocą webmina użytkowników, którzy będą mogli łączyć się z sambą. Przechodzimy do System i użytkownicy i grupy. Następnie klikamy na Utwórz nowego użytkownika.

Teraz w odpowiednie pola wpisujemy:

Nazwa użytkownika: rodzice
Rzeczywista nazwa: rodzice_samba
Hasło: Hasło otwartym tekstem (wpisujemy hasło)
Grupa podstawowa: obecna grupa (wybieramy sambashare)
Utworzyć katalog domowy: nie
Skopiować pliki do katalogu domowego: nie
Tworzyć użytkownika w innych modułach: nie

Klikamy na Utwórz.

Tak samo postępujemy dla konta maciek, sylwia, wspolny, zmieniając odpowiednio nazwę, rzeczywistą nazwę oraz hasło.

14. Do zachowania kompatybilności zapisywanych plików w folderach, utworzymy jeszcze jedno konto, bez możliwości logowania na system, które będzie należało do grupy sambashare. Dodatkowo to konto umożliwi nam podgląd zasobów podczas wejścia na serwer z systemów Windows. Ustawiamy odpowiednio:

Nazwa użytkownika: samba
Rzeczywista nazwa: glowny_samba
Hasło: Nie może się logować
Grupa podstawowa: obecna grupa (wybieramy sambashare)
Utworzyć katalog domowy: nie
Skopiować pliki do katalogu domowego: nie
Tworzyć użytkownika w innych modułach: nie

14. Gdy mamy już utworzone konta, musimy przypisać foldery do konta samba i do grupy sambashare. Żeby było dużo łatwiej, zainstalujemy program Midnight Commander. Wpisujemy polecenie:

aptitude install mc

15. Po zainstalowaniu wpisujemy:

mc

16. Naszym oczom pojawi się tekstowa przeglądarka plików:

17. Zaznaczamy odpowiedni folder, naciskamy F9, strzałkę w prawo, strzałkę w lewo i najeżdżamy na polecenie chown i naciskamy Enter.

18. Pojawią się nam dwie kolumny. Po lewej stronie widzimy konta użytkowników, po prawej grupy.

Jako użytkownika wybieramy samba, jako grupę sambashare. Pomiędzy kolumnami przełączamy się za pomocą TAB. Postępujemy tak dla pozostałych folderów.

19. Teraz gdy mamy już to wszystko ładnie poustawiane, możemy przystąpić do tworzenia udziałów sieciowych. Rozwijamy menu Serwer i klikamy na Udostępnianie dla Windows przez Sambę.

20. Usuwamy te udziały, co już istnieją. Nie będą nam potrzebne.

21. Klikamy na Utwórz nowy zasób dyskowy.

22. Na początku udostępnimy folder rodzice. Wpisujemy odpowiednio :

Nazwa zasobu: rodzices
Udostępniany katalog: lokalizacje do folderu (w moim przypadku jest to /home/debianwirtualny/rodzice)
Automatically create directory Tak rodzice
Create with permissions: 775 sambashare
Dostępność: tak
Przeglądanie: tak

Dla folderu sylwia

Nazwa zasobu: sylwias
Udostępniany katalog: lokalizacje do folderu (w moim przypadku jest to /home/debianwirtualny/sylwia)
Automatically create directory Tak sylwia
Create with permissions: 775 sambashare
Dostępność: tak
Przeglądanie: tak

Dla folderu maciek

Nazwa zasobu: macieks
Udostępniany katalog: lokalizacje do folderu (w moim przypadku jest to /home/debianwirtualny/maciek)
Automatically create directory Tak maciek
Create with permissions: 775 sambashare
Dostępność: tak
Przeglądanie: tak

Dla folderu wspolne

Nazwa zasobu: wspolnys
Udostępniany katalog: lokalizacje do folderu (w moim przypadku jest to /home/debianwirtualny/wspolny)
Automatically create directory Tak samba
Create with permissions: 775 sambashare
Dostępność: tak
Przeglądanie: tak

Klikamy na Utwórz. Jeżeli damy taką samą nazwę, jak nazwa folderu udostępnianego, to niestety webmin wyrzuci nam błąd.

23. Teraz musimy dodać nowo utworzonych użytkowników, jako użytkowników samby. Klikamy na Przetwórz użytkowników Uniksa na użytkowników Samby.

Następnie klikamy na Przetwórz użytkowników.

24. Teraz klikamy na Zmień użytkowników i hasła Samby i na nowo ustalamy hasła to naszym userów. W tym celu klikamy np na konto rodzice i w nowym oknie w polu Hasło zaznaczamy Nowe hasło i wpisujemy odpowiednie hasło. Zapisujemy zmiany. Wykonujemy dokładnie to samo dla pozostałych naszych kont.

25. Musimy teraz ustalić, kto może łączyć się z danymi udziałami, a kto nie. Klikamy na wybrany przez nas udział np rodzices i w nowym oknie klikamy na Bezpieczeństwo i kontrola dostępu.

26. Ustawiamy odpowiednio:


Prawo zapisu: tak
Dostęp dla gości: brak
Autoryzować przy każdym połączeniu: tak
Dozwoleni użytkownicy: rodzice
Dozwolone grupy: sambashare
Niedozwoleni użytkownicy: root sylwia maciek debianwirtualny samba

Zapisujemy ustawienia. Pokaże jak jednocześnie ustawić dla reszty udziałów.

macieks

Prawo zapisu: tak
Dostęp dla gości: brak
Autoryzować przy każdym połączeniu: tak
Dozwoleni użytkownicy: maciek
Dozwolone grupy: sambashare
Niedozwoleni użytkownicy: root sylwia debianwirtualny samba

sylwias

Prawo zapisu: tak
Dostęp dla gości: brak
Autoryzować przy każdym połączeniu: tak
Dozwoleni użytkownicy: sylwia
Dozwolone grupy: sambashare
Niedozwoleni użytkownicy: root maciek debianwirtualny samba

wspolnys

Prawo zapisu: tak
Dostęp dla gości: brak
Autoryzować przy każdym połączeniu: tak
Dozwoleni użytkownicy: sylwia maciek rodzice
Dozwolone grupy: sambashare
Niedozwoleni użytkownicy: root debianwirtualny samba

Ważne jest, aby w niedozwolonych użytkownikach nie zapomnieć o koncie root. Jest to główny administrator i może on praktycznie wszystko. Jeżeli jednak wpiszemy go w tej rubryce, to trochę mu ukrócimy atrybutów.

27. Jednak przy takich stawieniach nie będziemy mieli praw do zapisu. Pamiętacie jak ustawialiśmy, że folder ma należeć do usera samba i do grupy sambashare ? Teraz zrobimy tak, aby serwer wymuszał takie chowny dla nowo tworzonych plików i katalogów.

28. Klikamy na dany udział sieciowy i w nowym oknie wybieramy Prawa do plików. Ustawiamy kolejno:
Atrybuty uniksowe dla nowych plików: 664
Atrybuty uniksowe dla nowych katalogów: 775
Wymuszać użytkownika Uniksa: samba
Wymuszać grupę Uniksa: sambashare
Wymuszać atrybuty uniksowe dla plików 664
Wymuszać atrybuty uniksowe dla katalogów 775

Tak samo ustawiamy dla pozostałych udziałów sieciowych.

29.Jeżeli to wszystko wykonaliśmy, to nie pozostaje nam nic innego, jak tylko restart serwera samba.

Montowanie udziałów.

Samo utworzenie udziałów sieciowych to jeszcze nic. Teraz musimy zamontować je na stacjach klienckich.

Windows XP

1.Klikamy na uruchom i wpisujemy nazwę serwera, z którym chcemy się połączyć. W naszym przypadku będzie to debian-wirtualny, więc wpisujemy:

\\debian-wirtualny

Uwaga !!! Często podanie nazwy serwera pod systemami Windows może skutkować błędem, że dany serwer nie został znaleziony. W takim przypadku należy posłużyć się adresem IP.

2.System wyświetli okno logowania do serwera. Do zalogowania posługujemy się swoim kontem utworzonym na serwerze np syn Maciek wpisuje jako nazwę maciek i swoje hasło.

3.Po zalogowaniu zobaczymy wszystkie dostępne udziały sieciowe.

4.Teraz zamontujemy dyski sieciowe. Klikamy prawym przyciskiem myszy na dowolny udział i z menu wybieramy Mapuj dysk sieciowy.

W owym oknie dialogowym nie musimy praktycznie nic zmieniać, oprócz litery dysku. Klikamy na Zakończ.

5.W oknie Mój Komputer pokaże się nowo za mapowany dysk sieciowy.

Windows 7

1.Naciskamy kombinację klawiszy Logo Windows + R. Pojawi nam się okno dialogowe uruchamianie. Wpisujemy tam nazwę naszego serwera lub jego IP:

\\debian-wirtualny

\\192.168.0.18

2.Pojawi się okno logowania do zasobów serwera.

Wpisujemy wytyczne do konta samba, które sami stworzyliśmy.

3.Po pomyślnym zalogowaniu pojawią się nam udziały serwera.

4.Klikamy prawym przyciskiem myszy na dany udział i wybieramy Mapuj dysk sieciowy.

5.W oknie klikamy na Zakończ.

6.Po zamontowaniu dysku sieciowego automatycznie zostanie on otwarty i wyświetlona jego zawartość.

Ubuntu

1.Klikamy na Miejsca i wybieramy Połącz z serwerem.

2.Jako typ usługi wybieramy Udziały Windows, w zaś Serwer wpisujemy nazwę naszego serwera.

3.Gdy klikniemy na połącz, pojawią się nam wszystkie udziały danego serwera.

4.Jeżeli będziemy chcieli wejść w dany udział, zostaniemy poproszeniu o podanie nazwy użytkownika oraz hasła.

5.Jeżeli logowanie zostanie zakończone sukcesem, naszym oczom ukażą się pliki w danym udziale sieciowym.

Jak widzimy, jest przy tym trochę zabawy, ale przyjemnej. Nie ma co się zrażać ogromem informacji i zadań do spełniania. Najgorszy jest pierwszy raz. Potem będziemy wszystko automatycznie robić.