Klient sítě Windows: Porovnání verzí

Z Milan Kerslager
Přejít na: navigace, hledání
(Klient domény: doplnění)
m (Zjišťování informací z domény: fix)
 
(Není zobrazeno 20 mezilehlých verzí od stejného uživatele.)
Řádka 1: Řádka 1:
 
Součástí projektu Samba je i klientská část, která spolupracuje s modulem v jádře linuxu a umožňuje tak Linuxu využívat služby v síti Windows. Protistranou může být jak stanice (či server) s MS Windows, tak jiná Samba (která může být spuštěna na Linuxu, Mac OS X nebo i jiném systému).
 
Součástí projektu Samba je i klientská část, která spolupracuje s modulem v jádře linuxu a umožňuje tak Linuxu využívat služby v síti Windows. Protistranou může být jak stanice (či server) s MS Windows, tak jiná Samba (která může být spuštěna na Linuxu, Mac OS X nebo i jiném systému).
  
== Člen ADS ==
+
== Klient AD nebo DC ==
Samba může být členem domény, ve které si počítače důvěřují (a sdílejí například informace o uživatelských účtech).
+
Samba může být členem AD (Active Directory) nebo klasické domény s DC (Domain Controller), ve které si počítače (servery) důvěřují a sdílejí zejména informace o uživatelských účtech. Aby Samba mohla komunikovat s ostatními servery začleněnými v AD nebo DC, musí být nejprve mezi ní a AD nebo servery DC vytvořen vztah důvěry. Tomuto aktu, kdy si obě strany u sebe uloží autentizační informace, podle kterých si dále navzájem mezi sebou při komunikaci prokazují svoji identitu, se říká „vstup do domény“.
  
Soubor /etc/samba/smb.conf změňte tak, aby obsahoval:
+
Soubor <code>/etc/samba/smb.conf</code> změňte tak, aby obsahoval:
  
 +
[global]
 +
  security = domain
 
   workgroup = oalib.cz
 
   workgroup = oalib.cz
 
   password server = *
 
   password server = *
  security = domain
 
 
   idmap config * : range = 16777216-33554431
 
   idmap config * : range = 16777216-33554431
   template shell = /bin/false
+
   template shell = /bin/bash
 
   winbind use default domain = yes
 
   winbind use default domain = yes
 
   winbind offline logon = false
 
   winbind offline logon = false
   wins server = 11.0.0.243
+
   wins server = 10.0.0.2
 +
 
 +
Parametr <code>security=domain</code> definuje stanici jako klienta domény windows (server je PDC nebo BDC), jejíž název je určen parametrem <code>workgroup</code>. Parametr <code>password server</code> může obsahovat IP adresu PDC nebo BDC, ale je možné zde uvést hvězdičku, takže klient si jeho adresu zjistí sám. Parametr <code>idmap config</code> slouží k definování volné oblasti UID (identifikační číslo uživatele), které by nesmí kolidovat s lokálními uživateli. Parametr <code>template shell</code> definuje shell pro uživatele, který po úspěšném přihlášení (úspěšné autentizaci proti doméně) na klientovi vznikne. Musí to být platný shell, který je obsažen v souboru <code>/etc/shells</code> a obvykle je přihlašovací bezpečnostní politika nastavena tak, že to musí být skutečný shell, aby se dalo přihlásit do grafického rozhraní. Parametr <code>winbind use default domain=yes</code> umožní, aby přihlašující se uživatel nemusel doménu uvádět (uvedenou v parametru workgroup). Parametr winbind offline logon umožňuje přihlášení i bez dostupnosti řadičů domény (PDC, BDC). Parametr wins server obsahuje IP adresu WINS serveru, který usnadní rozpoznávání jmen počítačů v síti Windows.
 +
 
 +
=== Kontrola smb.conf ===
 +
Provedené změny v <code>/etc/samba/smb.conf</code> zkontrolujte příkazem <code>testparm</code>.
  
 +
=== Kontrola dostupnosti serveru (AD, DC) ===
 +
