Samba4 installeerimine: Difference between revisions

From ICO wiki
Jump to navigationJump to search
Kvares (talk | contribs)
Mernits (talk | contribs)
 
(38 intermediate revisions by 5 users not shown)
Line 1: Line 1:
See artikkel on pooleni.
Autorid Kaie Vares AK31 ja Maksim Kornejev AK31
Autorid Kaie Vares AK31 ja Maksim Kornejev AK31


Line 8: Line 6:
=Skoop=  
=Skoop=  
Kasutame Samba 4.0.0alpha12  . Juhend kehtib Ubuntu Maverick 10.10 jaoks, kuhu pole installeeritud bind9, kerberos-serverit ja LDAP serverit. Meil on kasutada näidisdomeen nimega'' kena.kaalik.ee ''.
Kasutame Samba 4.0.0alpha12  . Juhend kehtib Ubuntu Maverick 10.10 jaoks, kuhu pole installeeritud bind9, kerberos-serverit ja LDAP serverit. Meil on kasutada näidisdomeen nimega'' kena.kaalik.ee ''.
<br/>


=Installeerimine=
=Installeerimine=


Töö alustamiseks on soovitav logida sisse administraatorina
Töö alustamiseks on soovitav logida sisse administraatorina
 
<source lang="bash">
sudo -i
sudo -i
</source>
Seejärel uuendame tarkvara nimekirja
Seejärel uuendame tarkvara nimekirja
 
<source lang="bash">
apt-get update
apt-get update
 
</source>
installime vajalikud paketid
installime vajalikud paketid
apt-get install samba4 samba4-clients bind9  
<source lang="bash">
 
apt-get install samba4 samba4-clients bind9  
</source>
salvestame vana konfiguratsiooni faili teise nimega
salvestame vana konfiguratsiooni faili teise nimega
mv /etc/samba/smb.conf{,.old}
<source lang="bash">
mv /etc/samba/smb.conf{,.old}
</source>
<br/>


Loome bind9 kofiguratsiooni faili. Parool peab olema vähemalt 7 sümbolit, meie näites:Kaalika55
Loome bind9 kofiguratsiooni faili. Parool peab olema vähemalt 7 sümbolit, meie näites:Kaalika55
  LD_PRELOAD=/usr/lib/libdcerpc.so.0.0.1 /usr/share/samba/setup/provision --realm=kena.kaalik.ee
 
--domain=KAALIK --adminpass=Kaalika55 --server-role='domain controller'
<source lang="bash">
LD_PRELOAD=/usr/lib/libdcerpc.so.0.0.1 /usr/share/samba/setup/provision --realm=kena.kaalik.ee \
--domain=KAALIK --adminpass=Kaalika55 --server-role='domain controller'
</source>
<br/>


==skriptide modifitseerimine==
==skriptide modifitseerimine==
Samba4 ei kontrolli samba kataloogi olemasolu /var/run ja see tuleb samba4 skripti ise lisada.
Samba4 ei kontrolli samba kataloogi olemasolu /var/run ja see tuleb samba4 skripti ise lisada.
<source lang="bash">
nano /etc/init.d/samba4
</source>
<br/>


  nano /etc/init.d/samba4
lisame SAMBAPID kontrolli rea  log_daemon_msg "Starting Samba 4 daemon" "samba"  alla:
<source lang="bash">
log_daemon_msg "Starting Samba 4 daemon" "samba"  


''...  log_daemon_msg "Starting Samba 4 daemon" "samba"  ''
#Lisame järgmised kolm rida
   
  if [ ! -d $(dirname $SAMBAPID) ];
'''if [ ! -d $(dirname $SAMBAPID) ];'''
    then  mkdir -p $(dirname $SAMBAPID)  
'''then  mkdir -p $(dirname $SAMBAPID)''' 
  fi
  '''fi'''
   
   
  ''if...''
  if ...
</source>
<br/>


Veel tuleb luua fail /usr/local/sbin/samba. Ka seda võib teha, kasutades käsku nano
Veel tuleb luua fail /usr/local/sbin/samba. Ka seda võib teha, kasutades käsku nano
<source lang="bash">
  nano  /usr/local/sbin/samba
  nano  /usr/local/sbin/samba
</source>
  '''#!/bin/sh'''
faili sisuks:
  '''LD_PRELOAD=/usr/lib/libdcerpc.so.0.0.1 /usr/sbin/$(basename $0)'''
<source lang="bash">
  #!/bin/sh
  LD_PRELOAD=/usr/lib/libdcerpc.so.0.0.1 /usr/sbin/$(basename $0)
</source>
<br/>


Tekkitame eelnevale ka lingid
Tekitame eelnevale ka lingid
<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>
<br/>


