SlideShare uma empresa Scribd logo
1 de 22
Baixar para ler offline
Enterprise Linux
Samba installeren en configureren
bert.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 on
setsebool -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 restart
service 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 = no
read 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 gast
smbclient //nasbox/public -U%
● Geregistreerde gebruiker:
smbclient //nasbox/public -Ualice
● Eerst lokaal, dan vanop hostsysteem
– Windows Explorer: vb. nasboxpublic
– "Map network drive"
– net use x: nasboxpublic
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.conf
https://www.samba.org/samba/docs/man/manpages-3/smb.conf.5.html
● CentOS Wiki: HowTo SELinux
http://wiki.centos.org/HowTos/SELinux
● SELinux for mere mortals (Thomas Cameron)
http://www.youtube.com/watch?v=MxjenQ31b70
Enterprise Linux
Samba installeren en configureren
bert.vanvreckem@hogent.be - youtube.com/user/bertvvrhogent/
23/04/2014

Mais conteúdo relacionado

Mais de Bert Van Vreckem

One vagrantfile to rule them all
One vagrantfile to rule them allOne vagrantfile to rule them all
One vagrantfile to rule them allBert Van Vreckem
 
Linux Enterprise - inleiding cursus, 5 trends in systeembeheer
Linux Enterprise - inleiding cursus, 5 trends in systeembeheerLinux Enterprise - inleiding cursus, 5 trends in systeembeheer
Linux Enterprise - inleiding cursus, 5 trends in systeembeheerBert Van Vreckem
 
A Reinforcement Learning Approach for Hybrid Flexible Flowline Scheduling Pro...
A Reinforcement Learning Approach for Hybrid Flexible Flowline Scheduling Pro...A Reinforcement Learning Approach for Hybrid Flexible Flowline Scheduling Pro...
A Reinforcement Learning Approach for Hybrid Flexible Flowline Scheduling Pro...Bert Van Vreckem
 
Gebruikers, groepen en permissies
Gebruikers, groepen en permissiesGebruikers, groepen en permissies
Gebruikers, groepen en permissiesBert Van Vreckem
 
Een literatuurstudie maken: hoe & waarom
Een literatuurstudie maken: hoe & waaromEen literatuurstudie maken: hoe & waarom
Een literatuurstudie maken: hoe & waaromBert Van Vreckem
 

Mais de Bert Van Vreckem (9)

One vagrantfile to rule them all
One vagrantfile to rule them allOne vagrantfile to rule them all
One vagrantfile to rule them all
 
Linux Enterprise - inleiding cursus, 5 trends in systeembeheer
Linux Enterprise - inleiding cursus, 5 trends in systeembeheerLinux Enterprise - inleiding cursus, 5 trends in systeembeheer
Linux Enterprise - inleiding cursus, 5 trends in systeembeheer
 
A Reinforcement Learning Approach for Hybrid Flexible Flowline Scheduling Pro...
A Reinforcement Learning Approach for Hybrid Flexible Flowline Scheduling Pro...A Reinforcement Learning Approach for Hybrid Flexible Flowline Scheduling Pro...
A Reinforcement Learning Approach for Hybrid Flexible Flowline Scheduling Pro...
 
Gebruikers, groepen en permissies
Gebruikers, groepen en permissiesGebruikers, groepen en permissies
Gebruikers, groepen en permissies
 
Wachtwoorden in Linux
Wachtwoorden in LinuxWachtwoorden in Linux
Wachtwoorden in Linux
 
Een literatuurstudie maken: hoe & waarom
Een literatuurstudie maken: hoe & waaromEen literatuurstudie maken: hoe & waarom
Een literatuurstudie maken: hoe & waarom
 
Workshop latex
Workshop latexWorkshop latex
Workshop latex
 
Workshop Scala
Workshop ScalaWorkshop Scala
Workshop Scala
 
Clean, effective java
Clean, effective javaClean, effective java
Clean, effective java
 

Een fileserver opzetten met Samba

  • 1. Enterprise Linux Samba installeren en configureren bert.vanvreckem@hogent.be - youtube.com/user/bertvvrhogent/ 23/04/2014
  • 2. Samba 2 Doelstelling ● Samba installeren (CentOS 6.5) ● Configuratiebestand begrijpen ● Gedeelde mappen (shares) aanmaken ● Gebruikers beheren ● Toegang tot shares
  • 3. 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
  • 4. Samba 4 Let op! ● Bij het volgen van HOWTO's op het web: – Nooit SELinux uitzetten – Nooit firewall uitzetten – Nooit “security = share” instellen
  • 5. 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”
  • 6. 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
  • 7. 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
  • 8. 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
  • 9. Samba 9 SELinux ● Algemene SELinux instellingen – getsebool [-a] – setsebool [-P] SETTING=val – vb. setsebool -P samba_enable_home_dirs on setsebool -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
  • 10. 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
  • 11. 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 restart service nmb restart
  • 12. 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
  • 13. Samba 13 Pro Tips ● Let op bij combineren HOWTO's – verschillende manieren om zelfde configuratie toe te passen (zie man smb.conf), vb.: writable = no read only = yes – voor je't weet heb je tegenstrijdige configuratie – controleer resultaat met testparm en pas zo nodig configbestand aan
  • 14. 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
  • 15. 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%
  • 16. Samba 16 Toegang shares testen ● Als gast smbclient //nasbox/public -U% ● Geregistreerde gebruiker: smbclient //nasbox/public -Ualice ● Eerst lokaal, dan vanop hostsysteem – Windows Explorer: vb. nasboxpublic – "Map network drive" – net use x: nasboxpublic
  • 17. 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
  • 18. Samba 18 Toegang shares testen ● Aanbevolen: smbclient – meest flexibel – kan je scripten (tests automatiseren!) – geeft beste foutboodschappen
  • 19. 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)
  • 20. Samba 20 Schrijftoegang ● Moet op verschillende niveaus kloppen! – Linux bestandspermissies – Samba configuratie (vb. write list, writeable, valid users) – SELinux-instellingen (setsebool en semanage fcontext)
  • 21. 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.conf https://www.samba.org/samba/docs/man/manpages-3/smb.conf.5.html ● CentOS Wiki: HowTo SELinux http://wiki.centos.org/HowTos/SELinux ● SELinux for mere mortals (Thomas Cameron) http://www.youtube.com/watch?v=MxjenQ31b70
  • 22. Enterprise Linux Samba installeren en configureren bert.vanvreckem@hogent.be - youtube.com/user/bertvvrhogent/ 23/04/2014