Jak nainstalovat Sambu na Ubuntu pro sdílení souborů ve Windows
Samba je bezplatný/open source a populárně používaný software pro sdílení souborů a tiskových služeb mezi systémy podobnými Unixu, včetně hostitelů Linux a Windows ve stejné síti.
V této příručce si ukážeme, jak nastavit Samba4 pro základní sdílení souborů mezi systémy Ubuntu a počítači se systémem Windows. Pokryjeme dva možné scénáře: anonymní (nezabezpečené) a také zabezpečené sdílení souborů.
Doporučená četba: Jak nainstalovat Samba4 na CentOS/RHEL 7 pro sdílení souborů ve Windows
Upozorňujeme, že počínaje verzí 4.0 lze Sambu používat jako řadič domény (DC) služby Active Directory (AD). Uspořádali jsme speciální sérii pro nastavení Samba4 Active Directory Domain Controller, která obsahuje klíčová témata v Ubuntu, CentOS a Windows.
- Nastavení řadiče domény Samba4 Active Directory
Nainstalujte a nakonfigurujte Sambu v Ubuntu
Server Samba je k dispozici pro instalaci z výchozích repozitářů Ubuntu pomocí nástroje správce balíčků apt, jak je znázorněno.
sudo apt install samba samba-common python-dnspython
Po instalaci serveru samba je nyní čas nakonfigurovat server samba jako: nezabezpečený anonymní a zabezpečené sdílení souborů.
K tomu potřebujeme upravit hlavní konfigurační soubor Samby /etc/samba/smb.conf (který vysvětluje různé konfigurační direktivy).
Nejprve zálohujte původní konfigurační soubor samby následovně.
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.orig
Poté přistoupíme k konfiguraci samby pro anonymní a zabezpečené sdílení souborů, jak je vysvětleno níže.
Důležité: Než budete pokračovat, ujistěte se, že počítač se systémem Windows je ve stejné pracovní skupině, která bude nakonfigurována na serveru Ubuntu.
Zkontrolujte nastavení pracovní skupiny Windows Machine
Přihlaste se do počítače se systémem Windows, klikněte pravým tlačítkem na „Tento počítač“ nebo „Tento počítač“ → Vlastnosti → Pokročilá nastavení systému → Název počítače pro ověření pracovní skupiny.
Případně otevřete příkazový řádek a zobrazte jej spuštěním příkazu níže a vyhledejte „doménu pracovní stanice“.
>net config workstation
Jakmile poznáte svou pracovní skupinu Windows, je čas pokročit vpřed a nakonfigurovat server samba pro sdílení souborů.
Anonymní sdílení souborů Samba
Nejprve začněte vytvořením sdíleného adresáře samba, kde budou soubory uloženy.
sudo mkdir -p /srv/samba/anonymous_shares
Poté nastavte příslušná oprávnění k adresáři.
sudo chmod -R 0775 /srv/samba/anonymous_shares
sudo chown -R nobody:nogroup /srv/samba/anonymous_shares
Nyní otevřete konfigurační soubor.
sudo vi /etc/samba/smb.conf
OR
sudo nano /etc/samba/smb.conf
Dále upravte nebo upravte nastavení direktivy, jak je popsáno níže.
global]
workgroup = WORKGROUP
netbios name = ubuntu
security = user
[Anonymous]
comment = Anonymous File Server Share
path = /srv/samba/anonymous_shares
browsable =yes
writable = yes
guest ok = yes
read only = no
force user = nobody
Nyní ověřte aktuální nastavení samby spuštěním příkazu níže.
testparm
Load smb config files from /etc/samba/smb.conf
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
WARNING: The "syslog" option is deprecated
Processing section "[printers]"
Processing section "[print$]"
Processing section "[Shares]"
Loaded services file OK.
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions
Global parameters
[global]
netbios name = UBUNTU
server string = %h server (Samba, Ubuntu)
server role = standalone server
map to guest = Bad User
obey pam restrictions = Yes
pam password change = Yes
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
unix password sync = Yes
syslog = 0
log file = /var/log/samba/log.%m
max log size = 1000
dns proxy = No
usershare allow guests = Yes
panic action = /usr/share/samba/panic-action %d
idmap config * : backend = tdb
[printers]
comment = All Printers
path = /var/spool/samba
create mask = 0700
printable = Yes
[print$]
comment = Printer Drivers
path = /var/lib/samba/printers
browseable = No
[Anonymous]
comment = Anonymous File Server Share
path = /srv/samba/anonymous_shares
force user = nobody
read only = No
guest ok = Yes
Poté restartujte služby Samba, abyste provedli výše uvedené změny.
sudo systemctl restart smbd [Systemd]
sudo service smbd restart [Sys V]
Testování anonymního sdílení souborů Samba
Přejděte do počítače se systémem Windows a z okna Průzkumníka Windows otevřete „Síť“. Klikněte na hostitele Ubuntu (v našem případě TECMINT) nebo se pokuste o přístup k serveru samba pomocí jeho IP adresy.
\2.168.43.168
Poznámka: Pomocí příkazu ifconfig získejte IP adresu svého serveru Ubuntu.
Poté otevřete adresář Anonymní a zkuste do něj přidat soubory, které chcete sdílet s ostatními uživateli.
Bezpečné sdílení souborů Samba
Chcete-li chránit sdílení samba heslem, musíte vytvořit skupinu „smbgrp“ a nastavit heslo pro každého uživatele. V tomto příkladu používám aaronkilik jako uživatele a heslo jako „tecmint“.
sudo addgroup smbgrp
sudo usermod aaronkilik -aG smbgrp
sudo smbpasswd -a aaronkilik
Poznámka: Režim zabezpečení samba: security=user vyžaduje, aby klienti zadali uživatelské jméno a heslo pro připojení ke sdíleným složkám.
Uživatelské účty Samba jsou oddělené od systémových účtů, můžete si však volitelně nainstalovat balíček libpam-winbind, který se používá k synchronizaci systémových uživatelů a hesel s databází uživatelů samby.
sudo apt install libpam-winbind
Poté vytvořte zabezpečený adresář, kde budou sdílené soubory uloženy.
sudo mkdir -p /srv/samba/secure_shares
Dále nastavte příslušná oprávnění k adresáři.
sudo chmod -R 0770 /srv/samba/secure_shares
sudo chown -R root:smbgrp /srv/samba/secure_shares
Nyní otevřete konfigurační soubor.
sudo vi /etc/samba/smb.conf
OR
sudo nano /etc/samba/smb.conf
Dále upravte nebo upravte nastavení direktivy, jak je popsáno níže.
[Secure]
comment = Secure File Server Share
path = /srv/samba/secure_shares
valid users = @smbgrp
guest ok = no
writable = yes
browsable = yes
Stejně jako předtím spusťte tento příkaz, abyste viděli aktuální nastavení samby.
testparm
Load smb config files from /etc/samba/smb.conf
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
WARNING: The "syslog" option is deprecated
Processing section "[printers]"
Processing section "[print$]"
Processing section "[Shares]"
Loaded services file OK.
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions
Global parameters
[global]
netbios name = UBUNTU
server string = %h server (Samba, Ubuntu)
server role = standalone server
map to guest = Bad User
obey pam restrictions = Yes
pam password change = Yes
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
unix password sync = Yes
syslog = 0
log file = /var/log/samba/log.%m
max log size = 1000
dns proxy = No
usershare allow guests = Yes
panic action = /usr/share/samba/panic-action %d
idmap config * : backend = tdb
[printers]
comment = All Printers
path = /var/spool/samba
create mask = 0700
printable = Yes
[print$]
comment = Printer Drivers
path = /var/lib/samba/printers
browseable = No
[Anonymous]
comment = Anonymous File Server Share
path = /srv/samba/anonymous_shares
force user = nobody
read only = No
guest ok = Yes
[Secure]
comment = Secure File Server Share
path = /srv/samba/secure_shares
valid users = @smbgrp
read only = No
Jakmile provedete výše uvedené konfigurace, restartujte služby Samba, aby se změny projevily.
sudo systemctl restart smbd [Systemd]
sudo service smbd restart [Sys V]
Testování bezpečného sdílení souborů Samba
Stejně jako dříve na počítači se systémem Windows a otevřete „Síť “ z okna Průzkumníka Windows. Klikněte na hostitele Ubuntu (v našem případě TECMINT). Pokud ne, můžete přejít k dalšímu kroku.
Zkuste se k serveru připojit pomocí jeho IP adresy, např. Líbí se mi to \\192.168.43.168
. Poté zadejte přihlašovací údaje (uživatelské jméno a heslo) pro uživatele aaronkilik a klikněte na OK.
Nyní uvidíte všechny sdílené adresáře, kliknutím na Zabezpečit je otevřete.
Některé soubory můžete bezpečně sdílet s jinými povolenými uživateli v síti jejich přetažením do tohoto adresáře.
Povolte Sambu v UFW Firewallu v Ubuntu
Pokud máte ve svém systému povolený/aktivní firewall UFW, musíte přidat pravidla, která Sambě umožní projít vaším firewallem.
K otestování jsme použili schéma sítě 192.168.43.0. Spusťte níže uvedené příkazy a zadejte svou síťovou adresu.
sudo ufw allow proto udp to any port 137 from 192.168.43.0/24
sudo ufw allow proto udp to any port 138 from 192.168.43.0/24
sudo ufw allow proto tcp to any port 139 from 192.168.43.0/24
sudo ufw allow proto tcp to any port 445 from 192.168.43.0/24
Můžete se také podívat na tyto užitečné články týkající se sdílení souborů Samba v síti.
- Nastavení řadiče domény Samba4 Active Directory – část 1 až 14
- Jak připojit/odpojit místní a síťové (Samba a NFS) souborové systémy v Linuxu
- Použití seznamů ACL (Access Control List) a připojení sdílených složek Samba/NFS
- Jak opravit chybu zabezpečení SambaCry (CVE-2017-7494) v systémech Linux
To je vše! V této příručce jsme vám ukázali, jak nastavit Samba4 pro anonymní a bezpečné sdílení souborů mezi počítači Ubuntu a Windows. Chcete-li se s námi podělit o jakékoli myšlenky, použijte níže uvedený formulář zpětné vazby.