Samba4 käivitamine  
Samba4 käivitamine  
<source lang="bash">
   /etc/init.d/samba4 start
   /etc/init.d/samba4 start
</source>
<br/>


==DNS seadistamine==
==DNS seadistamine==
Alustuseks tuleb korrigeerida confi faili
Alustuseks tuleb korrigeerida confi faili
<source lang="bash">
  nano /etc/bind/named.conf.local
  nano /etc/bind/named.conf.local
</source>
<br/>


Lisada lõppu rida
Lisada lõppu rida
<source lang="bash">
  include "/var/lib/samba/private/named.conf";
  include "/var/lib/samba/private/named.conf";
</source>
<br/>


==AppArmor==
==AppArmor==
Järgmine probleem tekib AppArmoriga, kes kaitseb samba4 faile Bindi eest. Lahenduseks on:
Järgmine probleem tekib AppArmoriga, kes kaitseb samba4 faile Bindi eest. Lahenduseks on:
<br/>


<source lang="bash">
  nano /etc/apparmor.d/usr.sbin.named
  nano /etc/apparmor.d/usr.sbin.named
  ...
  ...
Line 70: Line 104:
  '''/var/lib/samba/private/dns/* rw,'''
  '''/var/lib/samba/private/dns/* rw,'''
  }
  }
</source>
<br/>


AppArmor profiilide laadimine and bindile restart:
AppArmor profiilide laadimine ja bindile restart:
 
<source lang="bash">
  /etc/init.d/apparmor reload
  /etc/init.d/apparmor reload
  /etc/init.d/bind9 restart
  /etc/init.d/bind9 restart
 
</source>
<br/>
<source lang="bash">
  nano /etc/resolv.conf
  nano /etc/resolv.conf
</source>
<br/>


Lisada rida  
Lisada rida  
<source lang="bash">
  nameserver 127.0.0.1
  nameserver 127.0.0.1
</source>
<br/>


==Kerberos==
==Kerberos==
Vajalik on veel Kerberose confifaili tõstmine
Vajalik on veel Kerberose confifaili tõstmine
 
<source lang="bash">
  cp /var/lib/samba/private/krb5.conf /etc/
  cp /var/lib/samba/private/krb5.conf /etc/
</source>
<br/>


=Testimine=
=Testimine=
Testimiseks installeerime paketti krb5-user
Testimiseks installeerime paketi krb5-user
<source lang="bash">
  apt-get install krb5-user
  apt-get install krb5-user
 
</source>
<br/>Versiooni kontrollimine:
<br/>Versiooni kontrollimine:
<source lang="bash">
  smbclient --version
  smbclient --version
 
</source>
Kontrollime, kas töötab:
<br/>
Kontrollime, kas Samba töötab:
<source lang="bash">
  smbclient -L localhost -U%
  smbclient -L localhost -U%
 
</source>
That should show you a list of shares available on your server. For example:
Tulemuseks on jagatud failide nimekiri:
<pre> Sharename      Type      Comment
<pre> Sharename      Type      Comment
---------      ----      -------
---------      ----      -------
Line 104: Line 153:
ADMIN$          Disk      DISK Service (%h server (Samba, Ubuntu))
ADMIN$          Disk      DISK Service (%h server (Samba, Ubuntu))
</pre>
</pre>


<br/>Testime dns serverit
<br/>Testime dns serverit
<source lang="bash">
  host -t SRV _kerberos._udp.kena.kaalik.ee
  host -t SRV _kerberos._udp.kena.kaalik.ee
</source>
<br/>


Loome kausta, mida jagada
Loome kausta, mida jagada
<source lang="bash">
  mkdir /data/test -p
  mkdir /data/test -p
 
</source>
<br/>
Lisame faili smb.conf lõppu share nimega test
Lisame faili smb.conf lõppu share nimega test
 
<source lang="bash">
  nano /etc/samba/smb.conf
  nano /etc/samba/smb.conf


Line 119: Line 172:
       path = /data/test
       path = /data/test
       read only = no
       read only = no
</source>
<br/>
teeme sambale restarti
teeme sambale restarti
  service samba4 restart
  service samba4 restart
<br/>


Kontrollime, kas kerberos-server töötab
Kontrollime, kas kerberos-server töötab
<source lang="bash">
  kinit Administrator
  kinit Administrator
 
</source>
Küsitakse administraatori parooli
<br/>
Proovime, kas pääseme ligi jagatud kaustale
<source lang="bash">
  smbclient //kena.kaalik.ee/test -U%
  smbclient //kena.kaalik.ee/test -U%
</source>
kui kõik on korras: (lõpetamiseks exit)
smb: \>


