Failiserver Samba labor 2

From EIK wiki

Versioon

Versioon 1.1 - valmis retsenseerimiseks (parandatud)
Viimati muudetud 10:39, 15 December 2009 (EET)

Autorid

Sven Lepamets
Martin Raudsik
Rainit Vildo

Sissejuhatus

Samba on failiserveri tarkvara, mis implementeerib SMB/CIFS protokolli. Selle abil on võimalik faile ning printereid jagada nii Windowsi kui UNIX-i laadsete operatsioonisüsteemide jaoks. Antud juhul luuakse üks server ning üks kasutaja, kes suudab selle kaudu ühenduda. Eesolev dokumentatsioon kirjeldab Samba 3 versiooni installeerimist ning selle konfigureerimist järgnevate nõuete täitmiseks:

Nõuded

  1. Punktiga algavaid (hidden) faile ei näidata.
  2. Kasutajate kodukataloogid jagatakse välja.
  3. Lab kataloog jagatakse grupipõhiselt välja.
  4. Autentimine toimub ITK LDAP abil.
  5. Kooditabel UTF-8

Eeldused

Ubuntu server 9.10 või uuem.
Baasteadmised unixi käsureal töötamisest.
Kasutaja on sudo õigustes.

sudo -i

Installeerimine

Samba installeerimine

apt-get install samba smbfs

Vajadusel käivitamine, stop ja reload

/etc/init.d/samba {start | stop | reload | restart}

või

service samba {start | stop | reload | restart}

Konfigureerimine

Samba konfigureerimseks on vaja muuta faili smb.conf

nano /etc/samba/smb.conf

Parameetreid saab testida käsuga testparm

testparm -s

Konfiguratsioonifail peab olema selline:

[global]
        #Määrab Samba kasutatava kodeeringu (ülesanne 5)
	display charset = UTF-8
        unix charset = UTF-8

	server string = %h server (Samba, Ubuntu)
	interfaces = lo, eth0
	bind interfaces only = Yes
	passwd program = /usr/bin/passwd %u
	passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
	log level = 3
	syslog = 3
	log file = /var/log/samba/log.%m
	max log size = 1000
	dns proxy = No

        #Ldap seaded (ülesanne 4).
	passdb backend = ldapsam:ldap://172.16.0.150
        #Ldap admini kasutajakirjeldus, see on iga installeerija puhul erinev! (Vt õpetust allpool)
        ldap admin dn = "uid=ldap_admin_kasutaja,ou=People,dc=itcollege,dc=ee"
	ldap group suffix = ou=Groups
	ldap idmap suffix = ou=Idmap
	ldap machine suffix = ou=Computers
	ldap replication sleep = 2000
	ldap suffix = dc=itcollege,dc=ee
	ldap ssl = no
	ldap timeout = 3
	ldap user suffix = ou=People
	usershare allow guests = Yes
	panic action = /usr/share/samba/panic-action %d

        #Punktiga algavaid (hidden) faile välja ei jagata (ülesanne 1).
	veto files = /.*/

#Kasutajate kodukataloogid jagatakse välja (ülesanne 2).
[homes]
	comment = Home Directories
	valid users = %S
	create mask = 0700
	directory mask = 0700
	browseable = No
	browsable = No
        read only = No
#Lab kaust jagatakse välja grupipõhiselt (libuuid) (ülesanne 3).
[lab]
	comment = Labori kaust
	path = /var/data/lab
	valid users = @libuuid
	read list = @libuuid
	write list = @libuuid
	force group = libuuid
	read only = No
	create mask = 0664
	directory mask = 0770

Individuaalselt tuleb konfigureerida ldap administraatori kirje. Selleks tuleks smb.conf failis muuta rida

ldap admin dn = "uid=ldap_admin_kasutaja,ou=People,dc=itcollege,dc=ee"

nii, et see vastaks kirjele LDAP-is. (ITK puhul oleks see ldap admin dn = "uid=<kasutajanimi>,ou=People,dc=itcollege,dc=ee"). Sellele kirjele vastav kasutaja peaks olema ka süsteemis olemas (admini parool süsteemis peaks kattuma Ldapi pihta autentimiseks vajaliku parooliga; ITK parool):

adduser <kasutajanimi>

Seejärel tuleb luua kasutajale parool Samba jaoks, mis peaks samuti kattuma Ldap administraatori parooliga (ITK parool).

smbpasswd -a <kasutajanimi>

Käsu väljundiks on paratamatud errorid, mida tuleks ignoreerida.
Kirjeldama peab ka LDAP administraatori parooli (ITK parool). Seda käsku tuleb korrata alati, kui muutub ldap admin kirje samba konfiguratsioonifailis.

smbpasswd -W

Kausta Lab grupipõhiseks väljajagamiseks tuleks see esmalt luua.

mkdir -p /var/data/lab

Seejärel tuleks kausta omanikgrupp muuta vastavalt sellele, kellele soovitakse välja jagada. Antud juhul jagatakse see kaust välja grupile libuuid, sest selle grupi id vastab ITK üliõpilaste grupi id-le, mille jaoks ldap-ist õigus antakse.

chgrp libuuid /var/data/lab

Failiõigused tuleks anda nii et kasutajale ja grupile on kõik lubatud, teistele mitte midagi.

chmod 770 /var/data/lab

Eelnevalt loodud kasutaja tuleks lisada gruppi, kellele õigused antakse.

adduser <kasutajanimi> libuuid

Sambale tuleb teha restart

service samba restart

Testimine

Testimiseks tuleks installeerida smbclient

apt-get install smbclient

ja sellega ühenduda Samba külge kasutajana, kelle kohta on ldapis kirje (ning kelle kohta on eelpool konfigureeritud ldap adminil õigus pärida).

smbclient //<Samba serveri IP aadress>/<share nimi> -U <kasutajanimi>

Varundamine

Varundada oleks oluline Samba konfiguratsioonifail /etc/samba/smb.conf

cp /etc/samba/smb.conf <varundamiskausta täistee>

Taastamine

Taastamiseks tuleks kontrollida, kas Samba on installitud

apt-cache policy samba

vajadusel see installida (Installeerimine) ning seejärel kopeerida eelnevalt varundatud konfiguratsioonifail kausta /etc/samba nimega smb.conf

cp <varundatud faili täistee> /etc/samba/smb.conf