Настройка SAMBA в Debian 9: Часть 1
Spisu treści:
- Wymagania wstępne
- Instalowanie Samby na Ubuntu
- Konfigurowanie zapory ogniowej
- Konfigurowanie globalnych opcji samby
- Tworzenie użytkowników Samby i struktury katalogów
- Tworzenie użytkowników Samby
- Konfigurowanie udziałów Samby
- Podłączanie do udziału Samba z Linuksa
- Korzystanie z klienta smbclient
- Montowanie udziału Samba
- Korzystanie z GUI
- Wniosek
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 wyjaśniono, jak zainstalować Sambę na Ubuntu 18.04 i skonfigurować ją jako samodzielny serwer, aby udostępniać pliki między różnymi systemami operacyjnymi w sieci.
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 również szczegółowe instrukcje dotyczące łączenia się z serwerem Samba z klientów Linux, Windows i macOS.
Wymagania wstępne
Przed kontynuowaniem upewnij się, że jesteś zalogowany w systemie Ubuntu 18.04 jako użytkownik z uprawnieniami sudo.
Instalowanie Samby na Ubuntu
Samba jest dostępna w oficjalnych repozytoriach Ubuntu. Aby zainstalować go w systemie Ubuntu, wykonaj następujące czynności:
-
Zacznij od aktualizacji indeksu apt pakietów:
sudo apt updateZainstaluj pakiet Samba za pomocą następującego polecenia:
sudo apt install sambaPo zakończeniu instalacji usługa Samba uruchomi się automatycznie. Aby sprawdzić, czy serwer Samba jest uruchomiony, wpisz:
sudo systemctl status smbdDane wyjściowe powinny wyglądać mniej więcej tak, jak poniżej, wskazując, że usługa Samba jest aktywna i działa:
● smbd.service - Samba SMB Daemon Loaded: loaded (/lib/systemd/system/smbd.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2019-11-27 09:25:38 UTC; 2min 12s ago Docs: man:smbd(8) man:samba(7) man:smb.conf(5) Main PID: 15142 (smbd) Status: "smbd: ready to serve connections…" Tasks: 4 (limit: 1152) CGroup: /system.slice/smbd.service…
W tym momencie Samba została zainstalowana i jest gotowa do skonfigurowania.
Konfigurowanie zapory ogniowej
Zakładając, że korzystasz z
UFW
do zarządzania zaporą, możesz otworzyć porty, włączając profil „Samba”:
Konfigurowanie globalnych opcji samby
Przed wprowadzeniem zmian w pliku konfiguracyjnym Samby utwórz kopię zapasową do wykorzystania w przyszłości:
sudo cp /etc/samba/smb.conf{,.backup}
Domyślny plik konfiguracyjny dostarczany z pakietem Samba jest skonfigurowany dla autonomicznego serwera Samba. Otwórz plik i upewnij się, że
server role
jest ustawiona na
standalone server
sudo nano /etc/samba/smb.conf
/etc/samba/smb.conf
… # Most people will want "standalone sever" or "member server". # Running as "active directory domain controller" will require first # running "samba-tool domain provision" to wipe databases and create a # new domain. server role = standalone server…
Domyślnie Samba nasłuchuje na wszystkich interfejsach. Jeśli chcesz ograniczyć dostęp do serwera Samba tylko z sieci wewnętrznej, odkomentuj następujące dwa wiersze i określ interfejsy, z którymi chcesz się połączyć:
/etc/samba/smb.conf
… # The specific set of interfaces / networks to bind to # This can be either the interface name or an IP address/netmask; # interface names are normally preferred interfaces = 127.0.0.0/8 eth0 # Only bind to the named interfaces and/or networks; you must use the # 'interfaces' option above to use this. # It is recommended that you enable this feature if your Samba machine is # not protected by a firewall or is a firewall itself. However, this # option cannot handle dynamic or non-broadcast interfaces correctly. bind interfaces only = yes…
Po zakończeniu uruchom narzędzie
testparm
, aby sprawdzić plik konfiguracyjny Samby pod kątem błędów. Jeśli nie wystąpią żadne błędy składniowe, zobaczysz
Loaded services file OK.
Na koniec zrestartuj usługi Samba za pomocą:
sudo systemctl restart smbd
sudo systemctl restart nmbd
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
.
Aby utworzyć katalog
/samba
:
sudo mkdir /samba
Ustaw własność grupy na
sambashare
. Ta grupa jest tworzona podczas instalacji Samby, później dodamy wszystkich użytkowników Samby do tej grupy.
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 grupysambashare.
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 celu uruchomienia konta Samba:
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ąca komenda
chmod
daje dostęp do zapisu / odczytu członkom grupy
sambashare
w katalogu
/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 nanoinny użytkownik nie będzie mógł zobaczyć udziału.read only- czy użytkownicy wskazani na liścievalid usersmogą 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 smbd
sudo systemctl restart nmbd
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.
- 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/sharenameKliknij „Połącz”, a pojawi się następujący ekran:








Wniosek
W tym samouczku nauczyłeś się, jak zainstalować serwer Samba na Ubuntu 18.04 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 ubuntuJak zainstalować i skonfigurować serwer NFS na Ubuntu 18.04
Network File System (NFS) to protokół rozproszonego systemu plików, który umożliwia udostępnianie zdalnych katalogów przez sieć. W tym samouczku omówimy, jak skonfigurować serwer NFSv4 w systemie Ubuntu 18.04.
Jak zainstalować i skonfigurować Redis na Ubuntu 18.04
Redis to otwarta struktura danych w pamięci. Może być używany jako baza danych, pamięć podręczna i broker komunikatów i obsługuje różne struktury danych, takie jak ciągi, skróty, listy, zestawy itp. W tym samouczku opisano, jak zainstalować i skonfigurować Redis na serwerze Ubuntu 18.04.
Jak zainstalować i skonfigurować sambę na Centos 7
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ć.
















