een fileserver opzetten met samba
Post on 27-Jun-2015
399 Views
Preview:
DESCRIPTION
TRANSCRIPT
Enterprise LinuxSamba installeren en configurerenbert.vanvreckem@hogent.be - youtube.com/user/bertvvrhogent/
23/04/2014
Samba 2
Doelstelling
● Samba installeren (CentOS 6.5)● Configuratiebestand begrijpen● Gedeelde mappen (shares) aanmaken● Gebruikers beheren● Toegang tot shares
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
Samba 4
Let op!
● Bij het volgen van HOWTO's op het web:– Nooit SELinux uitzetten– Nooit firewall uitzetten– Nooit “security = share” instellen
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”
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
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
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
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
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
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
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
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
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
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%
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
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
Samba 18
Toegang shares testen
● Aanbevolen: smbclient– meest flexibel– kan je scripten (tests automatiseren!)– geeft beste foutboodschappen
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)
Samba 20
Schrijftoegang
● Moet op verschillende niveaus kloppen!– Linux bestandspermissies– Samba configuratie
(vb. write list, writeable, valid users)
– SELinux-instellingen(setsebool en semanage fcontext)
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
Enterprise LinuxSamba installeren en configurerenbert.vanvreckem@hogent.be - youtube.com/user/bertvvrhogent/
23/04/2014
top related