Android

A samba telepítése és konfigurálása az ubuntu 18.04 rendszeren

Ubuntu Szerver - Fájlmegosztás #2 (Samba)

Ubuntu Szerver - Fájlmegosztás #2 (Samba)

Tartalomjegyzék:

Anonim

A Samba az SMB / CIFS hálózati fájlmegosztási protokoll ingyenes és nyílt forráskódú újratelepítése, amely lehetővé teszi a végfelhasználók számára a fájlokhoz, nyomtatókhoz és más megosztott erőforrásokhoz való hozzáférést.

Ez az oktatóanyag elmagyarázza, hogyan telepítheti a Samba-t az Ubuntu 18.04-re, és hogyan állíthatja be önálló kiszolgálóként, hogy a hálózaton keresztül megoszthassa a fájlokat a különféle operációs rendszerek között.

Készítjük a következő Samba megosztásokat és felhasználókat.

felhasználók:

  • sadmin - Az összes megosztáshoz olvasási és írási hozzáféréssel rendelkező adminisztratív felhasználó. josh - Rendszeres felhasználó, saját privát fájlmegosztással.

Megoszt:

  • felhasználók - Ez a megosztás minden felhasználó számára elérhető lesz olvasási / írási engedélyekkel. josh - Ez a megosztás csak josh és sadmin felhasználók számára lesz elérhető olvasási / írási engedélyekkel.

A fájlmegosztások a hálózat minden eszközén elérhetők lesznek. Később ebben az oktatóanyagban részletes útmutatást adunk arról is, hogyan lehet kapcsolódni a Samba szerverhez Linux, Windows és MacOS kliensekből.

Előfeltételek

Mielőtt folytatná, ellenőrizze, hogy be van-e jelentkezve az Ubuntu 18.04 rendszerébe sudo jogosultságokkal rendelkező felhasználóként.

A Samba telepítése az Ubuntun

