Android

Jak zainstalować i skonfigurować sambę na Centos 7

Установка и настройка CentOS в VirtualBox

Установка и настройка CentOS в VirtualBox

Spisu treści:

Anonim

Samba to darmowa i otwarta re-implementacja protokołu sieciowego udostępniania plików SMB / CIFS, który umożliwia użytkownikom końcowym dostęp do plików, drukarek i innych współdzielonych zasobów.

W tym samouczku pokażemy, jak zainstalować Sambę na CentOS 7 i skonfigurować ją jako samodzielny serwer, aby zapewnić udostępnianie plików między różnymi systemami operacyjnymi przez sieć.

Utworzymy następujące udziały i użytkowników Samby.

Użytkownicy:

  • sadmin - Użytkownik administracyjny z dostępem do odczytu i zapisu do wszystkich udziałów. josh - zwykły użytkownik z własnym prywatnym udziałem plików.

Akcje:

  • users - ten udział będzie dostępny dla wszystkich użytkowników z uprawnieniami do odczytu / zapisu. josh - ten udział będzie dostępny z uprawnieniami do odczytu / zapisu tylko dla użytkowników josh i sadmin.

Udziały plików będą dostępne ze wszystkich urządzeń w sieci. W dalszej części tego samouczka udostępnimy także szczegółowe instrukcje dotyczące łączenia się z serwerem Samba z klientów Linux, Windows i MacOS.

Wymagania wstępne

Zanim zaczniesz, upewnij się, że jesteś zalogowany w systemie CentOS 7 jako użytkownik z uprawnieniami sudo.

Instalowanie Samby na CentOS

Samba jest dostępna w standardowych repozytoriach CentOS. Aby zainstalować go w systemie CentOS, uruchom następujące polecenie:

sudo yum install samba samba-client

Po zakończeniu instalacji uruchom usługi Samba i włącz ich automatyczne uruchamianie podczas uruchamiania systemu:

sudo systemctl start smb.service sudo systemctl start nmb.service

sudo systemctl enable smb.service sudo systemctl enable nmb.service

Usługa smbd zapewnia udostępnianie i drukowanie plików oraz nasłuchuje na portach TCP 139 i 445. Usługa nmbd zapewnia usługi nazewnictwa NetBIOS przez IP klientom i nasłuchuje na porcie UDP 137.

Konfigurowanie zapory ogniowej

Teraz, gdy Samba jest zainstalowana i działa na twoim komputerze CentOS, musisz skonfigurować zaporę ogniową i otworzyć niezbędne porty. Aby to zrobić, uruchom następujące polecenia:

firewall-cmd --permanent --zone=public --add-service=samba firewall-cmd --zone=public --add-service=samba

Tworzenie użytkowników Samby i struktury katalogów

Dla łatwiejszej konserwacji i elastyczności zamiast korzystania ze standardowych katalogów domowych ( /home/user ) wszystkie katalogi i dane Samby będą znajdować się w katalogu /samba .

Zacznij od utworzenia katalogu /samba :

sudo mkdir /samba

Utwórz nową grupę o nazwie sambashare . Później dodamy wszystkich użytkowników Samby do tej grupy.

sudo groupadd sambashare

Ustaw własność grupy katalogów /samba na sambashare :

sudo chgrp sambashare /samba

Samba używa użytkowników Linuksa i systemu uprawnień grupowych, ale ma własny mechanizm uwierzytelniania, niezależny od standardowego uwierzytelniania w systemie Linux. Utworzymy użytkowników za pomocą standardowego narzędzia Linux useradd , a następnie ustawimy hasło użytkownika za pomocą narzędzia smbpasswd .

Jak wspomnieliśmy we wstępie, stworzymy zwykłego użytkownika, który będzie miał dostęp do swojego prywatnego udziału plików i jednego konta administracyjnego z dostępem do odczytu i zapisu do wszystkich udziałów na serwerze Samby.

Tworzenie użytkowników Samby

Aby utworzyć nowego użytkownika o nazwie josh , użyj następującego polecenia:

sudo useradd -M -d /samba/josh -s /usr/sbin/nologin -G sambashare josh

Opcje useradd mają następujące znaczenie:

  • -M -nie można utworzyć katalogu domowego użytkownika. Ręcznie utworzymy ten katalog. -d /samba/josh - ustaw katalog domowy użytkownika na /samba/josh . -s /usr/sbin/nologin - wyłącz dostęp do powłoki dla tego użytkownika. -G sambashare - dodaj użytkownika do grupy sambashare .

Utwórz katalog domowy użytkownika i ustaw własność katalogu na użytkownika josh i grupa sambashare :

sudo mkdir /samba/josh sudo chown josh:sambashare /samba/josh

Następujące polecenie doda bit setgid do katalogu /samba/josh aby nowo utworzone pliki w tym katalogu odziedziczyły grupę katalogu nadrzędnego. W ten sposób, bez względu na to, który użytkownik utworzy nowy plik, plik będzie miał właściciela grupy sambashare . Na przykład, jeśli nie ustawisz uprawnień do katalogu na 2770 a użytkownik sadmin utworzy nowy plik, użytkownik josh nie będzie mógł odczytać / zapisać tego pliku.

sudo chmod 2770 /samba/josh

Dodaj konto użytkownika josh do bazy danych Samba, ustawiając hasło użytkownika:

sudo smbpasswd -a josh

Zostaniesz poproszony o wprowadzenie i potwierdzenie hasła użytkownika.

New SMB password: Retype new SMB password: Added user josh.

Po ustawieniu hasła włącz konto Samba, wpisując:

sudo smbpasswd -e josh

Enabled user josh.

