Samba fájlmegosztás
Az Ubuntu és Windows számítógépek összekapcsolásának egyik legáltalánosabb módja a Samba beállítása fájlkiszolgálóként.
Telepítés
Az első lépés a samba csomag telepítése. Egy terminálban adja ki a következő parancsot:
1 |
<span class="cmd command">sudo apt install samba</span> |
Konfigurálás
Most már készen áll a Samba, csak konfigurálni kell, a konfigurációs fáj helye: /etc/samba/smb.conf
Első lépésként szerkesszük a következő kulcs/érték párokat az /etc/samba/smb.conf fájl [global] szakaszában:
1 2 3 |
workgroup = EXAMPLE ... security = user |
A security paraméter a [global] szakaszban lejjebb van és megjegyzésben látható. Az EXAMPLE értékét is módosítsa a környezetének megfelelően. Célszerű ugyanazt a munkacsoportot megadni, mint a kliens gépeken… (Itt még nincs tartományba léptetés, az majd később…)
Első példánkban egy mindenki számára elérhető megoszott mappát hozunk létre. Az így létrejött megosztást mindenkinek joga lesz módosítani, írni, olvasni, törölni belőle.
Hozzunk létre egy új szakaszt a megosztandó könyvtárnak a fájl alján, vagy az egyik példát is átírhatjuk:
1 2 3 4 5 6 7 |
[share] comment = Ubuntu fájlkiszolgáló megosztás path = /srv/samba/megosztas browsable = yes guest ok = yes read only = no create mask = 0755 |
-
comment: a megosztás rövid leírása.
-
path: a megosztandó könyvtár útvonala.Ez a példa a /srv/samba/megosztas könyvtárat használja, mert a Filesystem Hierarchy Standard (FHS) szerint a telephely-specifikus adatokat az /srv alól kell kiszolgálni. Technikailag a Samba megosztások bárhol elhelyezhetők a fájlrendszeren, amíg a jogosultságok megfelelők, de a szabványok követése ajánlott.
-
browsable: lehetővé teszi a Windows klienseknek a megosztás tallózását a Windows Explorer használatával.
-
guest ok: jelszó megadása nélkül teszi lehetővé a klienseknek a csatlakozást a megosztáshoz
-
read only: megadja, hogy a megosztás írásvédett-e, vagy van rá írási jog is. Az írási jog akkor él, ha az érték no, mint a fenti példában. Ha az érték yes, akkor a megosztás csak olvasható
-
create mask: megadja az új fájlok létrehozásakor kapott jogosultságokat.
A Samba beállítása után létre kell hozni a könyvtárat, és jogosultságait módosítani kell. Adjuk ki a következő parancsot:
1 2 |
<span class="cmd command">sudo mkdir -p /srv/samba/megosztas</span> <span class="cmd command">sudo chown nobody:nogroup /srv/samba/megosztas/</span> |
Indítsuk újra a Samba szolgáltatásokat az új beállítások életbe léptetéséhez:
(status kapcoslóval lekérdezhető az állapotuk is)
1 |
<span class="cmd command">sudo systemctl restart smbd.service nmbd.service</span> |
Tűzfal beállítása, Samba hozzáadása a szabályokhoz:
1 |
sudo ufw allow Samba |
Tesztelés:
Windows esetén fájkezelő, itt a szerver nevét vagy ip címét kell beírni. pl.: \\192.168.1.1
Linux esetén: fájlkezelő, egyéb helyek (other locations), itt is szerver címét, vagy ip címét lehet megadni: smb://192.168.1.1 A Linux kérni fog felhasználói nevet is, ki kell neki választani az Anonymust
Megosztott mappa létrehozása felhasználói csoportnak
Ebben a példában lesz egy orvosok nevű csoportunk, benne egy orvos1 nevű felhasználóval. Adunk nekik egy megoszott mappát orvosi néven, ebben lesznek receptek és beutalók…
Csoport létrehozása
sudo groupadd orvosok
Felhasználó létrehozása, hozzáadása csoporthoz
sudo adduser orvos1
sudo usermod -a -G orvosok orvos1
Könyvtár létrehozása
sudo mkdir -p /srv/samba/orvosi
sudo mkdir -p /srv/samba/orvosi/receptek
sudo mkdir -p /srv/samba/orvosi/beutalok
Engedélyek a mappára:
sudo chgrp orvosok /srv/samba/orvosi
sudo chmod -R 770 /srv/samba/orvosi
Felhasználók hozzáadása a sambához:
sudo smbpasswd -a orvos1
sudo smbpasswd -e orvos1
sudo nano /etc/samba/smb.conf
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
[global} workgroup = WORKGROUP server string = Orvosok szerver netbios name = Ubuntu security = user map to guest = bad user dns proxy = no #### SHARES #### [orvosok] path = /srv/samba/orvosi browsable = yes writable = yes guest ok = no read only = no valid users = @orvosok MENTÉS! Bezárás... |
sudo systemctl restart smbd.service
sudo systemctl restart nmbd.service