Következzen egy szintén elég gyakori és mindennapos feladat. Samba share létrehozása. Windows uralta világunkban, elég magas számban a Linux szervereket is windows munkaállomásokról érik el. Kell egy kapocs, amivel a két eléggé különböző rendszer szót ért. Ez a kapocs a Samba, ami az ún. smb protokollt használja és elsődleges célja a nyomtató és file megosztás volt. Persze rengeteg hasznos (és haszontalan) kiegészítő érhető el hozzá, most azonban csak a legklasszikusabb felhasználásra vetünk pár pillantást.
Tehát adott egy Centos 5.5 (mi más) szerverünk, aminek egy könyvtárat (vagy többet) szeretnék hálózaton megosztani, és a hálózaton belül elérhetővé tenni. Ezt az elérhetőséget viszonylag finomat vezérelhetjük, tehát lehet bárki számára elérhető, lehet felhasználó/jelszó párossal saját samba userekkel elérni, de akár különböző címtárszolgáltatás alapú authentikációt is végezhetünk. Active Directory-val összehegeszteni mókás feladat, azonban azt majd máskor dokumentáljuk (egyszer elég volt végigcsinálni :) )
Telepítsük a samba szervert a gépünkre:
yum install samba
Ha készen vagyunk, a fő konfigurációs file szerkesztésének neki is állhatunk. Az alap konfig file, szép hosszú, rengeteg kommenttel és kikommentezett opcióval, én rendszerint ezeket lementem (mv /etc/samba/smb.conf /etc/samba/smb.conf.bak) majd újra létrehozva a file-t, csak a legfontosabb adatokat rakom bele. Így számomra jobban átlátható, de persze ez mindenkinek a saját ízlése szerint. Tehát a lecsupaszított konfig file:
vi /etc/samba/smb.conf
[global]
workgroup = windows domain vagy workgroupod
server string = Samba Server Version %v
passdb backend = tdbsam
cups options = raw
[homes]
comment = Home Directories
read only = No
browseable = No
[printers]
comment = All Printers
path = /var/spool/samba
printable = Yes
browseable = No
available = No
[shared]
comment = /shared
path = /shared
valid users = lscswebadmin
read only = No
A konfig file-ban a [global] szekció jelzi az alapbeállításokat. Mint ahogy írtam, rengeteg mást is oda lehet meg rakni. Az összes többi kapcsos zárójel, pedig a különböző megosztások és azok beállításai. Ezekből csak a [home] share ami még kötelező megadni, a többi csak saját példa.
A legegyszerűbb authentikáció, ha létrehozunk egy samba usert a saját kis beépített tool-jával.
smbasswd -a sajatsambauseredneve
remek kis tool-ok járnak a samba-hoz, sok mindent meg lehet velük oldani CLI-ben.
Pl így listázható ki a samba userek:
pdbedit -L
Ami fontos még, a megosztott könyvtárak linux szintű jogosultságai. Tehát ha hozzárendeled egy userhez a könyvtárat, amit megadsz neki a konfigurációban, sok fejfájástól kímélhet meg, ha osz szinten is van jogosultsága abba írni :) Tehát vagy írás+olvasás jogot adsz (persze ha akarsz is bele írni) nem csak a tulajnak, vagy ha pedig az egész tulajdonjogot átruházod a usernak chown-al (persze ha van olyan nevű OS user).