Hvad er Samba
For at give printer- og fildeling bruger Microsoft Windows en facilitet kendt som SMB (Server Message Block). Denne samme facilitet er undertiden kendt som NetBIOS eller LanManager. Takket være Andrew Tridgell og andre har Linux-systemer understøttelse af SMB via en pakke kendt som Samba. Ligesom SMB giver Samba dig mulighed for:
- Afdeling af printere og filer mellem Microsoft Windows-, OS/2-, Netware- og Unix-systemer
- Etablering af en simpel navneserver til identifikation af systemer på dit lokale netværk
- Backup af pc-filer til et Linux-system og gendannelse af dem
- Administration af brugere og adgangskoder
Samba har bevist sin pålidelighed og høje ydeevne i mange organisationer.Samba-softwarepakken på Enterprise Linux er en samling af programmer, der implementerer Server Message Block-protokollen (almindeligvis forkortet SMB) for UNIX-systemer.
Installation af Samba
I Enterprise Linux-systemet skal du installere nedenstående pakker for at komme i gang med Samba. Du kan hente/installere disse pakker fra yum-serveren ved hjælp af kommandoen “yum install”.
samba #### basic Samba packagessamba-client #### samba client
For at installere disse pakker :
# yum install samba# yum install samba-client
Hvis du bruger en Active Directory-opsætning, skal du også installere nedenstående pakker.
# yum install samba-winbind# yum install samba-winbind-clients# yum install samba-winbind-krb5-locator
Nedenfor er listen over pakker, som vil blive installeret, når du har installeret ovenstående pakker.
samba-libssamba-winbind-krb5-locatorsamba-winbind-modulessamba-vfs-glusterfssamba-winbindsamba-clientsamba-commonsamba-winbind-clientssamba
Konfigurering af en Samba-aktie
Sambas konfiguration ligger normalt i /etc/samba/smb.conf, som indeholder alle konfigurationsparametre relateret til samba. Følg nedenstående trin for at konfigurere et samba-aktie.
1. For at en bestemt bruger kan få adgang til delingen, skal vi først oprette en bruger (john) på den linux-server, hvor delingen også befinder sig.
# useradd john
# passwd johnChanging password for user john.New password: Retype new password: passwd: all authentication tokens updated successfully.
2. For at tilføje aktivere samba-brugeren og indstille adgangskoden skal du bruge kommandoen “smbpasswd” med indstillingen -a.
# smbpasswd -a john
3. Opret den mappe, der skal deles, eller du kan bruge en eksisterende mappe. Indstil også fulde tilladelser på mappen.
# mkdir -p /path/to/share# chmod -R 777 /path/to/share
4. Indstil dernæst SElinux-konteksterne på delingen. Kontroller, om du kan oprette en fil på delingen.
# chcon -R -t samba_share_t /path/to/share# cd /path/to/share# echo test > testfile.txt
5. Rediger filen /etc/samba/smb.conf, og tilføj share-indstillingerne.
# vi /etc/samba/smb.conf path = /path/to/share comment = samba share for john public = yes writable = yes create mask = 0777 browseable = yes
Genstart samba-tjenesten, for at ovenstående indstillinger kan træde i kraft.
# service smb restart
Forsøgning af problemer
For at finde ud af problemet med en samba share kan du prøve at deaktivere iptables-tjenesten og slå SELinux fra. Sørg for at aktivere dem igen, når du har løst problemet.
# service iptables stop# setenforce 0
Verificer samba-parameter ved hjælp af testparm
For at verificere, at parametrene er korrekte i smb.conf-filen, eller for at fejlfinde konfigurationsproblemer, skal du bruge kommandoen testparm.
logs
Til fejlfinding af problemer med Samba generelt er logfilerne log.smbd og log.nmbd under mappen /var/log/samba af uvurderlig værdi. Parameteren log level i den globale sektion i smb.conf-filen smb.conf bestemmer mængden af detaljerede oplysninger, som Samba skriver til logfilerne, hvor niveau 0 er det mest generelle og 10 det mest detaljerede. Hvert logningsniveau indeholder meddelelser fra det pågældende niveau ud over de logningsmeddelelser, der ligger under det. Et logningsniveau på 5 indeholder f.eks. meddelelser fra niveau 5 samt meddelelser fra niveau 0 til 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