original in es Sebastian Sasías
es to en Sebastian Sasías
en to nl Hendrik-Jan Heins
Hij heeft Linux nu al enkele jaren in gebruik als een
gereedschap om technologische oplossingen te ontwikkelen.
Hij werkt aan apparaatbeheer met behulp van Linux, signaalverwerking,
communicatie en netwerkbeveiliging.
Hij is een Professional in Electronica - Automatisering en Computer
Wetenschappen.
Hij heeft enkele bijdragen geleverd aan Free Software ontwikkeling onder GNU/GPL.
Ga uit van een Linux/SAMBA server die dient als PDC, waarop alle
geautoriseerde gebruikers ook toegang hebben tot twee gedeelde directories
op de server: de een is publieke ruimte, de andere is een priv�-gebied.
In dit artikel wordt er gekeken naar de toegang tot een privaat gegevens
gebied zoals dat vaak wordt gebruikt, een soort persoonlijke map voor elke
gebruiker.
Details waaraan gedacht dient te worden:
Linux/Samba NetBIOS
Naam:SMBServer
Windows domainnaam (werkgroep): HETDOMEIN
Private partitie voor iedere gebruiker: H: (Windows) =>
/home/ (Linux server)
Publieke partitie: P: (Windows) =>
/home/public
Figuur 1 toont een eenvoudig netwerk met Windows clients
die gebruik maken van de bronnen en diensten van de Windows NT/2000 server.
Het is deze server die we gaan vervangen door SAMBA op Linux.
Volg de stappen:
1) Maak de gebruikers aan die geautoriseerd moeten worden door
de PDC server (Linux met Samba).
Gebruik het adduser commando, useradd of
userconf, of kies voor een gebruikersbeheer-tool
met grafische interface zoals Webmin, Linuxconf of Yast bijvoorbeeld.
Controleer of gebruikers enkel toegang hebben tot de Linux/Samba diensten en
niks anders (als dat is wat je wilt), dit houdt in dat ze geen toegang hebben tot
de Linux commandoregel. Om dit voor elkaar te krijgen, moet je /dev/null als home directory aangeven en /bin/false als shell (commandoregel).
2) Converteer de UNIX gebruikers naar Linux/Samba/Windows gebruikers,
met behulp van het smbpasswd bestand.
cat /etc/passwd |
mksmbpasswd.sh > /etc/samba/smbpasswd
Een andere manier om dit voor elkaar te krijgen is de volgende:
voer de volgende SAMBA commando's uit voor het maken van gebruikers
en om wachtwoorden aan te geven:
smbadduser
smbpasswd
Deze commando's werken op dezelfde manier als de adduser en passwd
commando's.
3) Bewerk het SAMBA configuratiebestand (smb.conf), en zet of verwijder
de commentaartekens als volgt:
netbios name = SMBServer
workgroup = HETDOMEIN
server string = Linux Samba NT Server
log file = /var/log/samba/%m.log
max log file = 0
security = user
encrypt password = yes
smb password file = /etc/samba/smbpasswd
ssl CA certificate = /usr/share/ssl/... (verwijder het commentaarteken)
socket options = (verwijder het commentaarteken)
local master = yes
preferred master = yes
domain master = yes
domain logons = yes
logon script = logon.bat
wins support = yes
[netlogon]
comment = Initialization Scripts
path = /home/netlogon
read only = yes
guest ok = yes
browseable = no
[home]
comment = User Directory
path = /home/%U
browseable = yes
writable = yes
[public]
comment = Public Directory
path = /home/public
browseable = yes
writable = yes
guest ok = yes
create mask = 0777
force create mask = 0777
net time \\SMBServer /y
(je kunt ook gebruik maken van:
/yes in plaats van /y
)
net use H: \\SMBServer\home -y
(Je kunt ook gebruik maken van:
/yes of /y in plaats van -y
)
net use P: \\SMBServer\public -y
Op Windows 95/98/ME zou dat als volgt moeten worden ingesteld:
Start => Setup (instellingen) => Control Panel (configuratiescherm) => Network (netwerk) =>Network Client for Microsoft Networks (netwerk client voor Microsoft netwerken) => Properties (eigenschappen).
Een Windows NT/2000 client (Workstation/Professional) kan op
een soortgelijke manier worden ingesteld, maar de volgorde van handelingen is
niet exact hetzelfde.
Klik op de optie "Start session in Windows NT/2000
domain" en geef het volgende domein op: HETDOMEIN (WORKGROUP).
Hier wordt een compleet SAMBA configuratiebestand weergegeven,
dit bestand is getest op verschillende distributies. De lezer kan het
aanpassen om de benodigde resultaten te verkrijgen. Iedere instructie
is uitgebreid becommentarieerd.
Een laatste woord van advies voor degenen die de SAMBA configuratie
graag wat handiger willen: installeer Webmin en/of SWAT, deze
gereedschappen maken het configureren heel wat vriendelijker.
#============================================================#
# /etc/smb.conf
#------------------------------------------------------------------------------------------------------------#
# Algemeen SAMBA configuratiebestand
# Raamwerk voor configuratie, selecteer de
# gewenste parameters naar keus
#------------------------------------------------------------------------------------------------------------#
# Getest op de volgende systemen (Solaris en Linuxdistributies):
# RedHat 6.0, 7.0 en 7.1
# Solaris 7
# Slackware 7.x
# Mandrake 6.1, 7.0 en 8.1
# SuSE 7.2
#------------------------------------------------------------------------------------------------------------#
# Laatste wijziging: 08/12/2001
# Sebastian Sasias - sasias(at)linuxmail(dot)org
#============================================================#
#
# Dit bestand volgt de aanwijzingen uit de SABMA documentatie
# meerbepaald: de smb.conf(5) manual
#
# Test deze configuratie na het wijzigen met de opdracht "testparm"
#
#======================== Globale Opties
=======================#
#
# Algemene configuratie
#
[global]
#......................................................................................................................................#
# workgroup = NT-Domeinnaam of werkgroepnaam, ie: HETDOMEIN
# PDC Domain
workgroup = HETDOMEIN
#......................................................................................................................................#
# De naam van deze machine, wordt gezien door de clients
netbios name =
SMBServer
#......................................................................................................................................#
# Dit commentaar zal verschijnen in de "Netwerkomgeving' van Windows.
server string = Samba Server van het departement/bedrijf/netwerk
#......................................................................................................................................#
# Deze regel is belangrijk voor de veiligheid, het staat enkel
# verbindingen toe met bepaalde machines in het lokale netwerk.
# In dit voorbeeld is er enkel toegang mogelijk voor computers in het
# 192.168.8.0 bereik (klasse C netwerk) en van de "loopback" interface.
# Meer details in de smb.conf man pagina's.
# Dus: de gedeelde toegang is enkel te lezen voor machines met een IP adres
# dat begint met 192.168.8 of met 127
; hosts allow = 192.168.8.
127.
#......................................................................................................................................#
# Als je automatisch een printerlijst wilt laten genereren...
; load printers =
yes
#......................................................................................................................................#
# Een alternatieve printcap locatie is mogelijk
; printcap name =
/etc/printcap
#......................................................................................................................................#
# In SystemV moeten de printcap name properties voor lpstat
# het automatisch ophalen van een printerlijst via het spool-systeem toelaten.
; printcap name =
lpstat
#......................................................................................................................................#
# Je moet geen printsysteem opgeven tenzij het niet-standaard is
# Ondersteunde printsystemen:
# bsd, sysv, plp, lprng, aix, hpux, qnx
; printing =
bsd
#......................................................................................................................................#
# Activeer dit als je ook een 'guest' account wilt.
# Die moet je ook toevoegen aan /etc/passwd, anders wordt de user
# "nobody" hiervoor gebruikt
; guest account =
pcguest
#......................................................................................................................................#
# Dit is om het gebruik te forceren van een aparte logfile voor iedere
# client computer die een verbinding maakt.
log file =
/var/log/samba/log.%m
#......................................................................................................................................#
# Een maximale grootte voor de logfiles, in Kb.
max log size = 50
#......................................................................................................................................#
# Lees security_level.txt voor meer info!
# Bepaalt het paswoord-beleid.
# User level security = elke gebruiker heeft zijn eigen paswoord (smbpasswd)
security = user
#......................................................................................................................................#
# Als security = server dan wordt een andere server gebruikt voor de
# authenticatie. Dan heb je deze optie nodig (geef het IP adres):
; password server =
<NT-Server-Name>
#......................................................................................................................................#
# Als je wachtwoord-versleuteling wilt gebruiken. Lees zeker ENCRYPTION.TXT,
# Win95.txt en WinNT.txt uit de Samba documentatie.
# Gebruik deze optie enkel als je weet waar je mee bezig bent.
encrypt passwords =
yes
#......................................................................................................................................#
# Met de volgende regel kan je de configuratie aanpassen voor elke
# client in het netwerk apart. De %m wordt daarbij vervangen door de netbios
# naam van de client.
; include =
/usr/local/samba/lib/smb.conf.%m
#......................................................................................................................................#
# De documentatie en een populaire "tip" leert dat je met deze
# optie waarschijnlijk betere prestaties haalt. Proberen!
# Zie ook in speed.txt en de man pagina's voor meer details.
socket options =
TCP_NODELAY
#......................................................................................................................................#
# Samba configuratie om meerdere netwerkkaarten te gebruiken.
# Als je meerdere netwerkkaarten hebt dan moet je ze hier opgeven.
# Lees de man pagina voor de details.
; interfaces =
192.168.8.2/24 192.168.12.2/24
#......................................................................................................................................#
# Browser Control Opties:
# zet local master op 'no' als je Samba wilt beletten om de master browser
# te worden van je netwerk.
local master =
yes
#......................................................................................................................................#
# OS Level bepaalt de prioriteit van deze server
# bij het kiezen van de master browser.
# Meestal is de standaardwaarde bruikbaar.
; os level =
33
#......................................................................................................................................#
# Domain Master specificeert of Samba de Domain Master Browser is.
# Dit maakt het mogelijk om Samba ook als PDC te gebruiken en om machines
# in andere TCP/IP subnetten te 'zien'
# Niet gebruiken als je al een andere PDC gebruikt!
domain master =
yes
#......................................................................................................................................#
# Preferred Master maakt dat Samba bij elke herstart
# een 'local browser election' zal forceren, en geeft het
# aldus een hogere kans om die verkiezing te winnen.
# Als er meer dan één server aanwezig is, zal
# de 'preferred master' de 'favoriet' worden van de clients die
# naar een server zoeken een lijst.
preferred master =
yes
#......................................................................................................................................#
# Gebruik dit enkel indien je een NT/2000 server
# in je netwerk hebt als PDC.
; domain controller =
<NT-Domain-Controller-SMBName>
#......................................................................................................................................#
# Zet dit aan als je SAMBA wilt gebruiken als "domain logon
# server" voor Windows 9x/Me clients.
domain logons =
yes
#......................................................................................................................................#
# Als je "domain logons" aan hebt staan, moet je voor
# elke machine of voor elke gebruiker in het Windows netwerk
# een logon script maken.
# Voor een logon batch file voor elk workstation
; logon script =
%m.bat
# Of voor elke gebruiker
; logon script =
%U.bat
#......................................................................................................................................#
# Dit is waar de 'roving profiles' (voor Win95 en WinNT)
# moeten opgeslagen worden
# %L staat voor de NetBIOS naam van de server, %U voor de username
# Je moet onderstaande [Profiles] share uitcommenten
; logon path =
\\%L\Profiles\%U
#......................................................................................................................................#
# Ondersteuning voor Windows Internet Name Service:
# geeft NMBD de opdracht om zijn WINS Server in te schakelen.
# Het WINS protocol converteert machinenamen naar IP addressen,
# het werkt net als DNS via TCP/IP.
; wins support =
yes
#......................................................................................................................................#
# WINS Server - vertelt de NMBD componenten van Samba om zich als WINS client
# te gedragen. De SAMBA Server kan ofwel WINS server zijn ofwel client, maar niet
# beide tegelijk. Geef hier het adres van de WINS server.
; wins server =
192.168.8.1
#......................................................................................................................................#
# WINS Proxy - vertelt Samba of hij name resolution queries moet beantwoorden
# voor clients die geen WINS ondersteunen. Hiervoor moet er op zijn minst
# 1 WINS server aanwezig zijn in het netwerk. De standaardwaarde is 'no'.
; wins proxy =
yes
#......................................................................................................................................#
# DNS Proxy - vertelt Samba of hij al dan niet de NetBIOS namen
# moet opzoeken via DNS (resolving).
# De standaardwaarde was 'yes' tot versie 1.9.17, daarna 'no'.
# dns proxy = yes
# dns proxy = no (name resolution zal dan gebeuren via het bestand lmhosts )
#......................................................................................................................................#
# Als er geen logon-schijf is opgegeven, wordt Z: automatisch gemount
logon drive = P:
#......................................................................................................................................#
# Bij elke login wordt dit script uitgevoerd:
/etc/samba/netlogon/SAMBA.BAT
logon script =
SAMBA.BAT
#====================== Share Definitions
========================#
# Persoonlijke directory van elke gebruiker
# Unit P:
[homes]
comment = Home Directories
browseable = no
writable = yes
readonly = no
force create mode = 0700
create mode = 0700
force directory mode = 0700
directory mode = 700
#------------------------------------------------------------------------------------------------------------#
# Directory voor tijdelijke bestanden
# Unit T:
[tmp]
comment = Tempora Files
path = /tmp
readonly = no
public = yes
writable = yes
force create mode = 0777
create mode = 0777
force directory mode = 0777
directory mode = 0777
#------------------------------------------------------------------------------------------------------------#
# De CD-ROM in de server
# Unit L:
[cdrom]
comment = CD-ROM
path = /mnt/cdrom
public = yes
writable = no
#------------------------------------------------------------------------------------------------------------#
# Group, komt overeen met /home/grp.groepnaam
# /home/user/group is een link naar /home/grp.groepnaam
# grp.groepnaam heeft permissies 770
# Unit G:
[group]
comment = Directory of Group
path = /home/%u/group
writable = yes
readonly = no
force create mode = 0770
create mode = 0770
force directory mode = 0770
directory mode = 0770
#------------------------------------------------------------------------------------------------------------#
# Dit onderdeel dient om installatieprogramma's en software op te slaan
# permissies van /net en /net/install : 755, i.e: root is de eigenaar
# Unit N:
[net]
comment = Directory Net
path = /net
writable = yes
readonly = no
force create mode = 0750
create mode = 0750
force directory mode = 0750
directory mode = 0750
#------------------------------------------------------------------------------------------------------------#
[netlogon]
comment = Logon Services in the Network
path = /etc/samba/netlogon
guest ok = yes
writable = no
locking = no
public = no
browseable = yes
share modes = no
#------------------------------------------------------------------------------------------------------------#
#============================================================#
Het SAMBA pakket en andere Linux gereedschappen zijn onderhevig aan een
constante evolutie, daardoor is het mogelijk dat enkele details die hier
beschreven worden, later niet meer werken. In de geschiedenis van SAMBA
zijn enkele parameter namen in de configuratiebestanden enigszins veranderd,
dit om een beter structuur te verkrijgen.
Als je tijdens de configuratie foutmeldingen krijgt over onbekende
parameters, dan zijn er twee eenvoudige manieren om het probleem op
te lossen:
SAMBA is
een product verdeeld wordt onder de GPL Licentie.
Linux is een geregistreerd handelsmerk van Linus Torvalds.
Solaris is een besturingssyteem en geregistreerd handelsmerk
van Sun Microsystems.
MS Windows is een besturingssysteem en geregistreerd handelsmerk
van Microsoft.
Het gebruik van SAMBA levert grote besparingen op het gebied van
licentie kosten die afgedragen dienen te worden aan Microsoft.