een fileserver opzetten met samba

22
Enterprise Linux Samba installeren en configureren [email protected] - youtube.com/user/bertvvrhogent/ 23/04/2014

Upload: bert-van-vreckem

Post on 27-Jun-2015

399 views

Category:

Education


3 download

DESCRIPTION

Slides bij mijn videoles over Samba (zie http://youtu.be/w2RxBkqQ3ZQ)

TRANSCRIPT

Page 1: Een fileserver opzetten met Samba

Enterprise LinuxSamba installeren en [email protected] - youtube.com/user/bertvvrhogent/

23/04/2014

Page 2: Een fileserver opzetten met Samba

Samba 2

Doelstelling

● Samba installeren (CentOS 6.5)● Configuratiebestand begrijpen● Gedeelde mappen (shares) aanmaken● Gebruikers beheren● Toegang tot shares

Page 3: Een fileserver opzetten met Samba

Samba 3

Samba?

● Windows Network Neighbourhood– SMB protocol

● Samba-project = “clean-room” implementatie van SMB

● Gebruikt in:– File/printserver in bedrijfsomgevingen– Netwerkschijven/NAS-systemen voor

consumentenmarkt

Page 4: Een fileserver opzetten met Samba

Samba 4

Let op!

● Bij het volgen van HOWTO's op het web:– Nooit SELinux uitzetten– Nooit firewall uitzetten– Nooit “security = share” instellen

Page 5: Een fileserver opzetten met Samba

Samba 5

Requirements

● Host “NASBOX” in netwerk "TESTLAN" met shares:

– public● voor iedereen leesbaar, zonder inloggen● schrijfrechten voor geregistreerde gebruikers na inloggen

– private● enkel toegankelijk (met schrijfrechten) voor geregistreerde

gebruikers

– Geregistreerde gebruikers hebben schrijftoegang tot elkaars bestanden

– Home directory van gebruikers toegankelijk

– Twee geregistreerde gebruikers: “alice” en “bob”

Page 6: Een fileserver opzetten met Samba

Samba 6

Voorbereiding

● Hostnaam: – /etc/sysconfig/network

– /etc/hosts

– en herstarten● Packages installeren

– sudo yum install samba samba-client

● Groep aanmaken– sudo groupadd nasusers

● Gebruikers aanmaken (& test inloggen!)– sudo useradd -m -G nasusers alice

– sudo useradd -m -G nasusers bob

Page 7: Een fileserver opzetten met Samba

Samba 7

Voorbereiding

● Gebruikerswachtwoorden:– passwd (Linux account)

– smbpasswd [-a] (Samba account)

– beide zijn nodig, worden apart beheerd!● Gedeelde mappen aanmaken

– /srv/shares/public en /srv/shares/private

– eigendom van groep nasusers

– schrijfbaar voor groepleden

Page 8: Een fileserver opzetten met Samba

Samba 8

SELinux

● = ”Security Enhanced” Linux– Extra beveiliging, ingebakken in kernel– Open source project opgestart door NSA– Nu standaard in RedHat, Fedora, CentOS, ...

● Aan- en uitzetten:– sestatus

– /etc/sysconfig/selinux

Page 9: Een fileserver opzetten met Samba

Samba 9

SELinux

● Algemene SELinux instellingen– getsebool [-a]

– setsebool [-P] SETTING=val

– vb.setsebool -P samba_enable_home_dirs onsetsebool -P samba_export_all_rw on

● Context: extra permissies op bestanden– vastgelegd a.h.v. “policies”/etc/selinux/targeted/contexts/files/file_contexts

– opvragen: ls -Z

Page 10: Een fileserver opzetten met Samba

Samba 10

SELinux context wijzigen

● Tijdelijk (= tot 'relabelen'):chcon [-R] -t CONTEXT DIR...

● Permanent: semanage fcontext -a -t CONTEXT PATTERN

– vb. semanage fcontext -a -t samba_share_t "/srv/shares(/.*)?"

– opm. installeer package policycoreutils-python

– Zie /etc/selinux/targeted/contexts/files/file_contexts.local

● Daarna relabelen: restorecon -Rv /srv

Page 11: Een fileserver opzetten met Samba

Samba 11

Samba configuratie

● /etc/samba/smb.conf

– Structuur .ini-bestand:[sectie] # Uitleg in commentaar var1 = val1 var2 = val2 ; var3 = val3 (in commentaar)

– Na elke wijziging (en/of): service smb restartservice nmb restart

Page 12: Een fileserver opzetten met Samba

Samba 12

Pro Tips

● Maak backup van origineel en eventueel ook telkens van laatst werkende versie

● Kleine veranderingen– Valideer telkens configuratie: testparm -s [CONFIG]

– Controleer telkens resultaat● Volg de logs!

– /var/log/samba/*

– /var/log/messages

– /var/log/audit/audit.log (SELinux)

● Verwijder onnodige commentaar

Page 13: Een fileserver opzetten met Samba

Samba 13

Pro Tips

● Let op bij combineren HOWTO's– verschillende manieren om zelfde configuratie

toe te passen (zie man smb.conf), vb.:writable = noread only = yes

– voor je't weet heb je tegenstrijdige configuratie

– controleer resultaat met testparm en pas zo nodig configbestand aan

Page 14: Een fileserver opzetten met Samba

Samba 14

Firewall-instellingen

● Controleer eerst de open poorten:sudo netstat -tulnp

– TCP: 139, 445 (smbd)– UDP: 137, 138 (nmbd)

● /etc/sysconfig/iptables

– na wijzigen: service iptables restart

Page 15: Een fileserver opzetten met Samba

Samba 15

Testen

● WINS name resolution – Zodat "\\nasbox" in Windows Explorer werkt– nmblookup -B SERVER '*'

– nmblookup -d 2 '*'

● Lijst van publiek gedeelde mappen– smbclient -L //localhost -U%

– smbclient -L //IPADRES -U%

– smbclient -L //nasbox -U%

Page 16: Een fileserver opzetten met Samba

Samba 16

Toegang shares testen

● Als gastsmbclient //nasbox/public -U%

● Geregistreerde gebruiker:smbclient //nasbox/public -Ualice

● Eerst lokaal, dan vanop hostsysteem– Windows Explorer: vb. \\nasbox\public– "Map network drive"– net use x: \\nasbox\public

Page 17: Een fileserver opzetten met Samba

Samba 17

Toegang shares testen

● Linux hostsysteem:– File manager > Connect to server of Ctrl + L– Als gast: smb://nasbox/public– Gebruiker: smb://alice@nasbox/public– Opgelet voor firewall!

● "samba-client" toelaten, of poorten 137, 138 UDP

Page 18: Een fileserver opzetten met Samba

Samba 18

Toegang shares testen

● Aanbevolen: smbclient– meest flexibel– kan je scripten (tests automatiseren!)– geeft beste foutboodschappen

Page 19: Een fileserver opzetten met Samba

Samba 19

Smbclient

● Overzicht gedeelde mappen:– als gast: smbclient -L //nasbox -U%

– gebruiker: smbclient -L //nasbox -Ualice

● Inloggen op een share– als gast: smbclient //nasbox/public -U%

– gebruiker: smbclient //nasbox/public -Ualice

● "commando-shell"– ls, cd, pwd, mkdir, rmdir, del, chmod, chown, enz.

– get pub.txt, mget *.txt

– put somefile.txt, mput *.txt

– exit (of Ctrl+D)

Page 20: Een fileserver opzetten met Samba

Samba 20

Schrijftoegang

● Moet op verschillende niveaus kloppen!– Linux bestandspermissies– Samba configuratie

(vb. write list, writeable, valid users)

– SELinux-instellingen(setsebool en semanage fcontext)

Page 21: Een fileserver opzetten met Samba

Samba 21

Meer info

● RedHat 6 Deployment Guide, hst 19.1 "Samba"https://access.redhat.com/site/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Deployment_Guide/ch-File_and_Print_Servers.html#s1-Samba

● The Official Samba 3.5.x HOWTO and Reference Guide, hst 38 "The Samba Checklist"https://www.samba.org/samba/docs/man/Samba-HOWTO-Collection/diagnosis.html

● man smb.confhttps://www.samba.org/samba/docs/man/manpages-3/smb.conf.5.html

● CentOS Wiki: HowTo SELinuxhttp://wiki.centos.org/HowTos/SELinux

● SELinux for mere mortals (Thomas Cameron)http://www.youtube.com/watch?v=MxjenQ31b70

Page 22: Een fileserver opzetten met Samba

Enterprise LinuxSamba installeren en [email protected] - youtube.com/user/bertvvrhogent/

23/04/2014