=Tulemüürimine=
=Tulemüür=
Samba4 kasutades peavad olema tulemüüris avatud järgmised pordid
Samba 4 kasutades peavad olema tulemüüris avatud järgmised pordid
<pre>
<pre>
> tcp            :137
> tcp            :139                 
> tcp            :139                 
> tcp            :464       
> tcp            :464       
Line 139: Line 206:
> tcp            :389                 
> tcp            :389                 
> tcp            :135               
> tcp            :135               
</pre>
Seda saab teha järgneva skriptiga, skripti täitmiseks peab olema administraatori õigustes.
<pre>
iptables -I INPUT -p tcp --dport 137 -j ACCEPT
iptables -I INPUT -p tcp --dport 139 -j ACCEPT
iptables -I INPUT -p tcp --dport 464 -j ACCEPT
iptables -I INPUT -p tcp --dport 88 -j ACCEPT
iptables -I INPUT -p tcp --dport 636 -j ACCEPT
iptables -I INPUT -p tcp --dport 445 -j ACCEPT
iptables -I INPUT -p tcp --dport 1024 -j ACCEPT
iptables -I INPUT -p tcp --dport 3268 -j ACCEPT
iptables -I INPUT -p tcp --dport 389 -j ACCEPT
iptables -I INPUT -p tcp --dport 135 -j ACCEPT
iptables -I INPUT -p tcp --dport 22 -j ACCEPT
iptables -I INPUT -p udp --dport 53 -j ACCEPT
iptables -I INPUT -p tcp --dport 80 -j ACCEPT
iptables -I INPUT -p tcp --dport 443 -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED -j ACCEPT
iptables -P INPUT DROP
iptables -A OUTPUT -o lo -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
</pre>
=Kasutaja loomine=
Uue kasutaja loomine käib käsuga:
<pre>
samba-tool newuser USERNAME
</pre>
</pre>


=kokkuvõte=
=kokkuvõte=
4 on keerulisem
SAmba4 on keerulisem varasemast versioonist, silmas tuleb ka pidada, et tsoonifail genereeritakse töö käigus automaatselt . Probleem võib tekkida sellega, et bind9 on eelnevalt installeeritud, sel juhul tuleb bind9 confi faile käsitsi korrigeerida..
(-tsoonifail oli olemas)






