Zentyal SAMBA4
Autorid: Urmo Lihten A31 ja Kersti Lang A31 (2012 sügissemester)
Sissejuhatus
Käesolev artikkel on juhend Samba 4 paigaldamise ja seadistamise kohta.
Eeldused
- Ubuntu versioon 12.04
- IP aadress 192.168.56.200
- eelnevalt paigaldatud Bind9 domeeniga piix.ee
- elementaarsed teadmised Ubuntu käsurea kasutamisest
Eelised
- 'Active Directory' sisselogimise ja administreerimise protokollide tugi Windows XP, Windows 7 ja Mac OS X klientidele.
- NTFS tugi
- Sisemine LDAP server AD omadustega.
- Sisemine Kerberos server.
- AD sidumine DNS-ga.
- Python tugi
jne.
Paigaldamine
Samba4 installeerimine
Logime sisse administraatorina:
sudo -i
Uuendame tarkvara nimekirja:
apt-get update
Installeerime Samba4 jaoks vajalikud paketid:
apt-get install samba4
Samba 4 installi käigus on sage viga, et Samba 4 package mängib enda staatuseks "half installed. See tuleb käsitsi muuta:
less /var/lib/dpkg/status | grep half-configured
nano /var/lib/dpkg/status
Leia konfifailist Samba4 rida:
Package: samba4
Status: install ok half-configured
...ning muuda see rida selliseks:
Package: samba4
Status: install ok installed
Kontrollime, et rohkem "poolikuid" faile pole:
less /var/lib/dpkg/status | grep half-configured
Juhul kui eksisteerib vana Samba konfiguratsiooni fail, siis kustutame või muudame backup'iks:
mv /etc/samba/smb.conf{,.old}
Bind9 konfiguratsiooni faili loomine
eeldusel, et smb.conf faili pole olemas. Samuti tuleb jälgida järgnevas käsus, et --realm juures märgitud argumendiks SAMBA.PIIX.EE kõrval tuleb --domain argumendiks kirjutada SAMBA.PIIX; millegi muu korral ei hakka Kerberos soovitult tööle.
--adminpass ehk administraatori parool peab olema vähemalt ühe suure tähega ja ühe numbriga ning vähemalt 7 tähemärki pikk.
/usr/share/samba/setup/provision --realm=SAMBA.PIIX.EE --domain=SAMBA --adminpass=Student1 --server-role='dc'
Tulemus on järgnev:
See /var/lib/samba/private/named.conf for an example configuration include file for BIND
and /var/lib/samba/private/named.txt for further documentation required for secure DNS updates
Setting up sam.ldb rootDSE marking as synchronized
Fixing provision GUIDs
A Kerberos configuration suitable for Samba 4 has been generated at /var/lib/samba/private/krb5.conf
A phpLDAPadmin configuration file suitable for administering the Samba 4 LDAP server has been created in /var/lib/samba/private/phpldapadmin-config.php .
Once the above files are installed, your Samba4 server will be ready to use
Server Role: domain controller
Hostname: server
NetBIOS Domain: SAMBA
DNS Domain: samba.piix.ee
DOMAIN SID: S-1-5-21-2879616319-2530693997-59183206
Test
Käivitame Samba:
initctl start samba4
Laeme Samba kliendi:
apt-get install samba4-clients
ning kontrollime (väljund kuva share's olemad elemendid):
smbclient -L localhost -U%
Väljundiks:
Sharename Type Comment
--------- ---- -------
netlogon Disk
sysvol Disk
IPC$ IPC IPC Service
Samba4 seonduvate skriptide muutmine ja loomine
Kuna Samba4 ei kontrolli startimisel Samba kataloogi olemasolu /var/run kaustas, siis lisame selle võimaluse:
nano /etc/init.d/samba4
Lisame koodile juurde SAMBAPID kontrollimise read enne esimest "else"t:
if [ ! -d $(dirname $SAMBAPID) ];
then mkdir -p $(dirname $SAMBAPID)
fi
Lisaks tuleb luua fail /usr/local/sbin/samba:
nano /usr/local/sbin/samba
Ning selle sisuks tuleb:
#!/bin/sh
LD_PRELOAD=/usr/lib/libdcerpc.0.0.1 /usr/sbin/$(basename $0)
Tekitame eelnevalt loodud failidele lingid:
ln -s /usr/local/sbin/samba{,_dnsupdate}
ln -s /usr/local/sbKin/samba{,_spnupdate}
erandid
Taaskäivitane Samba:
service samba4 restart
DNS seadistamine
Muudame Bind9 konfiguratsiooni:
nano /etc/bind/named.conf.local
Kaasame Samba4 raames loodud konfiratsioonifaili Bind9 seadetesse:
include /var/lib/samba/private/named.conf;
Apparmor'i probleem
Kuna Apparmor kaitseb Samba4 konfiguratsiooni Bind9 eest, siis lisame Apparmorisse erandid:
nano /etc/apparmor.d/usr.sbin.named
Lisada lõppu ennem viimast } märki järgmised read:
/var/lib/samba/private/* rw,
/var/lib/samba/private/dns/* rw,
Laeme uuesti Apparmori profiilid ja teeme Bind9'le ka restardi:
/etc/init.d/apparmor reload
/etc/init.d/bind9 restart
Nimeserverid paika
Kuna Samba4 kasutab Bind9 DNS lahendust, siis oleks mõistlik lisada oma /etc/resolv.conf'i oma nimeserver kui seda juba seal pole:
nano /etc/resolv.conf
Meie nimeserveri aadress on 192.168.56.200 (kirje tuleb lisada teistest ip-aadressidest ettepoole, et süsteem pöörduks just Bind9 poole):
name server 192.168.56.200
Kerberose paigaldamine/seadistamine
Tõstame Samba4 poolt loodud spetsiaalse Kerberos5 konfiguratsioonifaili kausta /etc/:
cp /var/lib/samba/private/krb5.conf /etc/
Kuna Kerberos on vaikimisi olemas Samba4 installimisega, siis oleks vaja selle töökorda ja seadistusi kontrollida:
Paigaldame krb5-user paketi:
apt-get install krb5-user
Paigaldamise käigus küsib ta realm'i. Meie näite puhul on selleks SAMBA.PIIX.EE
Kontroll
Kontrollime, Samba4 töökorda:
smbclient -L SAMBA.PIIX.EE -U%
Väljund kuvatakse väljajagatud failide/kausta/printerite nimekiri:
Sharename Type Comment
--------- ---- -------
netlogon Disk
sysvol Disk
IPC$ IPC IPC Service
Autentimise kontrollimiseks käivitame käsu:
smbclient //SAMBA.PIIX.EE/netlogon -UAdministrator%'Student1' -c 'ls'
Väljundiks kuvatakse netlogon kausta sisu.
Kontrollime, kas Kerberos server töötab. Küsitakse admin parooli ("Student1"):
kinit Administrator@SAMBA.PIIX.EE
Töökorras olekus väljundit ei kuvata.
Kontrollime, kas Kerberos annab välja pileti ehk Ticketi:
klist
Tulemuks kuvatakse:
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: Administrator@SAMBA.PIIX.EE
Valid starting Expires Service principal
01/07/13 23:51:12 01/08/13 09:51:12 krbtgt/SAMBA.PIIX.EE@SAMBA.PIIX.EE
renew until 01/08/13 23:51:09
Kasutajate ja gruppide ning jagatavate kaustade loomine
Loome kaustad "share" ja "opilane":
mkdir -p /var/data/share
mkdir -p /var/data/profiles
Loome ka vastavad kasutajad ja grupid:
adduser share
adduser opilane
addgroup jagatud
addgroup opilane
adduser share jagatud
adduser opilane opilane
samba-tool newuser share
samba-tool newuser opilane
Anname kaustadele ka vastavad omanikud ning grupid:
chown share:jagatud /var/data/share
chown opilane:opilane /var/data/profiles
Loodud kaustade väljajagamine ja õiguste määramised
Avame Samba4 konfiguratsiooni faili smb.conf:
nano /etc/samba.smb.conf:
Lisame lõppu järgmised read:
[share]
path = /var/data/share
comment = üldine jagatud ketas
read only = No
[profiles]
path = /var/data/profiles
comment = opilaste jagatud ketas
read only = no
Et kaustad välja jagada, teeme Samba4'le restardi:
service samba4 restart
Kuna Samba4's enam ei saa smb.conf'i faili kaudu kaustadele õigusi lisada. Active Directory kaudu läbi Windowsi masina saab Administraatori kontoga teha "profiles" kaustade alla igale kasutajale oma kausta ehk "roaming profile"-i.
Tuleb meeles pidada, et roaming profile's tuleb domeenis sisse logida sama Windows-versiooni masinaga. Erinevate Windowsite alt sisse logides samas domeenis genereeritakse Profiles kausta topelt kasutaja kaust nign see pole esimese loodud kasutaja kaustaga ühenduses.
Windowsi klientmasinas, kuhu on installeeritud kaughalduse programm administreerimaks domeeni serverit, tuleb avada Start -> Run -> dsa.msc
Avanenud aknas minna vastavate kasutajate juurde, avada parema klõpsuga Properties ja Profile sektsiooni ning lisada Profile Path: //192.168.56.200/profiles/%USERNAME%
ning muudatused ära salvestada. Seejärel tuleks käivitada Start -> Run'is käsk "gpudate /force", mis sunnib uuendama Group Policy't.
Peale seda vastava kasutajaga uuesti sisse sisselogides tehakse Profiles kausta vastava kasutajanimega kaust. Näide serverist vaadatuna:
# cd /var/data/profiles
# ls -l
drwxr-xr-x 12 3000012 users 4096 Aug 2 15:35 test