Zajistěte, že je na severu vytvořen uživatel a znáte jeho heslo nebo že je na serveru dovolen přístup anonymního uživatele. Nejprve zkuste kontaktovat server (se Sambou v roli AD nebo DC) pomocí IP adresy, a pak pomocí (NetBIOS) jména. Přepínač <code>-U</code> umožňuje uvést uživatele, který se bude serveru dotazovat. Příkaz <code>smbclient</code> se zeptá na heslo, pokud je při výpisu systémových prostředků potřeba. Pokud se autentizace nezdaří (heslo není správně, pokusí se příkaz o výpis prostředků jako anonymní uživatel.
 +
 +
smbclient -L //10.0.0.2
 +
smbclient -U huzva -L //10.0.0.2
 +
smbclient -L //jmenoserveru
 +
smbclient -U huzva -L //jmenoserveru
 +
 +
Pokud nefunguje kontaktování serveru podle jména, ujistěte se, že funguje převod jména počítače na IP adresu pomocí DNS (příkaz <code>ping&nbsp;jmenoserveru</code>). Místo DNS lze použít i NetBIOS jména (používaná v sítích Windows), avšak v takovém případě musí na klientovi být správně nakonfigurována adresa WINS serveru (viz výše v nastavení <code>/etc/samba/smb.conf</code>).
 +
 +
ping jmenoserveru
 +
 +
I když je server dostupný příkazem ping, nemusí být komunikace s ním pomocí SMB protokolu možná v případě, že je na klientovi nastaven restriktivní firewall. Vypnout ho můžete například pomocí následujících příkazů (poslední příkaz vypíše aktuální nastavení pravidel firewallu):
 +
 +
systemctl stop iptables.service
 +
iptables -F
 +
iptables -X
 +
iptables -n -L
 +
 +
=== Active Directory ===
 
Do ADS (doména či Active Directory) vstoupíte příkazem:
 
Do ADS (doména či Active Directory) vstoupíte příkazem:
  
 
  net ads join oalib.cz
 
  net ads join oalib.cz
  
Při vstupu do domény je potřeba heslo správce domény (root, administrator). Informace se ukládají do souboru /var/lib/samba/private/secrets.tdb. Na severu je automaticky vytvořen účet stanice s přidaným znakem $ na konci.
+
Při vstupu do domény je potřeba heslo správce domény (root, administrator). Informace se ukládají do souboru <code>/var/lib/samba/private/secrets.tdb</code>. Na severu je automaticky vytvořen účet stanice s přidaným znakem $ na konci.
  
=== Test, opuštění domény ===
+
==== Test, opuštění domény ====
  
 
  net ads status
 
  net ads status
Řádka 30: Řádka 56:
 
  pdbedit -Lw merlin\$
 
  pdbedit -Lw merlin\$
  
== Klient domény ==
+
=== Klasická Doména Windows ===
Stanice může být členem domény, pak přejímá od serveru informace o účtech uživatelů, kteří jsou v doméně nadefinováni. Server (PDC) sděluje informace klientovi jen za předpokladu, že je vztah důvěry navázán. Nejčastěji se používá pro ověření přihlašovacích informací (jméno+heslo).
+
Vstup do klasické domény, která je řízena PDC (Primary Domain Controller), resp. BDC (Backup Domain Controller) probíhá podobně, jako připojení k AD. Stanice pak přejímá od serveru informace o účtech uživatelů, kteří jsou v doméně nadefinováni. Server (PDC, BDC) sděluje informace klientovi jen za předpokladu, že je vztah důvěry navázán. Nejčastěji se používá pro ověření přihlašovacích informací uživatelů (jméno+heslo).
  
Soubor /etc/samba/smb.conf změňte tak, aby obsahoval:
+
Na klientovi (tj. stanice s Linuem) přidejte do souboru <code>/etc/samba/smb.conf</code> ještě následující řádky:
  
   workgroup = oalib.cz
+
   client lanman auth = yes
  password server = *
+
   client plaintext auth = yes
  security = domain
 
   idmap config * : range = 16777216-33554431
 
  template shell = /bin/false
 
  winbind use default domain = yes
 
  winbind offline logon = false
 
  wins server = 11.0.0.243
 
  
Test dostupnosti DC (domain controller) musí správně vypsat IP adresu doménového řadiče (PDC, BDC).
+
Aby bylo možné použít v síti pro rozlišení jmen počítačů i jejich „windows“ jména, je potřeba zařadit tento požadavek do konfigurace knihovny pro resolver, tj. do souboru <code>/etc/nsswitch.conf</code> společně s identifikací uživatele pomocí démona windbind:
  
  net loookup dc oalib.cz
+
  passwd:    files winbind
 +
shadow:    files winbind
 +
group:      files winbind
 +
hosts:      files dns wins
  
Adresa DC se získává tak, že se nejdříve zjistí řadiče domény, které mohou být zapsány v souboru /etc/samba/smb.conf, dále z dat, která jsou dočasně uložena na lokálním disku v souborech /var/lib/samba/gencache* a následně pak z dotazu na WINS server. Pokud jsou data špatně, je nutné zastavit Sambu (a tím i WINS server), smazat jeho cache v souboru /var/lib/samba/wins.tdb, a pak smazat i cache na lokálním počítači.
+
Na řádku s <code>hosts:</code> je definováno, že při požadavku převodu jména na IP adresu bude nejprve využit obsah souboru <code>/etc/hosts</code>, poté klasické DNS a poté i informace od WINS serveru (jehož adresa je definována v <code>/etc/samba/smb.conf</code>).
 +
 
 +
==== Vstup do domény ====
 +
Pokud je <code>/etc/samba/smb.conf</code> správně nastaven, stanice (snadno a správně) zjistí, kdo je řadič domény (tj. PDC, BDC). Test dostupnosti DC (domain controller, řadič domény) tedy musí vypsat IP adresu (či více adres).
 +
 
 +
net lookup dc oalib.cz
 +
 
 +
Adresa DC se získává tak, že se nejdříve zjistí řadiče domény, které mohou být zapsány v souboru /etc/samba/smb.conf, dále z dat, která jsou dočasně uložena na lokálním disku a následně pak z dotazu na WINS server. Pokud jsou data špatně, je nutné zastavit řadič domény (tj. Sambu a tím i WINS server), smazat cache WINS serveru v souboru <code>/var/lib/samba/wins.tdb</code> a <code>wbinfo --user-info </code>, a pak smazat i cache na lokálním počítači v souborech <code>/var/lib/samba/gencache*</code>.
  
 
Pokud je zjištění DC správně, použijte pro vstup klientské stanice do domény příkaz:
 
Pokud je zjištění DC správně, použijte pro vstup klientské stanice do domény příkaz:
Řádka 54: Řádka 84:
 
  net rpc join oalib.cz
 
  net rpc join oalib.cz
  
=== Kontrola ===
+
==== Kontrola členství v doméně ====
  
 
  net rpc info
 
  net rpc info
 
  net rpc testjoin
 
  net rpc testjoin
 +
 +
=== Zjišťování informací z domény ===
 +
Po vstupu do domény lze z klienta zjišťovat informace o uživateli:
 +
 +
wbinfo --user-info john
 +
wbinfo --user-groups john
 +
wbinfo --gid-info <číslo-skupiny>
 +
wbinfo --pam-logon john
 +
wbinfo --authenticate john
 +
 +
Pokud příkaz <code>wbinfo</code> hlásí chybu WBC_ERR_WINBIND_NOT_AVAILABLE, neběží na klientovi démon winbind. Zkuste stav démona otestovat, a pak ho restartovat:
 +
 +
systemctl status winbind.service
 +
systemctl restart winbind.service
 +
 +
Na serveru zkontrolujte existenci účtu počítače, který tam automaticky vznikl. K názvu počítače (klienta, který do domény vstoupil) připojte při dotazu na Samba serveru znak dolar („$“), čímž se odlišují běžné uživatelské účty od účtů počítačů. Slovo „merlin“ nahraďte jménem vstupujícího počítače (zjistíte ho na vstupujícím klientovi, resp. stanici, příkazem <code>hostname</code>):
 +
 +
pdbedit -Lw merlin\$
 +
 +
=== Výstup z domény ===
  
 
== Externí odkazy ==
 
== Externí odkazy ==
 
* http://www.samba.org/samba/docs/man/Samba-HOWTO-Collection/NetCommand.html
 
* http://www.samba.org/samba/docs/man/Samba-HOWTO-Collection/NetCommand.html
 
* http://www.samba.org/samba/docs/man/Samba-HOWTO-Collection/domain-member.html
 
* http://www.samba.org/samba/docs/man/Samba-HOWTO-Collection/domain-member.html
 +
* http://www.samba.org/samba/docs/man/manpages-3/winbindd.8.html

Aktuální verze z 10. 9. 2013, 21:12

Součástí projektu Samba je i klientská část, která spolupracuje s modulem v jádře linuxu a umožňuje tak Linuxu využívat služby v síti Windows. Protistranou může být jak stanice (či server) s MS Windows, tak jiná Samba (která může být spuštěna na Linuxu, Mac OS X nebo i jiném systému).

Klient AD nebo DC

Samba může být členem AD (Active Directory) nebo klasické domény s DC (Domain Controller), ve které si počítače (servery) důvěřují a sdílejí zejména informace o uživatelských účtech. Aby Samba mohla komunikovat s ostatními servery začleněnými v AD nebo DC, musí být nejprve mezi ní a AD nebo servery DC vytvořen vztah důvěry. Tomuto aktu, kdy si obě strany u sebe uloží autentizační informace, podle kterých si dále navzájem mezi sebou při komunikaci prokazují svoji identitu, se říká „vstup do domény“.

Soubor /etc/samba/smb.conf změňte tak, aby obsahoval:

[global]
  security = domain
  workgroup = oalib.cz
  password server = *
  idmap config * : range = 16777216-33554431
  template shell = /bin/bash
  winbind use default domain = yes
  winbind offline logon = false
  wins server = 10.0.0.2

Parametr security=domain definuje stanici jako klienta domény windows (server je PDC nebo BDC), jejíž název je určen parametrem workgroup. Parametr password server může obsahovat IP adresu PDC nebo BDC, ale je možné zde uvést hvězdičku, takže klient si jeho adresu zjistí sám. Parametr idmap config slouží k definování volné oblasti UID (identifikační číslo uživatele), které by nesmí kolidovat s lokálními uživateli. Parametr template shell definuje shell pro uživatele, který po úspěšném přihlášení (úspěšné autentizaci proti doméně) na klientovi vznikne. Musí to být platný shell, který je obsažen v souboru /etc/shells a obvykle je přihlašovací bezpečnostní politika nastavena tak, že to musí být skutečný shell, aby se dalo přihlásit do grafického rozhraní. Parametr winbind use default domain=yes umožní, aby přihlašující se uživatel nemusel doménu uvádět (uvedenou v parametru workgroup). Parametr winbind offline logon umožňuje přihlášení i bez dostupnosti řadičů domény (PDC, BDC). Parametr wins server obsahuje IP adresu WINS serveru, který usnadní rozpoznávání jmen počítačů v síti Windows.

Kontrola smb.conf

Provedené změny v /etc/samba/smb.conf zkontrolujte příkazem testparm.

Kontrola dostupnosti serveru (AD, DC)

Zajistěte, že je na severu vytvořen uživatel a znáte jeho heslo nebo že je na serveru dovolen přístup anonymního uživatele. Nejprve zkuste kontaktovat server (se Sambou v roli AD nebo DC) pomocí IP adresy, a pak pomocí (NetBIOS) jména. Přepínač -U umožňuje uvést uživatele, který se bude serveru dotazovat. Příkaz smbclient se zeptá na heslo, pokud je při výpisu systémových prostředků potřeba. Pokud se autentizace nezdaří (heslo není správně, pokusí se příkaz o výpis prostředků jako anonymní uživatel.

smbclient -L //10.0.0.2
smbclient -U huzva -L //10.0.0.2
smbclient -L //jmenoserveru
smbclient -U huzva -L //jmenoserveru

Pokud nefunguje kontaktování serveru podle jména, ujistěte se, že funguje převod jména počítače na IP adresu pomocí DNS (příkaz ping jmenoserveru). Místo DNS lze použít i NetBIOS jména (používaná v sítích Windows), avšak v takovém případě musí na klientovi být správně nakonfigurována adresa WINS serveru (viz výše v nastavení /etc/samba/smb.conf).

ping jmenoserveru

I když je server dostupný příkazem ping, nemusí být komunikace s ním pomocí SMB protokolu možná v případě, že je na klientovi nastaven restriktivní firewall. Vypnout ho můžete například pomocí následujících příkazů (poslední příkaz vypíše aktuální nastavení pravidel firewallu):

systemctl stop iptables.service
iptables -F
iptables -X
iptables -n -L

Active Directory

Do ADS (doména či Active Directory) vstoupíte příkazem:

net ads join oalib.cz

Při vstupu do domény je potřeba heslo správce domény (root, administrator). Informace se ukládají do souboru /var/lib/samba/private/secrets.tdb. Na severu je automaticky vytvořen účet stanice s přidaným znakem $ na konci.

Test, opuštění domény

net ads status
net ads leave

Na Samba serveru je možné ověřit účet stanice výpisem z interní databáze Samby pomocí příkazu (merlin je název připojené stanice):

pdbedit -Lw merlin\$

Klasická Doména Windows

Vstup do klasické domény, která je řízena PDC (Primary Domain Controller), resp. BDC (Backup Domain Controller) probíhá podobně, jako připojení k AD. Stanice pak přejímá od serveru informace o účtech uživatelů, kteří jsou v doméně nadefinováni. Server (PDC, BDC) sděluje informace klientovi jen za předpokladu, že je vztah důvěry navázán. Nejčastěji se používá pro ověření přihlašovacích informací uživatelů (jméno+heslo).

Na klientovi (tj. stanice s Linuem) přidejte do souboru /etc/samba/smb.conf ještě následující řádky:

 client lanman auth = yes
 client plaintext auth = yes

Aby bylo možné použít v síti pro rozlišení jmen počítačů i jejich „windows“ jména, je potřeba zařadit tento požadavek do konfigurace knihovny pro resolver, tj. do souboru /etc/nsswitch.conf společně s identifikací uživatele pomocí démona windbind:

passwd:     files winbind
shadow:     files winbind
group:      files winbind
hosts:      files dns wins

Na řádku s hosts: je definováno, že při požadavku převodu jména na IP adresu bude nejprve využit obsah souboru /etc/hosts, poté klasické DNS a poté i informace od WINS serveru (jehož adresa je definována v /etc/samba/smb.conf).

Vstup do domény

Pokud je /etc/samba/smb.conf správně nastaven, stanice (snadno a správně) zjistí, kdo je řadič domény (tj. PDC, BDC). Test dostupnosti DC (domain controller, řadič domény) tedy musí vypsat IP adresu (či více adres).

net lookup dc oalib.cz

Adresa DC se získává tak, že se nejdříve zjistí řadiče domény, které mohou být zapsány v souboru /etc/samba/smb.conf, dále z dat, která jsou dočasně uložena na lokálním disku a následně pak z dotazu na WINS server. Pokud jsou data špatně, je nutné zastavit řadič domény (tj. Sambu a tím i WINS server), smazat cache WINS serveru v souboru /var/lib/samba/wins.tdb a wbinfo --user-info , a pak smazat i cache na lokálním počítači v souborech /var/lib/samba/gencache*.

Pokud je zjištění DC správně, použijte pro vstup klientské stanice do domény příkaz:

net rpc join oalib.cz

Kontrola členství v doméně

net rpc info
net rpc testjoin

Zjišťování informací z domény

Po vstupu do domény lze z klienta zjišťovat informace o uživateli:

wbinfo --user-info john
wbinfo --user-groups john
wbinfo --gid-info <číslo-skupiny>
wbinfo --pam-logon john
wbinfo --authenticate john

Pokud příkaz wbinfo hlásí chybu WBC_ERR_WINBIND_NOT_AVAILABLE, neběží na klientovi démon winbind. Zkuste stav démona otestovat, a pak ho restartovat:

systemctl status winbind.service
systemctl restart winbind.service

Na serveru zkontrolujte existenci účtu počítače, který tam automaticky vznikl. K názvu počítače (klienta, který do domény vstoupil) připojte při dotazu na Samba serveru znak dolar („$“), čímž se odlišují běžné uživatelské účty od účtů počítačů. Slovo „merlin“ nahraďte jménem vstupujícího počítače (zjistíte ho na vstupujícím klientovi, resp. stanici, příkazem hostname):

pdbedit -Lw merlin\$

Výstup z domény

Externí odkazy