[[Category:IT infrastruktuuri teenused]]
[[Category:IT infrastruktuuri teenused]]
= Kasulikke viiteid=
1.http://blog.mycroes.nl/2010/09/installing-samba-4-on-ubuntu-maverick.html
2.Samba4 [[https://wiki.samba.org/index.php/Samba4]]
3.Samba4/HOWTO [[https://wiki.samba.org/index.php/Samba4/HOWTO]]
4.Samba4 state http://www.youtube.com/watch?v=zVjdOFjNNRQ&feature=related

Latest revision as of 19:57, 20 March 2012

Autorid Kaie Vares AK31 ja Maksim Kornejev AK31

Sissejuhatus

Samba4 ei ole veel valmis, arendus alles käib. Samba4 sisaldab sisemist LDAP serverit,Kerberos serverit koos PAC toetusega, Bind9, Python toetust jmuud. Samba4 kasutab uut Virtual File System (VFS) mis toetab Acess Control List -i (ACL).

Skoop

Kasutame Samba 4.0.0alpha12 . Juhend kehtib Ubuntu Maverick 10.10 jaoks, kuhu pole installeeritud bind9, kerberos-serverit ja LDAP serverit. Meil on kasutada näidisdomeen nimega kena.kaalik.ee .

Installeerimine

Töö alustamiseks on soovitav logida sisse administraatorina

sudo -i

Seejärel uuendame tarkvara nimekirja

apt-get update

installime vajalikud paketid

apt-get install samba4 samba4-clients bind9

salvestame vana konfiguratsiooni faili teise nimega

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


Loome bind9 kofiguratsiooni faili. Parool peab olema vähemalt 7 sümbolit, meie näites:Kaalika55

LD_PRELOAD=/usr/lib/libdcerpc.so.0.0.1 /usr/share/samba/setup/provision --realm=kena.kaalik.ee \
--domain=KAALIK --adminpass=Kaalika55 --server-role='domain controller'


skriptide modifitseerimine

Samba4 ei kontrolli samba kataloogi olemasolu /var/run ja see tuleb samba4 skripti ise lisada.

nano /etc/init.d/samba4


lisame SAMBAPID kontrolli rea log_daemon_msg "Starting Samba 4 daemon" "samba" alla:

 log_daemon_msg "Starting Samba 4 daemon" "samba"  

#Lisame järgmised kolm rida
 if [ ! -d $(dirname $SAMBAPID) ];
    then   mkdir -p $(dirname $SAMBAPID) 
 fi
 
 if ...


Veel tuleb luua fail /usr/local/sbin/samba. Ka seda võib teha, kasutades käsku nano

 nano  /usr/local/sbin/samba

faili sisuks:

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


Tekitame eelnevale ka lingid

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


Samba4 käivitamine

  /etc/init.d/samba4 start


DNS seadistamine

Alustuseks tuleb korrigeerida confi faili

 nano /etc/bind/named.conf.local


Lisada lõppu rida

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


AppArmor

Järgmine probleem tekib AppArmoriga, kes kaitseb samba4 faile Bindi eest. Lahenduseks on:

 nano /etc/apparmor.d/usr.sbin.named
 ...
 '''/var/lib/samba/private/* rw,'''
 '''/var/lib/samba/private/dns/* rw,'''
 }


AppArmor profiilide laadimine ja bindile restart:

 /etc/init.d/apparmor reload
 /etc/init.d/bind9 restart


 nano /etc/resolv.conf


Lisada rida

 nameserver 127.0.0.1


Kerberos

Vajalik on veel Kerberose confifaili tõstmine

 cp /var/lib/samba/private/krb5.conf /etc/


Testimine

Testimiseks installeerime paketi krb5-user

 apt-get install krb5-user


Versiooni kontrollimine:

 smbclient --version


Kontrollime, kas Samba töötab:

 smbclient -L localhost -U%

Tulemuseks on jagatud failide nimekiri:

 Sharename       Type       Comment
	---------       ----       -------
	printers        Printer    All Printers
	print$          Disk       Printer Drivers
	IPC$            IPC        IPC Service (%h server (Samba, Ubuntu))
	ADMIN$          Disk       DISK Service (%h server (Samba, Ubuntu))


Testime dns serverit

 host -t SRV _kerberos._udp.kena.kaalik.ee


Loome kausta, mida jagada

 mkdir /data/test -p


Lisame faili smb.conf lõppu share nimega test

 nano /etc/samba/smb.conf

 [test]
       path = /data/test
       read only = no


teeme sambale restarti

service samba4 restart


Kontrollime, kas kerberos-server töötab

 kinit Administrator

Küsitakse administraatori parooli


Proovime, kas pääseme ligi jagatud kaustale

 smbclient //kena.kaalik.ee/test -U%

kui kõik on korras: (lõpetamiseks exit)

smb: \>

Tulemüür

Samba 4 kasutades peavad olema tulemüüris avatud järgmised pordid

> tcp             :137
> tcp             :139                 
> tcp             :464       
> tcp             :88             
> tcp             :636              
> tcp             :445          
> tcp             :1024          
> tcp             :3268           
> tcp             :389                
> tcp             :135              

Seda saab teha järgneva skriptiga, skripti täitmiseks peab olema administraatori õigustes.

iptables -I INPUT -p tcp --dport 137 -j ACCEPT
iptables -I INPUT -p tcp --dport 139 -j ACCEPT
iptables -I INPUT -p tcp --dport 464 -j ACCEPT
iptables -I INPUT -p tcp --dport 88 -j ACCEPT
iptables -I INPUT -p tcp --dport 636 -j ACCEPT
iptables -I INPUT -p tcp --dport 445 -j ACCEPT
iptables -I INPUT -p tcp --dport 1024 -j ACCEPT
iptables -I INPUT -p tcp --dport 3268 -j ACCEPT
iptables -I INPUT -p tcp --dport 389 -j ACCEPT
iptables -I INPUT -p tcp --dport 135 -j ACCEPT
iptables -I INPUT -p tcp --dport 22 -j ACCEPT
iptables -I INPUT -p udp --dport 53 -j ACCEPT
iptables -I INPUT -p tcp --dport 80 -j ACCEPT
iptables -I INPUT -p tcp --dport 443 -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED -j ACCEPT

iptables -P INPUT DROP
iptables -A OUTPUT -o lo -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT

Kasutaja loomine

Uue kasutaja loomine käib käsuga:

samba-tool newuser USERNAME

kokkuvõte

SAmba4 on keerulisem varasemast versioonist, silmas tuleb ka pidada, et tsoonifail genereeritakse töö käigus automaatselt . Probleem võib tekkida sellega, et bind9 on eelnevalt installeeritud, sel juhul tuleb bind9 confi faile käsitsi korrigeerida..

Kasulikke viiteid

1.http://blog.mycroes.nl/2010/09/installing-samba-4-on-ubuntu-maverick.html

2.Samba4 [[1]]

3.Samba4/HOWTO [[2]]

4.Samba4 state http://www.youtube.com/watch?v=zVjdOFjNNRQ&feature=related