|
|
| SAMBA fildelning, uppdaterad [2003-08-20] |

Hur fungerar det?
SAMBA är ett fildelningsprogram. Det delar ut enheter via
smbprotokollet i t.ex ett Linux system.
Smbprotokollet är standarden för distribuerade filsystem
över nätverk i dos/windows världen.
I de flesta linuxdistributioner finns stöd för smbprotokollet
implementerat efter standardinstallationen. Med det grundläggande
stödet kan du montera, läsa och skriva till enheter monterade
på din linuxmaskin (kallar utdelade/monterade kataloger för
enheter).
Om du vill dela dina enheter på ditt linuxsystem med
dos/windowssystem behövs en server som delar ut de enheter du
önskar, via smbprotokollet. Det är här samba kommer in i
bilden.
Ett exempel där smb protokollet har stor användning ute i
verkliga livet är som domänkontrollserver. Det är en
central server i t.ex ett företag med många datorer där
man vill styra och verifiera inloggningar till nätet.
Installation och konfiguration av
sambaservern som domänkontroller.
Du laddar ner senaste samba-releasen. Du kan verifiera
äktheten på det nerladdade paketet med en checksummanyckel skapad av
sambautvecklarna. För att verifiera:
importera checksummanyckeln med gpg (GNU varianten av PGP),
$gpg --import samba-pubkey.asc
packa upp det bz2/gz paketerade filpaketet,
$[gunzip|bunzip2] samba-release.tar.[bz2|gz]
verifiera med gpg,
$gpg --verify samba-release.tar.asc
Svaret från gpg vid OK,
gpg: Signature made Tue 26 Nov 2002 07:12:04 PM CST using DSA key ID
2F87AF6F
gpg: Good signature from "Samba Distribution Verification Key "
Nu kommer vi till byggandet och installationen av samba. Till
kompilatorn kan man lägga olika flaggor beroende på hur man
vill optimera koden. Om man har ett pentium-pro system eller högre
kan man lägga till -march=i686. Du kanske har dåligt med
minne och vill optimera den binära storleken på den
resulterande binären och lägger då till -O2. Om du inte
har en aning om vad det skall vara bra för, hoppa över
flaggorna och kompilera utan.
Vid kompileringen är det även möjligt att ange var man
vill lägga manualfilerna. Om man inte anger något läggs
de under /usr/local/samba/man.
Nu bygger vi...
$ tar -xzf samba-release.tar.gz
$ cd samba-release/source
$ CFLAGS="-O2 -march=i686" ./configure --mandir=/usr/man
Om konfigurationen gick bra och alla beroenden uppfyllts bygger du och
installerar... ($ betyder din användar prompt och # betyder root
prompt)
$ make
# make install
# ln -s /usr/local/samba/bin/* /usr/bin
Installationen är nu klar och vi kan gå vidare med
nästa steg att konfigurera samba för användning.
Antingen använder man SWAT som är ett webbaserat adminverktyg
eller en texteditor för att redigera smb.conf filen.
Här är ett exempel på innehåll i smb.conf
kopierad från David Lechnyrs artikel om samba.
>---------------------------------<
[global] domain logons = yes encrypt passwords = yes hide unreadable = yes log level = 1 log file = /usr/local/samba/var/%m.log logon drive = p: logon home = \myserver\%u logon home = //SERVER/PROFILESHARE/%U/%a logon script = logon.bat netbios name = myserver os level = 99 preferred master = yes security = user socket options = TCP_NODELAY IPTOS_LOWDELAY time server = yes veto files = /*.com/*.exe/*.scr/*.vbs/*.{*}/ wins support = yes workgroup = mydomain
[projects] create mode = 0660 directory mode = 0770 force group = +users path = /projects read only = no write list = +projects
[public] path = /home/public read only = no
[netlogon] path = /home/netlogon
[homes] browseable = no create mode = 0600 directory mode = 0700 read only = no
>---------------------------------<
Användning och olika scenarior
Innan vi börjar använda samba är det några viktiga
saker att tänka på. Om den klient man tänker
använda mot samba servern aldrig varit ansluten till en domän
tidigare är sannolikheten stor att den inte har något unikt
namn. För att inte klienterna som ansluts till domänen skall
bli förvirrade är det god sed att ha en namnstandard för
klienter i sitt nätverk.
Namnge varje klient med datornamn, användare och domän.
Scenario 1
Access från Windows 2000/XP utan att tillhöra domänen
är speciellt användbart för de som flyttar med sig
datorn mellan olika nät.
Skapa en lokal användare med tillhörande lösenord
på din Windows 2000/XP dator. Detta kan göras från
kommandoprompten med...
NET USER användarnamn *
/ADD
Skapa ett användarkonto med samma användarnamn på den
maskin du installerade samba. Skapa sedan ett samba konto med samma
användarnamn och lösenord som
systemkontot/användarkontot.
# useradd -d /home/användarnamn -g
100 -m användarnamn
# smbpasswd -a användarnamn
Denna konfiguration är speciellt enkel och behändig för
de som aldrig tänker låna ut sin PC, eftersom varje ny
användare i så fall måste läggas upp på
samma sätt.
Scenario 2
Access från Windows 2000/XP där man tillhör
domänen är speciellt användbart för de som delar
dator med andra användare.
Skapa ett maskinkonto med klientmaskinens namn på sambamaskinen.
Skapa sedan ett samba konto med samma maskinnamn och lösenord som
systemkontot/maskinkontot.
# useradd -d /dev/null -g 100
-m maskinnamn$
# smbpasswd -m -a maskinnamn
$ tecknet efter maskinnamnet i skapandet av maskinkontot anger att
detta inte är ett vanligt användarkonto.
För att kunna lägga till maskiner till domänen som samba
råder över behövs ett root konto för samba. (Inte
att blanda ihop med systemets root)
# smbpasswd -a root
För att kunna lägga till klienten till en sambadomän
behövs en uppdatering av registret. Det är två nycklar
som skall läggas till under HKEY_LOCAL_MACHINE\ SYSTEM\CurrentControlSet\Services\Netlogon\Parameters.
"requiresignorseal"=dword:00000000
"signsecurechannel"=dword:00000000
Nästa steg är att lägga till klientmaskinen till
domänen. Detta gör du genom att logga på med ett lokalt
administrations konto på klienten vars användarnamn inte
förekommer i sambas lista av användare.
Att logga på som Administrator brukar fungera bra.
Först rensar vi listan med eventuella nätverksanslutningar
till klienten från ett kommandofönster...
NET USE * /DELETE /YES
Sedan går vi in under My Computer -> Properties. Välj
tabben Computer Name och klicka på Change knappen.
Skriv in datorns namn om det inte är gjort (samma namn som
maskinkontot du skapade i samba) och checka för Domain. Skriv in
namnet på din domän (se din smb.conf fil om du är
osäker) och klicka på OK.
Nu får du upp en inloggnings dialog. Här använder du
sambas root konto för godkännande, att lägga till
klienten till domänen. (OBS! Det är inte systemkontot root
som menas utan sambas rootkonto)
Felsökning
När du försöker lägga maskinen till domänen
kan något av följande fel inträffa:
The following error
occurred attempting to join the domain "MYDOMAIN": The network path
was not found. Detta tyder på att klientdatorn
försöker nå sambamaskinen via en felaktigt uppsatt
gateway/route. Gör en ändring i
nätverksinställningarna och ändra sedan tillbaka
för att rensa eventuella felaktiga inställningar. Att
nätverket inte uppdateras som det skall alltid är Windows XP
relaterat. Orsaken är dold än så länge.
The following error
occurred attempting to join the domain "MYDOMAIN": No mapping between
account names and security IDs was done. Kontrollera maskinnamn i
/etc/passwd och smbpasswd filerna på sambamaskinen samt att
namnet exakt matchar det på klientdatorn. Om det stämmer och
ändå blir samma fel - ändra namnet till små
bokstäver.
The following error
occurred attempting to join the domain "MYDOMAIN": Access is denied.
Kontrollera att maskinkonto finns upplagt på sambamaskinen och
att det inte är avstängt. Kontrollera även att det finns
ett root konto för samba som har rättighet att lägga
till en ny maskin.
The following error
occurred attempting to join the domain "MYDOMAIN": Logon failure:
Antingen finns inget root konto för samba eller så har du
skrivit fel lösenord.
A domain controller
for the domain "MYDOMAIN" could not be contacted. Kontrollera att det
är rätt domännamn du försöker ansluta till.
Kontrollera att nmbd är startad på sambamaskinen och att
inte NetBIOS är blockerat med en brandvägg.
Ytterligare läsning i ämnet
The Unofficial Samba HOWTO by David Lechnyr
SMB/CIFS
by The Root by ledin
SMB
HOWTO by David Wood
Implementing CIFS by Christopher R. Hertel
Just what is SMB? by Richard Sharpe
Om du tycker att någon särskild information borde ligga här, skicka gärna dina synpunkter.
|
|
| Sverige öppnas: |
Statskontoret har tillsammans med AMS, Linköpings Universitet, Naturvårdsverket, Region Västra Götaland, RSV, Rikspolis Styrelsen, Statens Veterinärmedicinska Anstalt, Stockholms Läns Landsting och Vägverket gjort en utredning om öppna alternativ inom offentliga sektorn -  |
|