Kategorie: Samba

Samba3 - Jednoduchý řadič domény (PDC)

Základní použití Samby jako primárního řadiče domény.

root@pdc$ apt-get install samba

Konfigurace smb.conf

(Komentáře začínají znakem # a zakomentované direktivy ; )
nano /etc/samba/smb.conf
[global]
   workgroup = DOMENA
   server string = %h server

   wins support = yes
;  wins server = w.x.y.z # IP Wins serveru, pokud toto bude Wins klient, u serveru zakomentovat
   dns proxy = no
   name resolve order = lmhosts host wins bcast # Posloupnost zpusobu hledani pocitace podle jmena
;  interfaces = 127.0.0.0/8 eth0 # Pripojeni na kterych bude Samba dostupna
;  bind interfaces only = yes

   log file = /var/log/samba/log.%m # Logy pro jednotlive pocitace
   max log size = 1000 # Velikost logu v KiB
;  syslog only = no # Logovat POUZE do systemoveho logu
   syslog = 0 # Podrobnost logu (0=nejmene podrobny)
   panic action = /usr/share/samba/panic-action %d

   security = domain # Prihlasovani k domene
   encrypt passwords = true
   passdb backend = tdbsam
   obey pam restrictions = yes
   unix password sync = yes # Pri zmene hesla ve Windows se zmeni i heslo v linuxu
   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 = no

########## Domeny ###########

   domain logons = yes # Je domenovy radic?
   domain master = yes # Je HLAVNI domenovy radic?

# Cestovni profily ve specialnim adresari
;  logon path = \\%N\profiles\%U
# Cestovni profily v domovskem adresari uzivatele
;  logon path = \\%N\%U\profile
# Cestovni profily vypnuty
   logon path =

# Sitova jednotka H: s uzivatelskou slozkou a prihlasovaci skript
   logon drive = H:
   logon home = \\%N\%U
   logon script = logon.cmd

# Pro automaticke vytvareni uctu uzivatele, pocitace a skupiny pro potreby Samby
 add user script = /usr/sbin/adduser --quiet --disabled-password --gecos "" %u
 add machine script  = /usr/sbin/useradd -g machines -c "%u machine account" -d /var/lib/samba -s /bin/false %u
 add group script = /usr/sbin/addgroup --force-badname %g

# Pro sdileni tiskaren
;   load printers = yes
;   printing = bsd
;   printcap name = /etc/printcap
;   printing = cups
;   printcap name = cups

# Nastaveni mapovani UID na SSID a shell automaticky vytvarenych uctu
   idmap uid = 10000-20000
   idmap gid = 10000-20000
   template shell = /bin/bash
   winbind enum groups = yes
   winbind enum users = yes

;  include = /home/samba/etc/smb.conf.%m
;  message command = /bin/sh -c '/usr/bin/linpopup "%f" "%m" %s; rm %s' &
;  usershare max shares = 10

#======================= Sdileni =======================

[homes]
   comment = Home Directories
   browseable = no
   read only = no
   create mask = 0700
   directory mask = 0700
   valid users = %S

# Pro domenove radice
[netlogon]
   comment = Network Logon Service
   path = /home/samba/netlogon
   guest ok = yes
   read only = yes
   share modes = no

# Odkomentovat pokud chcete cestovni profily ve specialnim adresari
;[profiles]
;   comment = Users profiles
;   path = /home/samba/profiles
;   guest ok = no
;   browseable = no
;   create mask = 0600
;   directory mask = 0700
;   read only = no # Dulezite!

# Pro sdileni tiskaren
;[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
;   write list = root, @printadmins

# Zcela volne pristupna slozka
[share]
 read only = no
 path = /home/share
 guest ok = yes
; nt acl support = yes # Povoleni ACL, pouze pokud mate nainstalovane!

# Sdileni CD-ROM mechaniky
;[cdrom]
;   comment = Samba server's CD-ROM
;   read only = yes
;   locking = no
;   path = /media/cdrom
;   guest ok = yes

# Pro spravnou funkcnost by v /etc/fstab melo byt neco jako:
#  /dev/scd0 /media/cdrom iso9660 defaults,noauto,ro,user 0 0
# Pro automaticke pripojovani a odpojovani
;   preexec = /bin/mount /media/cdrom
;   postexec = /bin/umount /media/cdrom

Vytvoření struktury

Vytvoříme adresář pro netlogon, přihlašovací skript logon.cmd (zatím prázdný) a linuxovou skupinu pro počítače v doméně.
mkdir -p /home/samba/netlogon
touch /home/samba/netlogon/logon.cmd
groupadd machines
Přihlašovací skript je dávkový soubor spouštěný po přihlášení každého uživatele. Jeho tvorba bude předmětem některého z budoucích článků.

Vytvoření skupiny doménových administrátorů

Vytvoříme linuxovou skupinu doménových administrátor a asociujeme ji se sambovou skupinou doménových administrátorů. Nakonec přidáme uživatele root do této skupiny a přidělíme mu sambové heslo. Následně bude možné přidávat počítače do domény pomocí přihlašovacího jména root a zadaného hesla. Pokud se přihlásí jako běžný uživatel ke stanici, bude mít práva administrátora.
groupadd domainadmins
net groupmap add ntgroup="Domain Admins" unixgroup=domainadmins rid=512 type=d
adduser root domainadmins
smbpasswd -a root
Následovat bude výzva k zadání sambového hesla pro uživatele root, který nyní bude doménovým administrátorem. Později můžeme přidávat další uživatele pouze jeho přidáním do skupiny domainadmins. (Budeme-li předpokládat že již má přiděleno heslo k sambě)

Tvorba dalších uživatelů

useradd franta
passwd franta
[Nove heslo k linuxu]
smbpasswd -a franta
[Nove heslo k windows]

Změna hesla z Windows

Z Windows je možné změnit heslo po stisku klávesové zkratky Ctrl+Alt+Del. Když zde změníte heslo, bude informována samba a svoje heslo (smbpasswd) změní. Pokud chceme aby se změnilo i linuxové heslo, musíme povolit následující direktivu:
unix password sync
Synchronizaci opačným směrem se mi ale bohužel nastavit nepodařilo. (Pravděpodobně se bude muset použít modul PAMu, zatím jsem se nedostal k tomu to vyzkoušet)

Komentáře


, SMB odpovědět

Snazim se rozpohybovat sambu jako PDC uz dlouho. Nepotrebuji to, jen mne to zajima. Jsem odkojeny wokny a tak jsem musel precist mraky clanku a tenhle mi byl nejprinosnejsi. Dik fest!