Aby utworzyć innego użytkownika, powtórz ten sam proces, co podczas tworzenia josh użytkownika.

Następnie sadmin użytkownika i grupy. Wszyscy członkowie tej grupy będą mieli uprawnienia administracyjne. Później, jeśli chcesz przyznać uprawnienia administracyjne innemu użytkownikowi, po prostu dodaj go do grupy sadmin .

Utwórz użytkownika administracyjnego, wpisując:

sudo useradd -M -d /samba/users -s /usr/sbin/nologin -G sambashare sadmin

Powyższe polecenie utworzy również sadmin grupy i doda użytkownika do grup sadmin i sambashare .

Ustaw hasło i włącz użytkownika:

sudo smbpasswd -a sadmin sudo smbpasswd -e sadmin

Następnie utwórz katalog udostępniania Users :

sudo mkdir /samba/users

Ustaw własność katalogu na użytkownika sadmin i grupę sambashare :

sudo chown sadmin:sambashare /samba/users

Ten katalog będzie dostępny dla wszystkich uwierzytelnionych użytkowników. Następujące polecenie konfiguruje dostęp do zapisu / odczytu dla członków grupy sambashare w katalogu /samba/users :

sudo chmod 2770 /samba/users

Konfigurowanie udziałów Samby

Otwórz plik konfiguracyjny Samby i dołącz sekcje:

sudo nano /etc/samba/smb.conf /etc/samba/smb.conf

path = /samba/users browseable = yes read only = no force create mode = 0660 force directory mode = 2770 valid users = @sambashare @sadmin path = /samba/josh browseable = no read only = no force create mode = 0660 force directory mode = 2770 valid users = josh @sadmin

Opcje mają następujące znaczenie:

  • i - Nazwy udziałów, które będą używane podczas logowania. path - Ścieżka do udziału. browseable - czy udział powinien być wymieniony na liście dostępnych udziałów. Po ustawieniu na no inny użytkownik nie będzie mógł zobaczyć udziału. read only - czy użytkownicy wskazani na liście valid users mogą zapisywać w tym udziale. force create mode - Ustawia uprawnienia dla nowo utworzonych plików w tym udziale. force directory mode - ustawia uprawnienia dla nowo utworzonych katalogów w tym udziale. valid users - lista użytkowników i grup, którzy mogą uzyskać dostęp do udziału. Grupy są poprzedzone symbolem @ .

Więcej informacji o dostępnych opcjach znajduje się na stronie dokumentacji pliku konfiguracyjnego Samby.

Po zakończeniu uruchom ponownie usługi Samba za pomocą:

sudo systemctl restart smb.service sudo systemctl restart nmb.service

W poniższych sekcjach pokażemy, jak połączyć się z udziałem Samba z klientów Linux, macOS i Windows.

Podłączanie do udziału Samba z Linuksa

Użytkownicy systemu Linux mogą uzyskać dostęp do udziału samba z wiersza polecenia, używając menedżera plików lub zamontować udział Samba.

Korzystanie z klienta smbclient

smbclient to narzędzie, które umożliwia dostęp do Samby z wiersza poleceń. Pakiet smbclient nie jest wstępnie zainstalowany w większości dystrybucji Linuksa, więc musisz go zainstalować za pomocą menedżera pakietów dystrybucyjnych.

Aby zainstalować smbclient na Ubuntu i Debianie:

sudo apt install smbclient

Aby zainstalować smbclient na CentOS i Fedorze:

sudo yum install samba-client

Składnia dostępu do udziału Samba jest następująca:

mbclient //samba_hostname_or_server_ip/share_name -U username

Na przykład, aby połączyć się z udziałem o nazwie josh na serwerze Samba o adresie IP 192.168.121.118 jako josh użytkownika, uruchomiłbyś:

smbclient //192.168.121.118/josh -U josh

Zostaniesz poproszony o podanie hasła użytkownika.

Enter WORKGROUP\josh's password:

Po wpisaniu hasła zostaniesz zalogowany do interfejsu wiersza poleceń Samby.

Try "help" to get a list of possible commands. smb: \>

Montowanie udziału Samba

Aby zamontować udział Samby w systemie Linux, musisz najpierw zainstalować pakiet cifs-utils .

W systemach Ubuntu i Debian:

sudo apt install cifs-utils

W CentOS i Fedorze działają:

sudo yum install cifs-utils

Następnie utwórz punkt montowania:

sudo mkdir /mnt/smbmount

Zainstaluj udział za pomocą następującego polecenia:

sudo mount -t cifs -o username=username //samba_hostname_or_server_ip/sharename /mnt/smbmount

Na przykład, aby zamontować udział o nazwie josh na serwerze Samba o adresie IP 192.168.121.118 jako użytkownik josh do punktu montowania /mnt/smbmount , który uruchomisz:

sudo mount -t cifs -o username=josh //192.168.121.118/josh /mnt/smbmount

Zostaniesz poproszony o podanie hasła użytkownika.

Password for josh@//192.168.121.118/josh: ********

Korzystanie z GUI

Pliki, domyślny menedżer plików w Gnome ma wbudowaną opcję dostępu do udziałów Samby.

  1. Otwórz pliki i kliknij „Inne lokalizacje” na pasku bocznym. W „Połącz z serwerem” wprowadź adres udziału Samba w następującym formacie smb://samba_hostname_or_server_ip/sharename Kliknij „Połącz”, a pojawi się następujący ekran:

Wniosek

W tym samouczku nauczyłeś się instalować serwer Samba na CentOS 7 i tworzyć różne typy współdzielonych i użytkowników. Pokazaliśmy również, jak połączyć się z serwerem Samba z urządzeń Linux, macOS i Windows.

samba centos