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. Suurimad omadused:

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

ja palju muud.

Eeldused

Kasutusel on Ubuntu 11.04, millel on juba Bind9 paigaldatud domeeniga piix.ee. Kasutusele läheb Samba 4.0.0~alpha15~git20110124.

Paigaldamine

Samba4 installeerimine

Logida sisse administraatorina:

sudo -i

Teha tarkvara nimekirja uuendamine:

apt-get update

Installeerida Samba4 jaoks vajalikud paketid:

apt-get install samba4 samba4-clients

Juhul kui eksisteerib vana Samba konfiguratsiooni fail, siis see kas kustutada või teha backupiks:

mv /etc/samba/smb.conf{,.old}

Bind9 konfiguratsiooni faili loomine

Eeldab, 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 või millegi muu korral ei hakka Kerberos tööle korralikult.
--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'

Tulemuse lõpuosa peaks olema midagi sarnast:

...
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" "alla:

                log_daemon_msg "Starting Samba 4 daemon" "samba"

                #Lisatud juurde 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

Selle sisuks tuleb

#!/bin/sh
LD_PRELOAD=/usr/lib/libdcerpc.0.0.1 /usr/sbin/$(basename $0)

Teeme eelnevale ka lingid

ln -s /usr/local/sbin/samba{,_dnsupdate}
ln -s /usr/local/sbin/samba{,_spnupdate}

Samba 4 käivitamine

service samba4 start

DNS seadistamine

Muudame Bind9 konfiguratsiooni

nano /etc/bind/named.conf.local

Kaasame Samba4 poolt loodud konfiratsiooni Bind9 seadetesse

include "/var/lib/samba/private/named.conf";

Apparmor'i probleem

Kuna Apparmor kaitseb Samba4 konfiguratsiooni Bind9 eest, siis peab tegema erandid Apparmorisse.

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

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)

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 ka seda kontrollida, et kas töötab korralikult ja kas seadistused said õigesti.
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, kas Samba4 töötab:

smbclient -L SAMBA.PIIX.EE -U%

Väljund peaks olema midagi sarnast ehk näitab väljajagatud failide/kausta/printerite nimekirjasid:

	Sharename       Type       Comment
	---------       ----       -------
	netlogon        Disk       
	sysvol          Disk       
	IPC$            IPC        IPC Service

Autentimise kontrollimiseks võiks käivitada järgneva käsu:

smbclient //SAMBA.PIIX.EE/netlogon -UAdministrator%'Student1' -c 'ls'

Väljundiks peaks tulema netlogon kausta sisu.

Kontrollime, kas Kerberos server töötab. Küsitakse admin parooli ehk praegusel juhul on Student1 selleks:

kinit Administrator@SAMBA.PIIX.EE

Edukal töötamisel ta mingit väljundit ei anna.
Kontrollime, kas Kerberos annab välja ka pileti ehk Ticketi:

klist

Tulemus peaks olema midagi sarnast:

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 juurde 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

Nüüd teeme Samba4-le väikese restardi ja kaustad peaksid olema seejärel väljajagatud.

service samba4 restart

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.
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.

Windowsi klientmasinas, kuhu on installeeritud kaughalduse programm administreerimaks domeeni serverit, tuleb võtta lahti Start->Run-> dsa.msc

dsa.msc


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%

Profile path

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

gpupdate


Peale seda korraks väljalogides ja vastava kasutajaga 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