Cíl
Cílem je provést základní konfiguraci serveru Samba na Debian 9 Stretch Linuxu pro zajištění přístupu ke sdíleným položkám Samba prostřednictvím klientského počítače MS Windows.
Verze operačního systému a softwaru
- Operační systém: – Debian 9 Stretch
- Software: – Samba 4.5.8-Debian
Požadavky
Bude vyžadován privilegovaný přístup k vašemu systému Debian.
Obtížnost
SNADNÉ
Konvence
- # – vyžaduje, aby dané linuxové příkazy byly spouštěny s právy root buď přímo jako uživatel root, nebo pomocí
sudo
příkaz - $ – vyžaduje, aby dané linuxové příkazy byly spouštěny jako běžný neprivilegovaný uživatel
Scénář
Níže uvedený postup konfigurace předpokládá následující scénář a předem nakonfigurované požadavky:
- Server a klient MS Windows jsou umístěny ve stejné síti a žádnou komunikaci mezi nimi neblokuje žádný firewall
- Klient MS Windows dokáže přeložit server samba podle názvu hostitele
samba-server
- Doména Workgroup klienta MS Windows je
WORKGROUP
Pokyny
Instalace
Začněme instalací serveru Samba:
# apt install samba
Kromě toho se pro účely testování také doporučuje nainstalovat klienta samba:
# apt install smbclient
Nyní by měl být ve vašem systému spuštěn server Samba:
# systemctl status smbd ● smbd.service - Samba SMB Daemon Loaded: loaded (/lib/systemd/system/smbd.service; enabled; vendor preset: enabled) Active: active (running) since Tue 2017-06-13 10:35:34 AEST; 3min 32s ago Docs: man:smbd(8) man:samba(7) man:smb.conf(5) Main PID: 1654 (smbd) Status: "smbd: ready to serve connections..." CGroup: /system.slice/smbd.service ├─1654 /usr/sbin/smbd ├─1655 /usr/sbin/smbd ├─1656 /usr/sbin/smbd └─1659 /usr/sbin/smbd
Výchozí konfigurace Samby
Hlavní konfigurační soubor Samby se nazývá /etc/samba/smb.conf
. Než začneme upravovat smb.conf
konfiguračního souboru, udělejme zálohu původního konfiguračního souboru a extrahujeme řádky relevantní pro aktuální konfiguraci do nového smb.conf
soubor:
# cp /etc/samba/smb.conf /etc/samba/smb.conf_backup # grep -v -E "^#|^;" /etc/samba/smb.conf_backup | grep . > /etc/samba/smb.conf
Váš nový /etc/samba/smb.conf
by nyní měl obsahovat:
# cat /etc/samba/smb.conf [global] workgroup = WORKGROUP dns proxy = no log file = /var/log/samba/log.%m max log size = 1000 syslog = 0 panic action = /usr/share/samba/panic-action %d server role = standalone server passdb backend = tdbsam obey pam restrictions = yes unix password sync = yes passwd program = /usr/bin/passwd %u passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* . pam password change = yes map to guest = bad user usershare allow guests = yes [homes] comment = Home Directories browseable = no read only = yes create mask = 0700 directory mask = 0700 valid users = %S [printers] comment = All Printers browseable = no path = /var/spool/samba printable = yes guest ok = no read only = yes create mask = 0700 [print$] comment = Printer Drivers path = /var/lib/samba/printers browseable = yes read only = yes guest ok = no
Restartujte server samby a pomocí klienta SMB potvrďte všechny exportované skupiny samby:
# systemctl restart smbd # smbclient -L localhost WARNING: The "syslog" option is deprecated Enter root's password: Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.5.8-Debian] Sharename Type Comment --------- ---- ------- print$ Disk Printer Drivers IPC$ IPC IPC Service (Samba 4.5.8-Debian) Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.5.8-Debian] Server Comment --------- ------- LASERPRINTER LINUXCONFIG Samba 4.5.8-Debian Workgroup Master --------- ------- WORKGROUP LINUXCONFIG
Přidat uživatele
Samba má svůj vlastní systém správy uživatelů. Každý uživatel na seznamu uživatelů samby však musí existovat také v /etc/passwd
soubor. Z tohoto důvodu vytvořte nového uživatele pomocí useradd
před vytvořením nového uživatele Samby. Jakmile váš nový uživatel systému, např. linuxconfig
ukončete, použijte smbpasswd
příkaz k vytvoření nového uživatele Samby:
# smbpasswd -a linuxconfig New SMB password:
Sdílení domovských adresářů Samba
Ve výchozím nastavení jsou všechny domovské adresáře exportovány pouze pro čtení a nelze je browseable
. Chcete-li změnit toto výchozí nastavení konfigurace, změňte aktuální homes
sdílet definici pro:
[homes] comment = Home Directories browseable = yes read only = no create mask = 0700 directory mask = 0700 valid users = %S
Pokaždé, když provedete změnu v /etc/samba/smb.conf
konfiguračního souboru nezapomeňte restartovat démona serveru samba:
# systemctl restart smbd
Samba Public Anonymous Share
Následující definice Samby umožní každému uživateli číst a zapisovat data do sdílení Samba pod /var/samba/
adresář. Nejprve vytvořte nový adresář a zpřístupněte jej komukoli:
# mkdir /var/samba # chmod 777 /var/samba/
Dále přidejte novou definici sdílení samba do /etc/samba/smb.conf
Konfigurační soubor Samby:
[public] comment = public anonymous access path = /var/samba/ browsable =yes create mask = 0660 directory mask = 0771 writable = yes guest ok = yes
Restartujte démona serveru samba:
# systemctl restart smbd
Připojit sdílení Samba
Nyní jsme připraveni obrátit naši pozornost na mapu strojů a sítí MS Windows v našich nových sdílených adresářích Samba. Začněte sepsáním všech dostupných sdílení podle \\\samba-server
provedení příkazu:
Pokud vše proběhlo v pořádku, měli byste vidět seznam všech procházení samba sdílení:
Dále namapujte libovolný ze sdílených adresářů kliknutím pravým tlačítkem na sdílenou složku a výběrem
Map Network Drive...
volba. Zaškrtněte, Connect using different credentials
a dokončete mapování síťové jednotky zadáním uživatelských pověření vytvořených v předchozích krocích:
Příloha
Seznam uživatelů Samby:
# pdbedit -w -L
Smazat uživatele Samby:
# pdbedit -x -u username