Instalace Samba
Samba 3.0, na rozdíl od starších verzí Samba, umí pracovat v sítích Windows, které běží v režimu Active Directory (nebo v nativním režimu Windows 2000). Pokud je tato funkce požadována, nainstalujte balík samba3-3.0 místo samba-2.2.
Active Directory používá jiný schéma pojmenování domén, počítačů a uživatelů založené na DNS. Předpokládejme, že existuje síť s názvem my.firm.com a počítači host1.my.firm.com, host2.my.firm.com, host3.my.firm.com; pak bude doména Active Directory nazývána my.firm.com a uživatelé Active Directory budou mít jména ve formátu user@my.firm.com.
/etc/krb5.conf musí obsahovat alespoň následující řádky:
[realms]
MY.FIRM.COM = {
kdc = your.kerberos.server
}
kde MY.FIRM.COM je název domény (nebo „říše“ v terminologii Kerberos; musí být zadáno velkými písmeny) a your.kerberos.server je název nebo IP adresa KDC (Kerberos Domain Controller), což je ekvivalent PDC (Primary Domain Controller) v doménách Windows NT — například server.my.firm.com nebo 192.168.117.11.
Správnost nastavení parametrů můžete ověřit spuštěním příkazu (nahraďte jméno uživatele aktuálním — například administrator@MY.FIRM.COM):
# kinit username@REALM
a ujistěte se, že server přijal heslo. REALM se vždy zadává velkými písmeny.
Musíte se také ujistit, že je možné získat jméno KDC z jeho IP adresy (takzvaný Reverse DNS lookup). Jméno KDC musí buď odpovídat NetBIOS jménu počítače (jméno stroje v síti Windows bez uvedení domény), nebo se skládat z NetBIOS jména a názvu domény. Pokud není možné získat jméno KDC z adresy, při pokusu o připojení do domény obdržíte chybu „local error“.
Pokud váš DNS nepodporuje Reverse lookup nebo není KDC zaregistrován v DNS, můžete přiřazení IP adresy a jména zadat do /etc/hosts.
Pro práci v Active Directory musí smb.conf obsahovat následující parametry:
[global] # Задает Kerberos realm, обычно совпадает с именем домена в # верхнем регистре, например realm = MY.FIRM.COM realm = <REALM> # Это обычно часть реалма до первой точки, например # workgroup = MY workgroup = <WORKGROUP> # Тип домена - Active Directory. security = ADS # В случае Active Directory пароли всегда шифруются. encrypt passwords = true # Обычно этот параметр указывать не обязательно, т.к. Samba сама # определяет адрес KDC, если в сети есть WINS-сервер и он указан # в smb.conf ads server = <your.kerberos.server>
Ujistěte se, že Samba neběží. Pokud běží, musíte ji zastavit:
# service smb stop; service winbind stop
Pro přidání počítače do domény spusťte příkaz:
# net ads join -U administrator
kde administrator je uživatelské jméno domény, které má právo vytvářet nové uživatelské účty.
Pokud nebylo vydáno žádné chybové hlášení, byl počítač úspěšně zaregistrován v doméně — jinak zkontrolujte správnost nastavení parametrů v /etc/samba/smb.conf a /etc/krb5.conf. Ujistěte se, že uživatel uvedený za -U v příkazu net ads join má potřebná práva pro vytváření nových účtů.
Nyní můžete spustit potřebné služby:
# service smb start; service winbind start
Měli byste získat seznam dostupných zdrojů, přičemž smbclient by neměl vyžadovat uživatelské jméno a heslo.
Chcete-li ověřit, že je přístup ke zdrojům vašeho počítače možný z jiných počítačů v doméně, můžete zkusit spustit stejný příkaz:
$ smbclient -k -L <имя вашего компьютера в домене>
a získat seznam dostupných zdrojů. Můžete také zkusit otevřít nějaký zdroj na vašem počítači z počítače s Windows, který je členem domény. V každém případě by se neměla vyžadovat zadání uživatelského jména a hesla.
Na rozdíl od domén Windows NT se autorizace v Active Directory neprovádí pomocí uživatelského jména a hesla, ale pomocí Kerberos tiketů. Z tohoto důvodu může práce se smbclient na začátku působit neobvykle.
Za prvé, při volání smbclient je třeba zadat přepínač -k. Za druhé, Kerberos tikety jsou vydávány na určitou dobu (obvykle na jeden den, ale to závisí na nastavení serveru). Proto je třeba je pravidelně obnovovat pomocí příkazu kinit:
# kinit username@REALM
kde username je vaše uživatelské jméno v doméně Active Directory REALM.
Takže pokud smbclient náhle přestane připojovat k doménovým zdrojům, zkuste obnovit tiket – pravděpodobně je to tím.
