Mi a Samba
A Microsoft Windows a nyomtatók és fájlok megosztásához az SMB (Server Message Block) nevű eszközt használja. Ugyanezt a lehetőséget néha NetBIOS vagy LanManager néven is ismerik. Andrew Tridgellnek és másoknak köszönhetően a Linux rendszerek az SMB-t egy Samba nevű csomagon keresztül támogatják. Az SMB-hez hasonlóan a Samba lehetővé teszi:
- nyomtatók és fájlok megosztását Microsoft Windows, OS/2, Netware és Unix rendszerek között
- egyszerű névszerver létrehozását a helyi hálózat rendszereinek azonosítására
- PC fájlok mentését egy Linux rendszerre és visszaállítását
- felhasználók és jelszavak kezelését
A Samba számos szervezetnél bizonyította megbízhatóságát és nagy teljesítményét.A Samba szoftvercsomag Enterprise Linuxon olyan programok gyűjteménye, amely a Server Message Block (általánosan rövidítve SMB) protokollt valósítja meg a UNIX rendszerek számára.
A Samba telepítése
Az Enterprise Linux rendszerben telepítse az alábbi csomagokat, hogy elkezdhesse a Samba használatát. Ezeket a csomagokat letöltheti/telepítheti a yum szerverről a “yum install” paranccsal.
samba #### basic Samba packagessamba-client #### samba client
A csomagok telepítéséhez :
# yum install samba# yum install samba-client
Ha aktív könyvtárat használ, telepítse az alábbi csomagokat is.
# yum install samba-winbind# yum install samba-winbind-clients# yum install samba-winbind-krb5-locator
Az alábbiakban felsoroljuk azokat a csomagokat, amelyek a fenti csomagok telepítése után telepítésre kerülnek.
samba-libssamba-winbind-krb5-locatorsamba-winbind-modulessamba-vfs-glusterfssamba-winbindsamba-clientsamba-commonsamba-winbind-clientssamba
Samba megosztás konfigurálása
A samba konfigurációja általában az /etc/samba/smb.conf állományban található, amely a sambával kapcsolatos összes konfigurációs paramétert tartalmazza. A samba megosztás konfigurálásához kövesse az alábbi lépéseket.
1. Ahhoz, hogy a megosztás egy adott felhasználó számára elérhető legyen, először létre kell hoznunk egy felhasználót (john) azon a linux szerveren, ahol a megosztás is található.
# useradd john
# passwd johnChanging password for user john.New password: Retype new password: passwd: all authentication tokens updated successfully.
2. A samba felhasználó aktiválásához és a jelszó beállításához használjuk az “smbpasswd” parancsot a -a kapcsolóval.
# smbpasswd -a john
3. Hozzuk létre a megosztandó könyvtárat vagy használhatunk egy meglévő könyvtárat. Állítsuk be a könyvtár teljes jogosultságait is.
# mkdir -p /path/to/share# chmod -R 777 /path/to/share
4. Ezután állítsuk be a SElinux kontextusokat a megosztáson. Ellenőrizze, hogy létrehozhat-e fájlt a megosztásban.
# chcon -R -t samba_share_t /path/to/share# cd /path/to/share# echo test > testfile.txt
5. Szerkessze az /etc/samba/smb.conf fájlt, és adja hozzá a megosztás beállításait.
# vi /etc/samba/smb.conf path = /path/to/share comment = samba share for john public = yes writable = yes create mask = 0777 browseable = yes
Elindítsa újra a samba szolgáltatást, hogy a fenti beállítások érvénybe lépjenek.
# service smb restart
Hibaelhárítás
A samba megosztással kapcsolatos probléma kiderítéséhez megpróbálhatja letiltani az iptables szolgáltatást és kikapcsolni a SELinuxot. Győződjön meg róla, hogy a zavar megoldása után ismét engedélyezi őket.
# service iptables stop# setenforce 0
Verify samba parameter using testparm
A smb.conf fájlban található paraméterek helyességének ellenőrzéséhez vagy a konfigurációs problémák elhárításához használja a testparm parancsot.
logs
A Sambával kapcsolatos általános problémák hibakereséséhez a /var/log/samba könyvtárban található log.smbd és log.nmbd naplófájlok felbecsülhetetlen értékűek. Az smb.conf fájl globális részében található log level paraméter határozza meg, hogy a Samba mennyi részletes információt írjon a naplófájlokba, a 0. szint a legáltalánosabb, a 10. pedig a legrészletesebb. Minden naplózási szint tartalmazza az adott szint üzeneteit, az alatta lévő naplózási üzeneteken kívül. Például az 5. naplózási szint az 5. szint üzeneteit tartalmazza, valamint a 0-tól 4-ig terjedő szintek üzeneteit.
# 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