Jak zainstalować Samba w Ubuntu 24.04

Wprowadzenie

Samba to narzędzie typu open source, które umożliwia udostępnianie plików między maszynami działającymi w jednej sieci. Umożliwia serwerom Linux udostępnianie plików komputerom działającym w różnych systemach operacyjnych, takich jak Windows.

W tym poradniku dowiesz się, jak zainstalować i skonfigurować Samba w Ubuntu 24.04.

Wymagania wstępne

  • System Ubuntu (w tym samouczku użyjemy Ubuntu 24.04. Te same kroki działają też w Ubuntu 20.04 i 22.04).
  • Uprawnienia sudo
  • Edytor tekstu (w tym przewodniku użyjemy nano).

Jak zainstalować i skonfigurować Sambę w systemie Ubuntu

Większość menedżerów pakietów Linux posiada Sambę w swoim domyślnym repozytorium. Aby skonfigurować Sambę w Ubuntu, wykonaj poniższe kroki:

Krok 1: Zainstaluj Sambę

Odśwież informacje o repozytorium pakietów za pomocą:

    sudo apt update

    Uruchom następujące polecenie, aby zainstalować Sambę:

    sudo apt install samba -y

    Argument -y automatycznie zatwierdza wszelkie zapytania podczas instalacji.

    Sprawdź instalację za pomocą polecenia whereis:

    whereis samba

    Wyjście wskazuje katalog zawierający Sambę. Inną metodą weryfikacji instalacji jest sprawdzenie wersji Samby:

    samba -V

    Dane wyjściowe pokazują, że w systemie zainstalowano wersję Samby 4.19.5.

    Na koniec sprawdź, czy Samba działa:

    systemctl status smbd

    Dane wyjściowe pokazują, że usługa smbd jest włączona i działa.

    Krok 2: Utwórz katalog współdzielony

    Aby udostępnić pliki za pomocą Samby, utwórz katalog zawierający pliki do udostępnienia. Użyj mkdir -p, aby utworzyć katalog w /home:

    Na przykład utwórz katalog o nazwie „sharing” komendą:

    sudo mkdir -p /home/sharing

    Użyj ls do sprawdzenia wyniku.

    ls

    Krok 3: Skonfiguruj globalne opcje Samby

    Skonfiguruj Sambę, edytując plik konfiguracyjny smb.conf znajdujący się w /etc/samba/smb.conf . W tym samouczku użyjemy nano :

    Otwórz plik konfiguracyjny za pomocą:

    sudo nano /etc/samba/smb.conf

    Przewiń w dół do sekcji Global Settings . Ta sekcja konfiguruje zachowanie, nazwę, rolę i interfejsy sieciowe serwera Samba.

    Uwaga: Niektóre ustawienia w pliku smb.conf są oznaczone jako komentarze. Aby włączyć i dostosować te ustawienia, usuń znak ; na początku linni.

    Kluczowe parametry, które należy wziąć pod uwagę, podano w poniższych podsekcjach.

    Browsing/Identification

    Podsekcja Browsing zawiera parametry workgroupserver string.

    • Parametr workgroup umożliwia udostępnianie plików między grupą komputerów w sieci lokalnej. W systemach Windows 10/11 domyślnie jest to WORKGROUP.
    • Ustawienie server string identyfikuje serwer Samba.

    W konfiguracji Samby, parametr %h w wartości server string odnosi się do nazwa hosta (hostname) serwera, na którym Samba jest uruchomiona. Czyli: %h zostanie zastąpione przez nazwę hosta maszyny w czasie rzeczywistym.

    Networking

    Użyj podsekcji Networking , aby skonfigurować interfejsy sieciowe, do których Samba się łączy. Networking zawiera dwa parametry:

    • Parametr interfaces ustawia interfejs sieciowy, z którym ma się połączyć Samba.
    • Parametr bind interfaces only zapewnia, że ​​Samba łączy się tylko z interfejsami wymienionymi w pliku. Parametr powinien być zawsze ustawiony na yes.

    Aby ustawić parametr interfaces, najpierw sprawdź dostępne interfejsy za pomocą polecenia ip:

    ip a

    Przykładowy wynik wskazuje, że Samba łączy się z dwoma interfejsami: lo, interfejsem pętli zwrotnej i enp0s3, interfejsem sieciowym.

    W tym przypadku ustawienia są następujące:

    interfaces = lo enp0s3
    bind interfaces only = yes

    Uwaga: interfejsy sieciowe, z którymi łączy się Samba, mogą się różnić w zależności od maszyny.

    Debugging

    Podsekcja Debugging ma cztery parametry. Ustaw je w następujący sposób:

    log file = /var/log/samba/log.%m
    max log size = 1000
    logging = file
    panic action = /usr/share/samba/panic-action %d
    • log file = /var/log/samba/log.%m – Przechowuje logi w pliku o nazwie pochodzącej od maszyny łączącej ( %m) w określonym katalogu. To ustawienie ułatwia debugowanie problemów specyficznych dla klienta.
    • max log size = 1000 – Ogranicza rozmiar plików dziennika do 1000 KB przed rotacją, zapobiegając wyczerpaniu miejsca na dysku.
    • logging = file – Konfiguruje Sambę w celu rejestrowania zdarzeń w plikach, aby umożliwić dostęp do zapisów i ich trwałość.
    • panic action = /usr/share/samba/panic-action %d – Wykonuje określony skrypt w przypadku wystąpienia poważnego błędu (%d przekazuje szczegóły błędu), umożliwiając natychmiastowe rozwiązywanie problemów lub podejmowanie działań naprawczych.
    Authentication, Domain, and Misc

    Najważniejszym parametrem Authentication jest server role. Ten parametr określa typ serwera dla Samby.

    Jeśli nie ma takiego, dodaj następujący wiersz, aby ustawić Sambę jako samodzielny serwer:

    server role = standalone server

    Inne ustawienia uwierzytelniania obejmują:

    • obey pam restrictions = yes – Zapewnia zgodność protokołu Samba z zasadami uwierzytelniania PAM, co pozwala na zachowanie scentralizowanej kontroli dostępu.
    • unix password sync = yes – Synchronizuje hasła Samba z hasłami systemowymi UNIX w celu zapewnienia spójnych danych uwierzytelniających w różnych usługach.
    • passwd program = /usr/bin/passwd %u – Określa polecenie systemowe służące do zmiany haseł użytkowników w celu integracji z natywnym zarządzaniem hasłami.
    • passwd chat = Enter\snew\s\spassword:* %n\n Retype\snew\s\spassword:* %n\n password\supdated\ssuccessfully . – Automatyzuje interakcje związane ze zmianą haseł, aby zapewnić
    • pam password change = yes – Używa PAM do obsługi zmian haseł. To ustawienie umożliwia egzekwowanie zasad haseł w całym systemie.
    • map to guest = bad user – Mapuje nierozpoznanych użytkowników na konto gościa, aby zapewnić ograniczony dostęp dla nieuwierzytelnionych użytkowników.

    Nie zmieniaj żadnych ustawień w podsekcji Domain , ale przewiń w dół do sekcji Misc i ustaw następujące:

    usershare allow guests = yes

    Ustawienie pozwala na dostęp gościa (nieuwierzytelniony) do udostępnionych przez użytkownika zasobów Samba. Umożliwia każdemu w sieci dostęp do udostępnionych plików bez nazwy użytkownika i hasła.

    Pozostaw wszystkie pozostałe ustawienia globalne bez zmian.

    Zapisz i wyjdź z pliku, a następnie uruchom testparm – narzędzie Samba, aby sprawdzić, czy nie ma błędów składniowych:

    testparm

    Na wyjściu pojawia się komunikat Loaded services file OK, co oznacza brak błędów składni. Po skonfigurowaniu Global Settings serwer Samba jest gotowy do użycia.

    Aby jednak odblokować pełną funkcjonalność Samby, należy skonfigurować użytkowników i katalog , tak jak pokazano w sekcji poniżej.

    Krok 4: Utwórz konto użytkownika

    Utwórz konto użytkownika w Samba, aby uwierzytelniać i kontrolować dostęp do współdzielonych zasobów. Dzięki temu tylko autoryzowani użytkownicy będą mogli uzyskać dostęp do poufnych plików lub katalogów.

    Aby utworzyć konto użytkownika, ustaw nazwę użytkownika i hasło za pomocą:

    sudo smbpasswd -a [username]

    Należy pamiętać, że nazwa użytkownika powinna należeć do użytkownika systemowego. Na przykład w tym przykładzie konto systemowe w systemie Ubuntu to cwaniak . Stąd nazwa użytkownika jest taka sama, jeśli chcesz dodać istniejącego użytkownika do Samby:

    sudo smbpasswd -a cwaniak

    Aby dodać nowego użytkownika do Samby i systemu, użyj polecenia adduser:

    sudo adduser [username]

    Zastąp [username] nazwą nowego użytkownika. Na przykład dodaj new_user do systemu za pomocą:

    sudo adduser new_user

    Wprowadź i potwierdź hasło systemowe dla new_user. Resztę pozycji możesz zostawić puste potwierdzając enterem.

    Utwórz nowego użytkownika Samba za pomocą:

    sudo smbpasswd -a new_user

    Obaj użytkownicy muszą mieć dostęp do odczytu, zapisu i wykonywania katalogu współdzielonego . Podczas gdy użytkownik cwaniak ma te uprawnienia domyślnie, new_user ich nie ma.

    Aby przyznać uprawnienia do odczytu, zapisu i wykonywania dla katalogu współdzielonego , uruchom setfacl:

    sudo setfacl -R -m "u:new_user:rwx" /home/sharing

    Polecenie nie generuje wyniku.

    Krok 5: Skonfiguruj ustawienia udostępnianego katalogu Samba

    Katalog współdzielony Samba to katalog w systemie Linux skonfigurowany tak, aby był dostępny dla innych urządzeń w sieci za pomocą protokołu SMB/CIFS. Wykonaj poniższe kroki, aby skonfigurować ustawienia katalogu:

    Uzyskaj ponownie dostęp do pliku konfiguracyjnego, aby dodać wcześniej utworzony katalog współdzielony .

    sudo nano /etc/samba/smb.conf

    Przejdź na koniec pliku i dodaj następujące wiersze:

    [sharing]
    comment = Samba share directory
    path = /home/sharing
    read only = no
    writable = yes
    browseable = yes
    guest ok = no
    valid users = @cwaniak @new_user

    Każdy wiersz przyznaje określone uprawnienia dostępu do katalogu. Na przykład:

    • [sharing] Reprezentuje nazwę katalogu. Jest to lokalizacja katalogu, którą widzą użytkownicy systemu Windows.
    • comment Służy jako opis współdzielonego katalogu.
    • path Określa lokalizację współdzielonego katalogu. W przykładzie użyto katalogu w /home, ale użytkownicy mogą również umieścić współdzielone pliki w /samba.
    • read only Umożliwia użytkownikom modyfikowanie katalogu oraz dodawanie i zmienianie plików, gdy jest ustawione na no.
    • writeable Udziela dostępu do odczytu i zapisu po ustawieniu na yes.
    • browseable Umożliwia innym maszynom w sieci znalezienie serwera Samba i udziału Samba, gdy jest ustawione na yes. W przeciwnym razie użytkownicy muszą znać dokładną nazwę serwera Samba i wpisać ścieżkę dostępu do udostępnionego katalogu.
    • guest ok Gdy ustawiony na no, ten parametr wyłącza dostęp gościa. Użytkownicy muszą wprowadzić nazwę użytkownika i hasło, aby uzyskać dostęp do udostępnionego katalogu.
    • valid users Tylko wymienieni użytkownicy mają dostęp do udziału Samba. Zastąp @cwaniak @new_user własnymi wartościami.

    Zapisz zmiany i wyjdź z pliku.

    Sprawdź ponownie składnię:

    testparm

    Wynik powinien potwierdzić, że Samba jest odpowiednio skonfigurowana. Aby uzyskać bardziej szczegółowe dane wyjściowe wszystkich ustawień, naciśnij Enter:

    Krok 6: Zaktualizuj reguły zapory

    Aby upewnić się, że zapora sieciowa Linux zezwala na ruch Samba, uruchom:

    sudo ufw allow samba

    Krok 7: Połącz się z katalogiem współdzielonym

    Aby zakończyć konfigurację, połącz się z udostępnionym katalogiem, który skonfigurowaliśmy wcześniej. Wykonaj poniższe kroki:

    Najpierw uruchom ponownie usługę Samba, aby upewnić się, że wszystkie zmiany konfiguracji zostały zastosowane:

    sudo systemctl restart smbdsudo systemctl restart smbd

    sudo systemctl restart smbd

    Polecenie nie wyświetla żadnego wyniku.

    Aby połączyć się z udostępnionym katalogiem w systemie Windows przechodzimy do eksploratora windows i wybieramy opcję Mapuj dysk sieciowy:

    W następującym oknie wypełniamy pola:

    • Dysk – wybieramy dowolną literę
    • Folder – wpisujemy\\IP_Serwera\udostępniony_folder
    • Zaznaczamy opcję Połącz ponownie przy logowaniu i Połącz przy użyciu innych poświadczeń

    Wpisujemy login i hasło użytkownika, którego tworzyliśmy w kroku 4

    W eksploratorze plików pojawi się nowy zasób:

    Leave a Comment

    Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *