Zentyal SAMBA4

From ICO wiki
Jump to navigationJump to search

Autorid: Urmo Lihten A31 ja Kersti Lang A31 (2012 sügissemester)

Sissejuhatus

Samba 4 võimaluste rohke failiserver.

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.

Eeldused

  • Ubuntu 11.04 või uuem
  • eelnevalt paigaldatud Bind9 domeeniga piix.ee

kasutatakse Samba 4.0.0~alpha15~git20110124

Paigaldamine

Samba4 installeerimine

Logime sisse administraatorina:

sudo -i

Uuendame tarkvara nimekirja:

apt-get update

Installeerime Samba4 jaoks vajalikud paketid:

apt-get install samba4 samba4-clients

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.

LD_PRELOAD=/usr/lib/libdcerpc.so.0.0.1 /usr/share/samba/setup/provision --realm=SAMBA.PIIX.EE --domain=SAMBA --adminpass=Student1 --server-role='domain controller'

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
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
Once the above files are installed, your Samba4 server will be ready to use
Server Role:           domain controller
Hostname:              ns
NetBIOS Domain:        SAMBA
DNS Domain:            samba.piix.ee
DOMAIN SID:            S-1-5-21-115115566-1439331126-697070417
Admin password:        Student1

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 "log_daemon_msg "Starting Samba 4 daemon" "samba" " järele:

                log_daemon_msg "Starting Samba 4 daemon" "samba"

                #Lisatud 3 rida
                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

Kävitane Samba:

service samba4 start

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

Tehtud 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

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