Co je Samba?
Samba je open-source implementace protokolu Server Message Block (SMB). Umožňuje Linuxu pracovat s operačním systémem Windows jako server i klient. Samba sdílí linuxové soubory a tiskárny se systémy Windows a také umožňuje uživatelům Linuxu přístup k souborům v systémech Windows. Samba používá protokoly NetBIOS přes TCP/IP (NetBT) a nepotřebuje protokol NetBEUI (rámec Microsoft Raw NetBIOS).
Několik balíčků Samba je součástí většiny distribucí Linuxu:
- samba :Poskytuje server SMB/Common Internet File System (CIFS), který lze použít k poskytování síťových služeb klientům SMB/CIFS
- klient samba :Poskytuje některé klienty SMB/CIFS jako doplněk k integrovanému systému souborů SMB/CIFS v Linuxu. Tito klienti umožňují přístup ke sdíleným složkám SMB/CIFS a tisk na tiskárnách SMB/CIFS.
- samba-common :Poskytuje soubory potřebné pro serverové i klientské balíčky Samba
- samba-winbind :Poskytuje démona winbind a klientské nástroje. winbind umožňuje členství Linuxu v doménách Windows a používání uživatelských a skupinových účtů Windows
- samba-winbind-clients :Poskytuje knihovnu Network Security Services (NSS) a Pluggable Authentication Modules (PAM) potřebné pro komunikaci s winbind
Použijte „yum install [package_name] ” pro instalaci balíčků.
# yum install [package_name]
Démoni a služby Samba
Balíček serveru samba obsahuje následující démony a související služby:
- smbd :Démon serveru, který klientům Windows poskytuje služby sdílení souborů a tisku. Je také zodpovědný za ověřování uživatelů, zamykání zdrojů a sdílení dat prostřednictvím protokolu SMB.
- nmbd :Démon jmenného serveru NetBIOS odpovídá na požadavky jmenné služby vytvářené SMB/CIFS v systémech Windows. Poskytuje také podporu procházení v zobrazení Windows Network Neighborhood.
Tyto démony jsou řízeny jejich přidruženými službami, smb a nmb, například:
# systemctl start smb # systemctl start nmb
Balíček samba-winbind obsahuje démona winbindd a související službu:
- winbindd :Řeší informace o uživatelích a skupinách na serveru se systémem Windows a činí tyto informace srozumitelnými pro Linux.
Tento démon je řízen službou winbind:
# systemctl start winbind
Konfigurace serveru Samba
Hlavní konfigurační soubor pro Sambu je /etc/samba/smb.conf . Tento konfigurační soubor je rozdělen do sekcí, z nichž každá začíná textem ohraničeným hranatými závorkami. S výjimkou sekce [global] každá sekce popisuje sdílený zdroj, známý jako „sdílení “. Typické sekce jsou:
Sekce | Popis |
---|---|
[globální] | Definuje globální parametry |
[domy] | Definuje sdílené položky v domovském adresáři |
[tiskárny] | Definuje tiskárny |
[název sdílené položky] | Definuje sdílení |
Parametry v této sekci definují atributy sdílení. Za předpokladu, že jsou globální parametry správně nakonfigurovány, následující příklad definuje sdílenou složku, která každému uživateli Windows uděluje oprávnění pro čtení a zápis do místního adresáře /tmp:
# vi /etc/samba/smb.conf [tmp] comment = Insert a comment here path = /tmp writable = yes guest ok = yes
Viz smb.conf manuálová stránka pro popis všech parametrů, které můžete nastavit v konfiguračním souboru.
# man smb.conf
Existují globální parametry, parametry zabezpečení, parametry protokolování, parametry prohlížeče, parametry komunikace a parametry sdílení. Existuje také několik grafických uživatelských rozhraní pro konfiguraci a správu Samby. Jejich seznam lze nalézt na http://www.samba.org/samba/GUI/.
[domy] sdílet
Samba poskytuje toto sdílení, aby uživatelům usnadnilo sdílení jejich domovských adresářů Linuxu se systémem Windows. Následuje příklad:
# vi /etc/samba/smb.conf [homes] comment = Insert a comment here browsable = no writable = yes
Tato nastavení zabraňují jiným uživatelům než vlastníkům procházet domovské adresáře a zároveň umožňují přihlášeným vlastníkům plný přístup.
Spuštění serveru Samba
Chcete-li spustit server Samba, proveďte níže uvedený příkaz.
# systemctl start smb
Při provádění změn konfigurace v souboru /etc/samba/smb.conf proveďte restart nebo znovu načtěte:
# systemctl restart smb # systemctl reload smb
Argument znovu načíst nezastaví a nespustí službu smb; pouze znovu načte konfigurační soubor. Pomocí příkazu systemctl nakonfigurujte službu tak, aby se spouštěla v době spouštění. Příklad:
# systemctl enable smb
Typy serverů Samba
– Typ serveru se konfiguruje v části [global] souboru /etc/samba/smb.conf.
– Samostatný server může být server pracovní skupiny nebo člen pracovní skupiny.
– server člena domény se přihlásí k řadiči domény a podléhá bezpečnostním pravidlům domény.
– Samba server může být řadičem domény v doméně Windows NT, ale ne v doméně Active Directory.
Další podrobnosti o typech serverů Samba naleznete v níže uvedeném příspěvku.
Jaké jsou různé typy serverů SambaPřístup ke sdíleným položkám Linux ze systému Windows
Chcete-li získat přístup ke sdílené složce na serveru Linux Samba ze systému Windows, otevřete Tento počítač nebo Průzkumník a zadejte název hostitele serveru Samba a název sdílené položky v následujícím formátu:
\\servername\sharename
Pokud zadáte \\název serveru , Windows zobrazí adresáře, které sdílí systém Linux. Síťovou jednotku můžete také namapovat na název sdílené položky pomocí stejné syntaxe.
smbusers File
Aby měl uživatel Windows přístup ke sdílené složce Samba v systému Linux, musí uživatel zadat uživatelské jméno Windows a heslo Samba. Uživatelské jméno systému Windows musí být stejné jako uživatelské jméno systému Linux nebo se musí namapovat na uživatelské jméno systému Linux. Samba ukládá tyto mapy uživatelských jmen do /etc/samba/smbusers soubor. Uživatelé se stejným uživatelským jménem v systémech Linux a Windows nepotřebují záznam v tomto souboru, ale stále potřebují heslo Samba.
Soubor /etc/samba/smbusers má dvě výchozí položky:
root = administrator admin nobody = guest pcguest smbguest
První položka mapuje kořenového uživatele systému Linux na uživatele správce a správce ve Windows. Druhá položka mapuje uživatele Linuxu none na tři uživatelská jména Windows – guest, pcguest, smbguest.
Chcete-li namapovat uživatelské jméno Windows john na uživatelské jméno Linux uživatele user01, přidejte do /etc/samba/smbusers následující položku:
# vi /etc/samba/smbusers user01 = john
Samba používá k ověřování uživatelů hesla Samba, nikoli hesla pro Linux. Přidejte heslo pro uživatele user01 pomocí následujícího příkazu:
# smbpasswd –a user01 New SMB password: Retype new SMB password: Added user oracle.
Přístup ke sdíleným složkám Windows z Linuxu
Existují 2 nástroje pro dotazování serverů Samba:
- findsmb
- smbtree
Použijte findsmb příkaz k dotazu na podsíť pro servery Samba. Příkaz zobrazí IP adresu, název NetBIOS, pracovní skupinu, operační systém a verzi každého nalezeného serveru.
Můžete také použít smbtree příkaz, což je textový síťový prohlížeč SMB. Zobrazuje diagram hierarchie se všemi známými doménami, servery v těchto doménách a sdílenými složkami na serverech.
Plochy GNOME a KDE poskytují správce souborů založené na prohlížeči pro zobrazení sdílených složek Windows v síti. Zadejte smb: na liště umístění správců souborů pro procházení sdílených položek.
Použijte smbclient nástroj pro připojení ke sdílené složce Windows z příkazového řádku. Formát je následující:
smbclient //[servername]/[sharename] [-U [username]]
kdo:\> po úspěšném přihlášení se zobrazí výzva. Napište help pro zobrazení seznamu příkazů. Pro ukončení smbclient zadejte exit.
Chcete-li připojit sdílení Samba, nainstalujte balíček cifs-utils:
# yum install cifs-utils
Použijte mount.cifs příkaz s následujícím formátem pro připojení sdílených složek Samba:
# mount.cifs //[servername]/[sharename] /mount-point -o username=[username],password=[password]