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. Samba 4 on failiserver, mis on antud artikli näites paigaldatud Ubuntu 12.04 Server LTS peale.
Samba 4 kasutab uut Virtual File System mis toetab Acess Control List -i. Domeeni Kontrolleri lahendus Sambas sisaldab Kerberose võtmehaldust Kerberos Key Distribution Center, mis on vaikimisi Zentyali osa. Zentyali ülesandeks on võimdaldada Samba 4 suhtlus Windowsiga. Zentyal on failiserveri vabavaraline serveri lahendus, mille kaudu on võimalik hallata kõiki võrguteenuseid ühelt platvormilt - võrgu turvalisus, infrastruktuur, ressursside jagamine.
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: ubuntu
NetBIOS Domain: SAMBA
DNS Domain: samba.piix.ee
DOMAIN SID: S-1-5-21-1025771091-2011791338-2641903939
Test
Käivitame Samba:
initctl start samba4
Laeme Samba-client'i:
apt-get install samba4-clients
eemaldame samba.pid faili, mis takistab sambat käivitamast:
rm /var/run/samba.pid
ning kontrollime (väljund kuva share's olemad elemendid):
root@ubuntu:~# smbclient -L localhost -U%
Sharename Type Comment
--------- ---- -------
netlogon Disk
sysvol Disk
share Disk yldine jagatud ketas
profiles Disk opilaste jagatud ketas
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/sbin/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/** rkw,
/var/lib/samba/private/dns/** rkw,
/usr/lib/i386-linux-gnu/samba/bind9/** rm,
/usr/lib/i386-linux-gnu/samba/gensec/** rm,
/usr/lib/i386-linux-gnu/ldb/modules/ldb/** rm,
/usr/lib/i386-linux-gnu/samba/ldb/** rm,
´ Laeme uuesti Apparmori profiilid ja teeme Bind9'le ka restardi:
/etc/init.d/apparmor reload
/etc/init.d/bind9 restart
Nimeserveri seadistamine
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".
Muudame Kerberose konfifaili /etc/krb5.conf selliseks:
[libdefaults]
default_realm = samba.piix.ee
dns_lookup_realm = true
dns_lookup_kdc = true
Network Time Protocol
Kuna Samba annab domeeni liikmetele ka kellaajad kätte, siis soovime, et ka serveril endal oleks õige kellaaeg ja seda saame teha järgnevalt:
Paigaldame NTP
apt-get install ntp
Seadistame ära muutes /etc/ntp.conf faili, lisades serverite nimekirja esimeseks:
server 2.ee.pool.ntp.org
Teeme esimese aja pärimise ja paneme teenuse tööle:
service ntp stop
ntpdate -B 2.ee.pool.ntp.org
service ntp start
Kontrollime, kas töötab:
ntpq -p
'Kontroll'
Kontrollime, Samba4 töökorda:
root@ubuntu:~# smbclient -L samba.piix.ee -U%
Sharename Type Comment
--------- ---- -------
netlogon Disk
sysvol Disk
share Disk yldine jagatud ketas
profiles Disk opilaste jagatud ketas
IPC$ IPC IPC Service
kuvati väljajagatud failide/kausta/printerite nimekiri.
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. Meie näite puhul on admin parooliks "Student1":
root@ubuntu:~# kinit Administrator@SAMBA.PIIX.EE
Password for Administrator@SAMBA.PIIX.EE:
Warning: Your password will expire in 41 days on Sun Feb 24 00:36:33 2013
Kontrollime, kas Kerberos annab välja pileti ehk Ticketi:
root@ubuntu:~# klist
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: Administrator@SAMBA.PIIX.EE
Valid starting Expires Service principal
13/01/2013 09:26 13/01/2013 19:26 krbtgt/SAMBA.PIIX.EE@SAMBA.PIIX.EE
renew until 14/01/2013 09:26
Samba 4 varundamine ja taaste
Backup failid asuvad vaikimisi "/backup/" kaustas.
Back-up faili loomiseks/uuendamiseks:
cp /etc/samba/smb.conf /backup/smb.conf
mkdir /backup/samba
cp -r /var/lib/samba/* /backup/samba
Muudame sysvol'i root õigustesse, et edasistel backup loomistel ei tekiks probleem:
Taastamine:
cp /backup/smb.conf /etc/samba/smb.conf
cp -r /backup/samba/* /var/lib/samba/
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 user add share
samba-tool user add 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 konfiguratsioonifaili smb.conf:
nano /etc/samba/smb.conf
Lisame lõppu järgmised read:
[share]
path = /var/data/share
comment = yldine 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 keskkonnas Active Directory haldamiseks tuleb kasutada Remote Server Administration Tool'i, mis tuleb microsoft'i kodulehelt allatõmmata.
Kuna meil on hetkel Windows XP kasutusel, siis meil on vaja Administration Tool Packi - http://www.microsoft.com/en-us/download/details.aspx?id=16770 .
See järel liita masin loodud domeeniga:
Esmalt määrata oma võrguühenduse seadetes DNS serveriks 192.168.56.220.
Parem klõps My Computeril -> Properties.
Uues aknas ülevalt "Computer name" ja nupp "Change"
Määrata domeeniks "samba.piix.ee" või see, mis sai domeeni loomisel pantud.
Edukal leidmisel küsib kasutajanime ja parooli. Tuleb panna kasutajaks Administrator ja parooliks Student1.
Kui aksepteerib, siis tervitab sind domeeni liitmise puhul ja palub restarti ning peale seda saab juba domeeni sisselogida Sambas loodud kasutajatega.
Windowsi klientmasinas, kuhu on installeeritud vastav Administraton Tool Pack Active Directory haldamiseks domeeniserveris, 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