Zentyal SAMBA4: Difference between revisions

From ICO wiki
Jump to navigationJump to search
Klang (talk | contribs)
No edit summary
Jolevsoo (talk | contribs)
 
(75 intermediate revisions by 3 users not shown)
Line 1: Line 1:
Autorid: Urmo Lihten A31 ja Kersti Lang A31 (2012 sügissemester)
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.


=Sissejuhatus=
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.
Samba 4 võimaluste rohke failiserver.
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
* Ainult 32bit op.süsteemile
* IP aadress 192.168.56.200
* eelnevalt paigaldatud Bind9 domeeniga piix.ee
* elementaarsed teadmised Ubuntu käsurea kasutamisest


=Eelised=
=Eelised=
Line 14: Line 23:
* Python tugi
* Python tugi
jne.
jne.
=Eeldused=
* Ubuntu 11.04 või uuem
* eelnevalt paigaldatud Bind9 domeeniga piix.ee
kasutatakse Samba 4.0.0~alpha15~git20110124


=Paigaldamine=  
=Paigaldamine=  


==Samba4 installeerimine==
==Samba4 installeerimine==
Logime sisse administraatorina:
Logime sisse administraatorina:
<source lang=bash>
<source lang=bash>
Line 38: Line 39:
Installeerime Samba4 jaoks vajalikud paketid:
Installeerime Samba4 jaoks vajalikud paketid:
<source lang=bash>
<source lang=bash>
apt-get install samba4 samba4-clients
apt-get install samba4
</source>
 
Samba 4 installi käigus on sage viga, et Samba 4 package mängib enda staatuseks "half installed. See tuleb käsitsi muuta:
<source lang=bash>
less /var/lib/dpkg/status | grep half-configured
nano /var/lib/dpkg/status
</source>
 
Leia konfifailist Samba4 rida:
<source lang=bash>
Package: samba4
Status: install ok half-configured
</source>
 
...ning muuda see rida selliseks:
<source lang=bash>
Package: samba4
Status: install ok installed
</source>
 
Kontrollime, et rohkem "poolikuid" faile pole:
<source lang=bash>
less /var/lib/dpkg/status | grep half-configured
</source>
</source>


Line 47: Line 71:


==Bind9 konfiguratsiooni faili loomine==  
==Bind9 konfiguratsiooni faili loomine==  
Eeldusel, et smb.conf faili pole olemas. <br>
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.<br>
 
Samuti tuleb jälgida järgnevas käsus, et --realm juures märgitud argumendiks SAMBA.PIIX.EE kõrval tuleb --domain argumendiks kirjutada SAMBA.<br>
 
PIIX või millegi muu korral ei hakka Kerberos tööle korralikult.<br>
 
--adminpass ehk administraatori parool peab olema vähemalt ühe suure tähega ja ühe numbriga ning vähemalt 7 tähemärki pikk.<br>
--adminpass ehk administraatori parool peab olema vähemalt ühe suure tähega ja ühe numbriga ning vähemalt 7 tähemärki pikk.<br>
<source lang=bash>
<source lang=bash>
LD_PRELOAD=/usr/lib/libdcerpc.so.0.0.1 /usr/share/samba/setup/provision --realm=SAMBA.PIIX.EE \
/usr/share/samba/setup/provision --realm=samba.piix.ee --domain=samba --adminpass=Student1 --server-role='dc'
--domain=SAMBA --adminpass=Student1 --server-role='domain controller'
</source>
</source>
Tulemuse lõpuosa peaks olema midagi sarnast:
 
Tulemus on järgnev:
<source lang=bash>
<source lang=bash>
...
See /var/lib/samba/private/named.conf for an example configuration include file for BIND
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
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 Kerberos configuration suitable for Samba 4 has been generated at /var/lib/samba/private/krb5.conf
Please install the phpLDAPadmin configuration located at /var/lib/samba/private/phpldapadmin-config.php into /etc/phpldapadmin/config.php
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
Once the above files are installed, your Samba4 server will be ready to use
Server Role:          domain controller
Server Role:          domain controller
Hostname:              ns
Hostname:              ubuntu
NetBIOS Domain:        SAMBA
NetBIOS Domain:        SAMBA
DNS Domain:            samba.piix.ee
DNS Domain:            samba.piix.ee
DOMAIN SID:            S-1-5-21-115115566-1439331126-697070417
DOMAIN SID:            S-1-5-21-1025771091-2011791338-2641903939
Admin password:        Student1
</source>
 
==Test==
Käivitame Samba:
<source lang=bash>
initctl start samba4
</source>
 
Laeme Samba-client'i:
<source lang=bash>
apt-get install samba4-clients
</source>
 
eemaldame samba.pid faili, mis takistab sambat käivitamast:
<source lang=bash>
rm /var/run/samba.pid
</source>
 
ning kontrollime (väljund kuva share's olemad elemendid):
<source lang=bash>
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
</source>
</source>


Line 80: Line 128:
</source>
</source>


Lisame koodile juurde SAMBAPID kontrollimise read "log_daemon_msg "Starting Samba 4 daemon" "samba" "alla:
Lisame koodile juurde SAMBAPID kontrollimise read enne esimest "else"t:
<source lang=bash>
<source lang=bash>
                log_daemon_msg "Starting Samba 4 daemon" "samba"
    if [ ! -d $(dirname $SAMBAPID) ];  
 
        then mkdir -p $(dirname $SAMBAPID)  
                #Lisatud juurde 3 rida
    fi
                if [ ! -d $(dirname $SAMBAPID) ];  
                        then mkdir -p $(dirname $SAMBAPID)  
                fi  
</source>
</source>


Lisaks tuleb luua fail /usr/local/sbin/samba
Lisaks tuleb luua fail /usr/local/sbin/samba:
<source lang=bash>
<source lang=bash>
nano /usr/local/sbin/samba
nano /usr/local/sbin/samba
</source>
</source>
Selle sisuks tuleb
Ning selle sisuks tuleb:
<source lang=bash>
<source lang=bash>
#!/bin/sh
#!/bin/sh
Line 100: Line 145:
</source>
</source>


Teeme eelnevale ka lingid
Tekitame eelnevalt loodud failidele lingid:
<source lang=bash>
<source lang=bash>
ln -s /usr/local/sbin/samba{,_dnsupdate}
ln -s /usr/local/sbin/samba{,_dnsupdate}
ln -s /usr/local/sbin/samba{,_spnupdate}
ln -s /usr/local/sbin/samba{,_spnupdate}
</source>
</source>erandid


Samba 4 käivitamine
Taaskäivitane Samba:
<source lang=bash>
<source lang=bash>
service samba4 start
service samba4 restart
</source>
</source>


==DNS seadistamine==
==DNS seadistamine==
Muudame Bind9 konfiguratsiooni
Muudame Bind9 konfiguratsiooni:
<source lang=bash>
<source lang=bash>
nano /etc/bind/named.conf.local
nano /etc/bind/named.conf.local
</source>
</source>
 
Kaasame Samba4 raames loodud konfiratsioonifaili Bind9 seadetesse:
Kaasame Samba4 poolt loodud konfiratsiooni Bind9 seadetesse
<source lang=bash>
<source lang=bash>
include "/var/lib/samba/private/named.conf";
include "/var/lib/samba/private/named.conf";
Line 123: Line 167:


==Apparmor'i probleem==
==Apparmor'i probleem==
Kuna Apparmor kaitseb Samba4 konfiguratsiooni Bind9 eest, siis peab tegema erandid Apparmorisse.
 
Kuna Apparmor kaitseb Samba4 konfiguratsiooni Bind9 eest, siis lisame Apparmorisse erandid:
<source lang=bash>
<source lang=bash>
nano /etc/apparmor.d/usr.sbin.named
nano /etc/apparmor.d/usr.sbin.named
</source>
</source>
Lisada lõppu ennem viimast } märki järgmised read:
 
Lisada lõppu ennem viimast "}" märki järgmised read:
<source lang=bash>
<source lang=bash>
/var/lib/samba/private/* rw,
/var/lib/samba/private/** rkw,
/var/lib/samba/private/dns/* rw,
/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,
</source>
</source>
Laeme uuesti Apparmori profiilid ja teeme Bind9'le ka restardi.
´
Laeme uuesti Apparmori profiilid ja teeme Bind9'le ka restardi:
<source lang=bash>
<source lang=bash>
/etc/init.d/apparmor reload
/etc/init.d/apparmor reload
/etc/init.d/bind9 restart
/etc/init.d/bind9 restart
</source>
</source>
==Nimeserverid paika==
 
==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:
Kuna Samba4 kasutab Bind9 DNS lahendust, siis oleks mõistlik lisada oma /etc/resolv.conf'i oma nimeserver kui seda juba seal pole:
<source lang=bash>
<source lang=bash>
nano /etc/resolv.conf
nano /etc/resolv.conf
</source>
</source>
Näiteks on meil nimeserveri aadress 192.168.56.200. (tuleb lisada teistest nimekirjas olevatest nimeserveritest ettepoole, muidu pole asjast kasu ja ei võta Bind9'st vastuseid)
Meie nimeserveri aadress on 192.168.56.200 (kirje tuleb lisada teistest ip-aadressidest ettepoole, et süsteem pöörduks just Bind9 poole):
<source lang=bash>
<source lang=bash>
name server 192.168.56.200
nameserver 192.168.56.200
</source>
</source>
==Kerberose paigaldamine/seadistamine==
==Kerberose paigaldamine/seadistamine==
Tõstame Samba4 poolt loodud spetsiaalse Kerberos5 konfiguratsioonifaili kausta /etc/
 
Tõstame Samba4 poolt loodud spetsiaalse Kerberos5 konfiguratsioonifaili kausta /etc/:
<source lang=bash>
<source lang=bash>
cp /var/lib/samba/private/krb5.conf /etc/
cp /var/lib/samba/private/krb5.conf /etc/
</source>
</source>
Kuna Kerberos on vaikimisi olemas Samba4 installimisega, siis oleks vaja ka seda kontrollida, et kas töötab korralikult ja kas seadistused said õigesti. <br>
 
Paigaldame krb5-user paketi
Kuna Kerberos on vaikimisi olemas Samba4 installimisega, siis oleks vaja selle töökorda ja seadistusi kontrollida: <br>
Paigaldame krb5-user paketi:
<source lang=bash>
<source lang=bash>
apt-get install krb5-user
apt-get install krb5-user
</source>
</source>
Paigaldamise käigus küsib ta realm'i. Meie näite puhul on selleks SAMBA.PIIX.EE
 
Paigaldamise käigus küsib ta realm'i. Meie näite puhul on selleks "samba.piix.ee".
<br>
 
Muudame Kerberose konfifaili /etc/krb5.conf selliseks:
<source lang=bash>
[libdefaults]
        default_realm = samba.piix.ee
        dns_lookup_realm = true
        dns_lookup_kdc = true
</source>
 
==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:
<br>
<br>
==Kontroll==
Paigaldame NTP
Kontrollime, kas Samba4 töötab:
<source lang=bash>
apt-get install ntp
</source>
Seadistame ära muutes /etc/ntp.conf faili, lisades serverite nimekirja esimeseks:
<source lang=bash>
server 2.ee.pool.ntp.org
</source>
Teeme esimese aja pärimise ja paneme teenuse tööle:
<source lang=bash>
<source lang=bash>
smbclient -L SAMBA.PIIX.EE -U%
service ntp stop
ntpdate -B 2.ee.pool.ntp.org
service ntp start
</source>
</source>
Väljund peaks olema midagi sarnast ehk näitab väljajagatud failide/kausta/printerite nimekirjasid:
Kontrollime, kas töötab:
<source lang=bash>
<source lang=bash>
root@ubuntu:~# ntpq -p
    remote          refid      st t when poll reach  delay  offset  jitter
==============================================================================
cache.eenet.ee  193.40.133.142  2 u    3  64    1  328.240  -13.785  0.004
neodymium.cloud 193.40.5.113    3 u    2  64    1  353.089  -28.727  0.004
sip1.viatel.ee  194.204.18.172  2 u    1  64    1  387.481  -44.189  0.004
stannum.cloudfa 62.236.120.71    3 u    -  64    1  308.934  -5.212  0.004
ee1.zz-zone.org .INIT.          16 u    -  64    0    0.000    0.000  0.004
europium.canoni .INIT.          16 u    -  64    0    0.000    0.000  0.004
</source>


Sharename      Type      Comment
=='Kontroll'==
---------      ----      -------
netlogon        Disk     
sysvol          Disk     
IPC$            IPC        IPC Service


</source>
Kontrollime, Samba4 töökorda:
Autentimise kontrollimiseks võiks käivitada järgneva käsu:
<source lang=bash>
<source lang=bash>
smbclient //SAMBA.PIIX.EE/netlogon -UAdministrator%'Student1' -c 'ls'
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
 
</source>
</source>
Väljundiks peaks tulema netlogon kausta sisu.<br>
kuvati väljajagatud failide/kausta/printerite nimekiri.
<br>
<br>
Kontrollime, kas Kerberos server töötab. Küsitakse admin parooli ehk praegusel juhul on Student1 selleks:
 
Autentimise kontrollimiseks käivitame käsu:
<source lang=bash>
<source lang=bash>
kinit Administrator@SAMBA.PIIX.EE
smbclient //samba.piix.ee/netlogon -UAdministrator%'Student1' -c 'ls'
</source>
</source>
Edukal töötamisel ta mingit väljundit ei anna.<br>
 
Kontrollime, kas Kerberos annab välja ka pileti ehk Ticketi:
Väljundiks kuvatakse netlogon kausta sisu.<br>
<br>
 
Kontrollime, kas Kerberos server töötab. Meie näite puhul on admin parooliks "Student1":
<source lang=bash>
<source lang=bash>
klist
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
</source>
</source>
Tulemus peaks olema midagi sarnast:
 
Kontrollime, kas Kerberos annab välja pileti ehk Ticketi:
<source lang=bash>
<source lang=bash>
root@ubuntu:~# klist
Ticket cache: FILE:/tmp/krb5cc_0
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: Administrator@SAMBA.PIIX.EE
Default principal: Administrator@SAMBA.PIIX.EE


Valid starting     Expires           Service principal
Valid starting   Expires           Service principal
01/07/13 23:51:12 01/08/13 09:51:12 krbtgt/SAMBA.PIIX.EE@SAMBA.PIIX.EE
13/01/2013 09:26 13/01/2013 19:26 krbtgt/SAMBA.PIIX.EE@SAMBA.PIIX.EE
renew until 01/08/13 23:51:09
        renew until 14/01/2013 09:26
</source>
 
==Samba 4 varundamine ja taaste==
Backup failid asuvad vaikimisi "/backup/" kaustas.


Back-up faili loomiseks:
<source lang=bash>
cp /etc/samba/smb.conf /backup/smb.conf
mkdir /backup/samba
cp -rv /var/lib/samba/* /backup/samba
</source>
</source>
<br>
 
Ülekirjutamist ei toimu. kui see on aga vajalik, siis tuleb enne kaust kustutada "rm -r /backup/samba" ning uuesti luua.
Taastamine:
<source lang=bash>
cp /backup/smb.conf /etc/samba/smb.conf
cp -rv /backup/samba/* /var/lib/samba
</source>
 
=Kasutajate ja gruppide ning jagatavate kaustade loomine=
=Kasutajate ja gruppide ning jagatavate kaustade loomine=
Loome kaustad "share" ja "opilane".
Loome kaustad "share" ja "opilane":
<source lang=bash>
<source lang=bash>
mkdir -p /var/data/share
mkdir -p /var/data/share
mkdir -p /var/data/profiles
mkdir -p /var/data/profiles
</source>
</source>
Loome ka vastavad kasutajad ja grupid.
Loome ka vastavad kasutajad ja grupid:
<source lang=bash>
<source lang=bash>
adduser share
adduser share
Line 213: Line 329:
adduser share jagatud
adduser share jagatud
adduser opilane opilane
adduser opilane opilane
samba-tool newuser share
samba-tool user add share
samba-tool newuser opilane
samba-tool user add opilane
</source>
</source>
Anname kaustadele ka vastavad omanikud ning grupid
Anname kaustadele ka vastavad omanikud ning grupid:
<source lang=bash>
<source lang=bash>
chown share:jagatud /var/data/share
chown share:jagatud /var/data/share
Line 222: Line 338:
</source>
</source>


=Tehtud kaustade väljajagamine ja õiguste määramised=
=Loodud kaustade väljajagamine ja õiguste määramised=
Avame Samba4 konfiguratsiooni faili smb.conf  
Avame Samba4 konfiguratsioonifaili smb.conf:
<source lang=bash>
<source lang=bash>
nano /etc/samba.smb.conf
nano /etc/samba/smb.conf
</source>
</source>
Lisame lõppu juurde järgmised read
Lisame lõppu järgmised read:
<source lang=bash>
<source lang=bash>
[share]
[share]
         path = /var/data/share
         path = /var/data/share
         comment = üldine jagatud ketas
         comment = yldine jagatud ketas
         read only = No
         read only = No


Line 239: Line 355:
         read only = no
         read only = no
</source>
</source>
Nüüd teeme Samba4-le väikese restardi ja kaustad peaksid olema seejärel väljajagatud.
Et kaustad välja jagada, teeme Samba4'le restardi:
<source lang=bash>
<source lang=bash>
service samba4 restart
service samba4 restart
</source>
</source>
Kuna Samba4's enam ei saa smb.conf'i faili kaudu kaustadele õigusi lisada ja siis saab Active Directory kaudu läbi Windowsi masina Administraatori kontoga teha "profiles" kaustade alla igale kasutajale oma kausta ehk "roaming profile"-i.<br>
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.<br>
Tuleb meeles pidada, et roaming profile juures peab domeenis sisselogima sama Windowsi versiooniga masinaga. Erinevate Windowsite alt sisselogides samas domeenis genereeritakse Profiles kausta topelt kasutaja kaust ja see pole esimese loodud kasutaja kaustaga ühenduses.<br>
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.<br>
<br>
<br>
Windowsi klientmasinas, kuhu on installeeritud kaughalduse programm administreerimaks domeeni serverit, tuleb võtta lahti Start->Run-> dsa.msc<br>
Windowsi keskkonnas Active Directory haldamiseks tuleb kasutada Remote Server Administration Tool'i, mis tuleb microsoft'i kodulehelt allatõmmata.<br>
[[File:Step1.png|thumb|dsa.msc]]
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 .<br>
See järel liita masin loodud domeeniga:
Esmalt määrata oma võrguühenduse seadetes DNS serveriks 192.168.56.220.
<br><br>
Parem klõps My Computeril -> Properties.<br>
Uues aknas ülevalt "Computer name" ja nupp "Change"<br>
Määrata domeeniks "samba.piix.ee" või see, mis sai domeeni loomisel pantud.<br>
Edukal leidmisel küsib kasutajanime ja parooli. Tuleb panna kasutajaks Administrator ja parooliks Student1.<br>
Kui aksepteerib, siis tervitab sind domeeni liitmise puhul ja palub restarti ning peale seda saab juba domeeni sisselogida Sambas loodud kasutajatega.<br>
<br>
<br>
Avanenud aknas minna vastavate kasutajate juurde, võtta lahti parem klõpsuga nende Properties ja Profile sektsiooni lisada Profile Path: //192.168.56.200/profiles/%USERNAME%<br>
Windowsi klientmasinas, kuhu on installeeritud vastav Administraton Tool Pack Active Directory haldamiseks domeeniserveris, tuleb avada Start -> Run -> dsa.msc <br>
[[File:Step2.png|thumb|Profile path]]
[[File:Step1.png|thumb|none|427px|dsa.msc]]
ja muudatused ära salvestada ning käivitada Start->Run 'is käsk "gpudate /force", mis sunnib uuendama Group Policy't.<br>
[[File:Step3.png|thumb|gpupdate]]
<br>
<br>
Peale seda korraks väljalogides ja vastava kasutajaga sisselogides tehakse Profiles kausta vastava kasutajanimega kaust.
 
Avanenud aknas minna vastavate kasutajate juurde, avada parema klõpsuga Properties ja Profile sektsiooni ning lisada Profile Path: //192.168.56.200/profiles/%USERNAME%<br>
[[File:Step2.png|thumb|none|551px|Profile path]]
 
ning muudatused ära salvestada. Seejärel tuleks käivitada Start -> Run'is käsk "gpudate /force", mis sunnib uuendama Group Policy't.<br>
[[File:Step3.png|thumb|none|427px|gpupdate]] <br>
 
Peale seda vastava kasutajaga uuesti sisse sisselogides tehakse Profiles kausta vastava kasutajanimega kaust.
Näide serverist vaadatuna:
Näide serverist vaadatuna:
<source lang=bash>
<source lang=bash>
Line 261: Line 390:
  drwxr-xr-x 12 3000012 users  4096 Aug  2 15:35 test
  drwxr-xr-x 12 3000012 users  4096 Aug  2 15:35 test
</source>
</source>
=Kasutatud kirjandus=
* https://wiki.itcollege.ee/index.php/Samba4_installeerimine
* http://www.matrix44.net/cms/notes/gnulinux/samba-4-ad-domain-with-ubuntu-12-04
* http://www.golinuxhub.com/2012/08/create-roaming-profiles-in-samba4.html
* http://www.pool.ntp.org/zone/ee

Latest revision as of 10:25, 19 May 2014

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
  • Ainult 32bit op.süsteemile
  • 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):

nameserver 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:

root@ubuntu:~# ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 cache.eenet.ee  193.40.133.142   2 u    3   64    1  328.240  -13.785   0.004
 neodymium.cloud 193.40.5.113     3 u    2   64    1  353.089  -28.727   0.004
 sip1.viatel.ee  194.204.18.172   2 u    1   64    1  387.481  -44.189   0.004
 stannum.cloudfa 62.236.120.71    3 u    -   64    1  308.934   -5.212   0.004
 ee1.zz-zone.org .INIT.          16 u    -   64    0    0.000    0.000   0.004
 europium.canoni .INIT.          16 u    -   64    0    0.000    0.000   0.004

'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:

cp /etc/samba/smb.conf /backup/smb.conf
mkdir /backup/samba
cp -rv /var/lib/samba/* /backup/samba

Ülekirjutamist ei toimu. kui see on aga vajalik, siis tuleb enne kaust kustutada "rm -r /backup/samba" ning uuesti luua.

Taastamine:

cp /backup/smb.conf /etc/samba/smb.conf
cp -rv /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

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%

Profile path

ning muudatused ära salvestada. Seejärel tuleks käivitada Start -> Run'is käsk "gpudate /force", mis sunnib uuendama Group Policy't.

gpupdate


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





Kasutatud kirjandus