Serwer Samba

Wymagana ilość zrzutów do sprawozdania: 11 (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11). Jak prawidłowo sporządzić sprawozdanie?
  1. Wprowadzenie do laboratorium
  2. Samba to serwer plików i drukarek służący ich udostępnianiu a oparty jest na open-source'owym protokole SMB. Można również dzięki niemu uruchomić usługi katalogowe, czyli swoistego rodzaju Active Directory; summa summarum działa więc jako kontroler domeny. W skład Samby wchodzi m.in. usługa smbd, która zapewnia obsługę protokołu SMB a będziemy z niej korzystać. Z kolei udostępniane zasoby (udziały) moża podzielić na: W Linuksie w katalogu /srv znajdują się pliki z których mają korzystać udziały a więc wszelkiego rodzaju pliki związane z usługą ftp, www itp. Z tego katalogu będziemy korzystać, tworząc w nim podkatalog z zasobami udostępnionymi przez Sambę.
  3. Czynności wstępne
  4. Na początku aktualizujemy repozytoria i pakiety poleceniami sudo apt update oraz sudo apt upgrade.
  5. Założenia projektowe
  6. W katalogu /srv utworzymy katalog o nazwie smb z podkatalogami pub, priv, ti, nazwisko. Podfolder nazwisko oznaczać będzie twoje nazwisko, bez polskich znaków. Oprócz tego utworzymy użytkowników imnazwisko oraz stud1 i stud2. Fraza imnazwisko oznaczać będzie twoje 2 pierwsze litery twojego imienia i nazwisko - bez spacji i polskich znaków. Użytkownicy stud1 i stud2 należeć będą do grupy students, która również zostanie utworzona.
  7. Utworzenie folderów w katalogu /srv
  8. Wydajemy poniższe polecenia aby przejść do katalogu /srv i utworzyć poszczególne katalogi:
    $ cd /srv/
    $ sudo mkdir smb
    $ cd smb/
    $ sudo mkdir pub
    $ sudo mkdir priv
    $ sudo mkdir ti
    $ sudo mkdir nazwisko
    
    Następnie instalujemy narzędzie tree (u mnie zainstalowane), które pozwala wygodnie wizualizować strukturę katalogów w systemie oraz wydajemy polecenie tree /srv, aby zobaczyć strukturę podfolderów katalogu /srv. Ten zrzut ekranu należy włączyć do sprawozdania
    $ sudo apt install tree
    $ tree /srv
    

  9. Użytkownicy i grupy, prawa dostępu
  10. Tworzymy grupę oraz konta. Przypominam, że imnazwisko oznaczać będzie twoje 2 pierwsze litery twojego imienia i nazwisko - bez spacji i polskich znaków. Poniższe polecenia dodadzą nam nowych użytkowników wraz z hasłami (najlepiej niech wszyscy użytkownicy posiadają jedno hasło, np. stud), katalogami domowymi w folderze /home i pozostałymi addytywnymi informacjami. Utworzenie użytkownika o danej nazwie przypisuje go z automatu do utworzonej w ten sposób grupy o tej samej nazwie.
    $ sudo addgroup students
    $ sudo adduser imnazwisko
    $ sudo adduser stud1
    $ sudo adduser stud2
    

    Do grupy students dodajemy utworzonych przed chwilą dwóch użytkowników poniższymi poleceniami. Następnie sprawdzamy zawartość pliku /etc/group aby zobaczyć nowododanych 3 użytkowników i nowododaną grupę. Polecenie usermod -a -G modyfikuje dodanych już wcześniej użytkowników. Jak widać w pliku /etc/group elementy te zostały zapisane na końcu pliku. Ten drugi zrzut ekranu (prezentujący zawartość pliku /etc/group) należy włączyć do sprawozdania
    $ sudo usermod -a -G students stud1
    $ sudo usermod -a -G students stud2
    $ cat /etc/group
    

    Teraz zmienimy uprawnienia do folderów, czyli damy dostęp do określonych zasobów określonym użytkownikom. Będzie to wyglądać następująco: W końcowym etapie upewniamy się, że jesteśmy w folderze /srv a następnie ustawiamy prawa dostępu za pomocą poniższych komend i wyświetlamy szczegóły folderu z nadanymi chmodami. Parametr -R przy komendach oznacza rekurencyjne nadanie praw dla wszystkich podfolderów i plików. Ten zrzut ekranu należy włączyć do sprawozdania
    $ sudo chmod -R 775 smb/pub
    $ sudo chown -R nobody:nogroup smb/pub
    $ sudo chmod -R 774 smb/priv
    $ sudo chmod -R 770 smb/ti
    $ sudo chown -R nobody:students smb/ti
    $ sudo chmod -R 770 smb/nazwisko
    $ sudo chown -R imnazwisko:imnazwisko smb/nazwisko
    $ ls -l smb
    

  11. Instalacja i konfiguracja serwera SAMBA
  12. Poleceniem sudo apt install samba instalujemy serwer. Z kolei poleceniem sudo systemctl status smbd sprawdzamy status Samby. Jeżeli jest aktywna przechodzimy dalej. Ten zrzut ekranu należy włączyć do sprawozdania

    Teraz dodajemy wcześniej utworzonych użytkowników do bazy danych serwera. Wykonujemy to poniższymi poleceniami. Za każdym razem zostaniemy poproszeni o hasło, którym będziemy logować się do udziałów: jako, że nie mamy do czynienia ze środowiskiem produkcyjnym, proponuję wszędzie ustawić to samo hasło: stud. Ten zrzut ekranu należy włączyć do sprawozdania
    $ sudo smbpasswd -a stud1
    $ sudo smbpasswd -a stud2
    $ sudo smbpasswd -a imnazwisko
    

    Sambę konfigurujemy poprzez edycję jej pliku konfiguracyjnego tj. /etc/samba/smb.conf. Wydajemy komendę sudo nano /etc/samba/smb.conf i przechodzimy do sekcji global pliku. W sekcji tej interesować nas będą linijki workgroup i server string. Pierwszy wpis oznacza nazwę grupy roboczej w jakiej znajduje się serwer Samby. Oznaczenie WORKGROUP jest dobre i zgodne z nazwą grupy roboczej w Windows, więc je zostawiamy. Z kolei server string oznacza nazwę (ciąg znaków) serwera Samby. Może to być dowolny ciąg znaków, który chcemy pokazać użytkownikom. Ciąg %v zostanie zastąpiony numerem wersji Samby, z kolei ciąg %h zostanie zastąpiony nazwą hosta. Proponuję dopisać obok nazwy Samba ciąg %v. Poniżej przedstawiono dwa zrzuty: pliku oryginalnego i zmienionego.

    Teraz przechodzimy na koniec pliku, gdzie musimy dopisać udziały. Ich nazwa musi być ujęta w nawiasach kwadratowych, a więc u nas [pub], [priv], [ti], [nazwisko]. Po tym, we wcięciach, opisujemy udział według schematu: Ten zrzut ekranu należy włączyć do sprawozdania

    Po zapisaniu pliku restartujemy serwer Samby i testujemy go poniższymi poleceniami. Ten zrzut ekranu należy włączyć do sprawozdania
    $ sudo systemctl restart smbd
    $ sudo systemctl status smbd
    

  13. Korzystanie z zasobów serwera Samba ze strony klienta
  14. Logujemy się na Lubuntu, a więc na systemie klienta. Klikamy ikonę Sieć a następnie w polu paska adresowego wpisujemy protokół w połączeniu z adresem IP serwera SAMBA, a więc 172.16.X.5 i potwierdzamy Enterem (w Windowsie wpisalibyśmy dla przykładu - w pasku adresowym eksploratora - \\172.16.X.5).

    W wyniku tej czynności powinniśmy się znaleźć w katalogu /srv/smb serwera z udostępnionymi zasobami. Jeżeli tak się nie dzieje, to znaczy, że gdzieś popełniony został błąd a więc należy sprawdzić wszystko od początku a w szczególności plik konfiguracyjny Samby (smb.conf). Ten zrzut ekranu należy włączyć do sprawozdania

    Klikamy dwukrotnie na folderze pub po czym łączymy się anonimowo do zasobu.

    W katalogu tworzymy podkatalog o nazwie Nowy i plik o nazwie plik1. Ten zrzut ekranu należy włączyć do sprawozdania

    Teraz - z poziomu serwera - listujemy katalog pub, otrzymując w efekcie nowe, utworzone przed chwilą obiekty a więc katalog Nowy i plik o nazwie plik1.

    Następnie spróbujmy wejść do zasobu priv. Nie będzie to możliwe z tego powodu że po pierwsze nie pozwoliliśmy na logowanie się użytkownikom anonimowych (opcja guest ok w pliku smb.conf) a po drugie nie ustawiliśmy uprawnionych użytkowników (opcja valid users w pliku smb.conf). Logowanie zakończy się w takim przypadku fiaskiem.

    Przejdźmy teraz do zasobu o nazwie ti. Połączenie anonimowe nie zadziała, ponieważ nie zostało ustawione (opcja guest ok w pliku smb.conf). Musimy zalogować się jakimś użytkownikiem grupy students, a mamy takich dwóch (stud1 i stud2). Wybieramy dowolnego i logujemy się nim. Połączenie powinno zostać nawiązane (opcja valid users w pliku smb.conf ustawiona).

    Utwórzmy w tym katalogu plik o nazwie plik2. Ten zrzut ekranu należy włączyć do sprawozdania

    ... a następnie wylistujmy ten katalog z poziomu serwera:

    Na końcu przejdźmy do katalogu nazwisko. Połączenie anonimowe nie zadziała, ponieważ nie zostało ustawione (opcja guest ok w pliku smb.conf), podobnie nie połączymy się użytkownikami grupy students. Musimy zalogować się uprawnionym użytkownikiem a więc imnazwisko. Logujemy się nim. Połączenie powinno zostać nawiązane (opcja valid users w pliku smb.conf ustawiona jest właśnie na imnazwisko).

    Utwórzmy w tym katalogu plik o nazwie plik3. Ten zrzut ekranu należy włączyć do sprawozdania

    ... a następnie wylistujmy ten katalog z poziomu serwera:


© mgr inż. Adrian Zapała