The Geek Diary

Vad är Samba

För att tillhandahålla skrivar- och fildelning använder Microsoft Windows en funktion som kallas SMB (Server Message Block). Samma funktion är ibland känd som NetBIOS eller LanManager. Tack vare Andrew Tridgell och andra har Linuxsystem stöd för SMB via ett paket som kallas Samba. Liksom SMB låter Samba dig:

  • Dela skrivare och filer mellan Microsoft Windows-, OS/2-, Netware- och Unix-system
  • Etablera en enkel namnserver för att identifiera system i ditt lokala nätverk
  • Backupera PC-filer till ett Linux-system och återskapa dem
  • Administrera användare och lösenord

Samba har bevisat sin tillförlitlighet och höga prestanda i många organisationer.Programpaketet Samba på Enterprise Linux är en samling program som implementerar Server Message Block-protokollet (vanligen förkortat SMB) för UNIX-system.

Installation av Samba

I Enterprise Linux-systemet installerar du nedanstående paket för att komma igång med Samba. Du kan hämta/installera dessa paket från yum-servern med kommandot ”yum install”.

samba #### basic Samba packagessamba-client #### samba client

För att installera dessa paket :

# yum install samba# yum install samba-client

Om du använder en Active Directory-installation ska du också installera följande paket.

# yum install samba-winbind# yum install samba-winbind-clients# yum install samba-winbind-krb5-locator

Nedan följer en lista över paket som kommer att installeras när du har installerat ovanstående paket.

samba-libssamba-winbind-krb5-locatorsamba-winbind-modulessamba-vfs-glusterfssamba-winbindsamba-clientsamba-commonsamba-winbind-clientssamba

Konfigurera en Samba-utdelning

Sambas konfiguration finns vanligtvis i /etc/samba/smb.conf som innehåller alla konfigurationsparametrar relaterade till samba. Följ stegen nedan för att konfigurera en samba-resurs.

1. För att resursen ska vara tillgänglig för en viss användare måste vi först skapa en användare (john) även på den Linux-server där resursen finns.

# useradd john

# passwd johnChanging password for user john.New password: Retype new password: passwd: all authentication tokens updated successfully.

2. För att lägga till aktivera sambaanvändaren och ställa in lösenordet använder du kommandot ”smbpasswd” med alternativet -a.

# smbpasswd -a john

3. Skapa katalogen för delningen eller så kan du använda en befintlig katalog. Ställ också in fullständiga behörigheter för katalogen.

# mkdir -p /path/to/share# chmod -R 777 /path/to/share

4. Ställ sedan in SElinux-kontexterna på delningen. Kontrollera om du kan skapa en fil i resursen.

# chcon -R -t samba_share_t /path/to/share# cd /path/to/share# echo test > testfile.txt

5. Redigera filen /etc/samba/smb.conf och lägg till delningsinställningarna.

# vi /etc/samba/smb.conf path = /path/to/share comment = samba share for john public = yes writable = yes create mask = 0777 browseable = yes

Starta om samba-tjänsten för att ovanstående inställningar ska träda i kraft.

# service smb restart

Felsökning

För att ta reda på vad som är felet med en samba-delning kan du försöka inaktivera iptables-tjänsten och slå av SELinux. Se till att aktivera dem igen när du har löst problemet.

# service iptables stop# setenforce 0

Verifiera samba-parameter med testparm
För att verifiera att parametrarna är korrekta i filen smb.conf eller för att felsöka konfigurationsproblem kan du använda kommandot testparm.

loggfiler
För att felsöka problem med Samba i allmänhet är loggfilerna log.smbd och log.nmbd under katalogen /var/log/samba ovärderliga. Parametern log level i det globala avsnittet i filen smb.conf bestämmer mängden detaljerad information som Samba skriver till loggfilerna, där nivå 0 är den mest allmänna och 10 den mest detaljerade. Varje loggningsnivå innehåller meddelanden från den nivån, utöver loggningsmeddelandena under den. En loggningsnivå 5 innehåller till exempel meddelanden från nivå 5 samt meddelanden från nivåerna 0 till 4.

# vi /etc/samba/smb.conf# this tells Samba to use a separate log file for each machine# that connectslog file = /var/log/samba/%m.logdebuglevel = 4

Lämna ett svar

Din e-postadress kommer inte publiceras.