A Samba a hivatalos Ubuntu raktárakban kapható. Az Ubuntu rendszerre történő telepítéséhez kövesse az alábbi lépéseket:

  1. Kezdje az apt csomag index frissítésével:

    sudo apt update

    Telepítse a Samba csomagot a következő paranccsal:

    sudo apt install samba

    A telepítés befejezése után a Samba szolgáltatás automatikusan elindul. A Samba kiszolgáló futásának ellenőrzéséhez írja be:

    sudo systemctl status smbd

    A kimenetnek az alábbiak szerint kell kinéznie, jelezve, hogy a Samba szolgáltatás aktív és fut:

    ● smbd.service - Samba SMB Daemon Loaded: loaded (/lib/systemd/system/smbd.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2019-11-27 09:25:38 UTC; 2min 12s ago Docs: man:smbd(8) man:samba(7) man:smb.conf(5) Main PID: 15142 (smbd) Status: "smbd: ready to serve connections…" Tasks: 4 (limit: 1152) CGroup: /system.slice/smbd.service…

Ezen a ponton a Samba telepítve van és készen áll a konfigurálásra.

Tűzfal konfigurálása

Feltételezve, hogy UFW t használ a tűzfal kezelésére, a 'Samba' profil engedélyezésével megnyithatja a portokat:

sudo ufw allow 'Samba'

A globális Samba-beállítások konfigurálása

Mielőtt módosítaná a Samba konfigurációs fájlt, készítsen biztonsági másolatot a későbbi referencia célokra:

sudo cp /etc/samba/smb.conf{,.backup}

Az alapértelmezett konfigurációs fájl, amelyet a Samba csomaggal szállítanak, az önálló Samba szerverre van konfigurálva. Nyissa meg a fájlt, és ellenőrizze, hogy a server role standalone server van-e állítva

sudo nano /etc/samba/smb.conf /etc/samba/smb.conf

… # Most people will want "standalone sever" or "member server". # Running as "active directory domain controller" will require first # running "samba-tool domain provision" to wipe databases and create a # new domain. server role = standalone server…

Alapértelmezés szerint a Samba az összes felületen hallgat. Ha csak a belső hálózatról kívánja korlátozni a hozzáférést a Samba szerverhez, akkor tegye a következőket két sorra, és adja meg a kapcsolódási felületeket:

/etc/samba/smb.conf

… # The specific set of interfaces / networks to bind to # This can be either the interface name or an IP address/netmask; # interface names are normally preferred interfaces = 127.0.0.0/8 eth0 # Only bind to the named interfaces and/or networks; you must use the # 'interfaces' option above to use this. # It is recommended that you enable this feature if your Samba machine is # not protected by a firewall or is a firewall itself. However, this # option cannot handle dynamic or non-broadcast interfaces correctly. bind interfaces only = yes…

Ha kész, futtassa a testparm segédprogramot, hogy ellenőrizze a Samba konfigurációs fájlt. Ha nincs szintaxishiba, akkor a Loaded services file OK.

Végül indítsa újra a Samba szolgáltatásokat:

sudo systemctl restart smbd sudo systemctl restart nmbd

Samba felhasználók és könyvtárstruktúra létrehozása

A könnyebb karbantarthatóság és rugalmasság érdekében a szokásos otthoni könyvtárak ( /home/user ) használata helyett az összes Samba könyvtár és adat a /samba könyvtárban található.

A /samba könyvtár típusának létrehozásához:

sudo mkdir /samba

Állítsa a csoport tulajdonjogát sambashare . Ez a csoport a Samba telepítésekor jön létre, később az összes Samba felhasználót hozzáadjuk ehhez a csoporthoz.

sudo chgrp sambashare /samba

A Samba Linux felhasználókat és csoportos engedélyezési rendszert használ, de a saját hitelesítési mechanizmusa külön van a szokásos Linux hitelesítéstől. A felhasználókat a szokásos Linux useradd eszközzel useradd , majd az smbpasswd segédprogrammal állíthatjuk be a felhasználói jelszót.

Mint a bevezetésben említettem, létrehozunk egy szokásos felhasználót, amely hozzáféréssel fog hozzáférni a magánfájl-megosztásához, valamint egy adminisztrátori fiókhoz, a olvasási és írási hozzáféréssel a Samba szerver összes megosztásához.

Samba felhasználók létrehozása

Új josh nevű felhasználó létrehozásához használja a következő parancsot:

sudo useradd -M -d /samba/josh -s /usr/sbin/nologin -G sambashare josh

A useradd opciók jelentése a következő:

  • -M - Ne hozza létre a felhasználó otthoni könyvtárát. Ezt a könyvtárat manuálisan készítjük. -d /samba/josh - állítsa a felhasználó saját könyvtárát a /samba/josh . -s /usr/sbin/nologin - a héj elérésének letiltása ehhez a felhasználóhoz. -G sambashare - adja hozzá a felhasználót a sambashare csoporthoz.

Hozza létre a felhasználói otthoni könyvtárat, és állítsa a könyvtár tulajdonjogát josh és sambashare felhasználói csoportra:

sudo mkdir /samba/josh sudo chown josh:sambashare /samba/josh

A következő parancs hozzáadja a setgid bitet a /samba/josh könyvtárhoz, így az ebben a könyvtárban újonnan létrehozott fájlok öröklik a szülő könyvtár csoportját. Ilyen módon, függetlenül attól, hogy melyik felhasználó hoz létre új fájlt, a fájlnak a sambashare csoporttulajdonosa lesz. Például, ha nem állítja a könyvtár engedélyeit 2770 és a sadmin felhasználó új fájlt hoz létre, akkor a josh felhasználó nem tudja olvasni / írni ehhez a fájlhoz.

sudo chmod 2770 /samba/josh

Adja hozzá a josh felhasználói fiókot a Samba adatbázishoz a felhasználói jelszó megadásával:

sudo smbpasswd -a josh

A rendszer felszólítja a felhasználói jelszó megadására és megerősítésére.

New SMB password: Retype new SMB password: Added user josh.

Miután beállította a jelszót a Samba-fiók futtatásához:

sudo smbpasswd -e josh

Enabled user josh.

Másik felhasználó létrehozásához ismételje meg ugyanazt a folyamatot, mint a josh felhasználó létrehozásakor.

Ezután hozzunk létre egy felhasználói és csoportos sadmin . A csoport minden tagjának adminisztratív engedélyek lesznek. Később, ha adminisztrátori engedélyeket szeretne adni egy másik felhasználónak, egyszerűen vegye fel a felhasználót a sadmin csoportba.

Hozzon létre adminisztrátori felhasználót a következő gépeléssel:

sudo useradd -M -d /samba/users -s /usr/sbin/nologin -G sambashare sadmin

A fenti parancs egy csoportot is létrehoz, és hozzáadja a felhasználót a sadmin és a sambashare csoportokhoz.

Állítson be egy jelszót és engedélyezze a felhasználót:

sudo smbpasswd -a sadmin sudo smbpasswd -e sadmin

Ezután hozza létre a Users megosztás könyvtárat:

sudo mkdir /samba/users

Állítsa be a könyvtár tulajdonjogát a sadmin felhasználóra és a sadmin csoportra:

sudo chown sadmin:sambashare /samba/users

Ez a könyvtár minden hitelesített felhasználó számára elérhető lesz. A következő chmod parancs írási / olvasási hozzáférést biztosít a sambashare csoport tagjai számára a /samba/users könyvtárban:

sudo chmod 2770 /samba/users

A Samba részvények konfigurálása

Nyissa meg a Samba konfigurációs fájlt, és csatolja a szakaszokat:

sudo nano /etc/samba/smb.conf /etc/samba/smb.conf

path = /samba/users browseable = yes read only = no force create mode = 0660 force directory mode = 2770 valid users = @sambashare @sadmin path = /samba/josh browseable = no read only = no force create mode = 0660 force directory mode = 2770 valid users = josh @sadmin

A lehetőségek a következő jelentéssel bírnak:

  • és - A megosztás neve, amelyet bejelentkezéskor használ. path - a megosztás elérési útja. browseable - hogy a részvényt fel kell-e tüntetni az elérhető részvénylistában. Ha no másra állítja, no többi felhasználó nem fogja látni a megosztást. read only - Hogy az valid users listában megadott valid users képesek-e írni erre a megosztásra. force create mode - Beállítja a megosztott újonnan létrehozott fájlok engedélyét. force directory mode - Beállítja az újonnan létrehozott könyvtárak engedélyét ebben a megosztásban. valid users - azon felhasználók és csoportok listája, akik hozzáférhetnek a megosztáshoz. A csoportok előtagja a @ szimbólum.

Az elérhető opciókról további információt a Samba konfigurációs fájl dokumentációs oldalán talál.

Ha kész, indítsa újra a Samba szolgáltatásokat:

sudo systemctl restart smbd sudo systemctl restart nmbd

A következő szakaszokban bemutatjuk, hogyan lehet csatlakozni a Samba megosztáshoz Linux, macOS és Windows kliensekből.

Csatlakozás egy Samba Share-hoz Linux alatt

A Linux felhasználók a parancssorból a fájlkezelő segítségével férhetnek hozzá a samba megosztáshoz, vagy csatlakoztathatják a Samba megosztást.

Az smbclient kliens használata

smbclient egy olyan eszköz, amely lehetővé teszi a Samba elérését a parancssorból. Az smbclient csomagot nincs előre telepítve a legtöbb Linux disztróhoz, ezért a terjesztési csomagkezelővel telepítenie kell.

Az smbclient telepítése az Ubuntu és a Debian futtatásához:

sudo apt install smbclient

Az smbclient telepítése a CentOS és a Fedora futtatásához:

sudo yum install samba-client

A Samba megosztás eléréséhez szükséges szintaxis a következő:

mbclient //samba_hostname_or_server_ip/share_name -U username

Például, ha josh nevű megosztáshoz kapcsolódik egy Samba kiszolgálón, amelynek IP-címe 192.168.121.118 , josh felhasználóként josh :

smbclient //192.168.121.118/josh -U josh

A rendszer felszólítja a felhasználói jelszó megadására.

Enter WORKGROUP\josh's password:

A jelszó megadása után bejelentkezik a Samba parancssori felületbe.

Try "help" to get a list of possible commands. smb: \>

A Samba részvény felszerelése

A Samba megosztás Linuxon történő telepítéséhez először telepítenie kell a cifs-utils csomagot.

Ubuntu és Debian futtatásakor:

sudo apt install cifs-utils

A CentOS és a Fedora futtatásakor:

sudo yum install cifs-utils

Ezután hozzon létre egy csatlakozási pontot:

sudo mkdir /mnt/smbmount

Szerelje fel a megosztást a következő paranccsal:

sudo mount -t cifs -o username=username //samba_hostname_or_server_ip/sharename /mnt/smbmount

Például, ha josh nevű megosztásot kell josh a 192.168.121.118 IP-címet tartalmazó Samba kiszolgálóra josh felhasználóként a /mnt/smbmount csatlakozási ponthoz, amelyet futtatna:

sudo mount -t cifs -o username=josh //192.168.121.118/josh /mnt/smbmount

A rendszer felszólítja a felhasználói jelszó megadására.

Password for josh@//192.168.121.118/josh: ********

A grafikus felhasználói felület használata

Files, a Gnome alapértelmezett fájlkezelőjében beépített lehetőség van a Samba megosztások elérésére.

  1. Nyissa meg a Fájlokat, és kattintson az oldalsávban az „Egyéb helyek” elemre. A „Csatlakozás a szerverhez” mezőbe írja be a Samba megosztás címét a következő formátumban smb://samba_hostname_or_server_ip/sharename „Csatlakozás” smb://samba_hostname_or_server_ip/sharename és a következő képernyő jelenik meg:

Következtetés

Ebben az oktatóanyagban megtanulta, hogyan kell telepíteni a Samba szervert az Ubuntu 18.04-re, és hogyan lehet különféle típusú megosztott és felhasználókat létrehozni. Megmutattuk, hogyan lehet csatlakozni a Samba szerverhez Linux, macOS és Windows eszközökről.

samba ubuntu