ebben a bemutatóban megtanuljuk, hogyan kell telepíteni és konfigurálni egy Samba szervert az Ubuntu-n a fájlok megosztásához a helyi hálózaton. A Samba egy ingyenes és nyílt forráskódú SMB/CIFS protokoll implementáció Unix és Linux számára, amely lehetővé teszi a fájlok és nyomtatások megosztását Unix/Linux, Windows és macOS gépek között egy helyi hálózaton.

A Samba-t általában Linuxon telepítik és futtatják., Ez több programot tartalmaz, amelyek különböző, de kapcsolódó célokat szolgálnak, amelyek közül a legfontosabb kettő:

  • smbd: SMB/CIFS szolgáltatást nyújt (fájlmegosztás és nyomtatás), Windows tartományvezérlőként is működhet.
  • nmbd: ez a démon NetBIOS name szolgáltatást nyújt, hallgatja a név-szerver kéréseket. Azt is lehetővé teszi, hogy a Samba szerver megtalálható más számítógépek a hálózaton.

A Samba Server Ubuntu

Samba telepítése a legtöbb Linux disztribúcióban szerepel. A Samba Ubuntu telepítéséhez egyszerűen futtassa a következő parancsot a Terminalban.,

sudo apt install samba samba-common-bin

a legújabb stabil verzió elérhető 4.12.0, megjelent Március 03, 2019. A Samba verzió ellenőrzéséhez futtassa a

smbd --version

Minta kimenet:

Version 4.7.6-Ubuntu

annak ellenőrzéséhez, hogy a Samba szolgáltatás fut-e, adja ki a következő parancsot.

systemctl status smbd nmbd

a két szolgáltatás elindításához adja ki a következő parancsot:

sudo systemctl start smbd nmbd

az Indítás után smbd a 139-es és 445-ös TCP-porton fog hallgatni. nmbd az UDP 137-es és 138-as portján hallgatható.,

  • TCP 139: fájl-és nyomtatómegosztáshoz és egyéb műveletekhez használatos.
  • TCP 445: a NetBIOS-kevesebb CIFS port.
  • UDP 137: használt NetBIOS hálózati böngészés.
  • UDP 138: használt NetBIOS név szolgáltatás.

Ha engedélyezte az UFW tűzfalat az Ubuntuban, akkor a tűzfal fenti portjait a következő paranccsal kell megnyitnia.

sudo ufw allow samba

hozzon létre egy privát Samba Share

ebben a szakaszban, látni fogjuk, hogyan lehet létrehozni egy privát Samba share, amely előírja, hogy az ügyfél adja meg a felhasználónevet, jelszót, hogy hozzáférjen., A fő Samba konfigurációs fájl a következő címen található: /etc/samba/smb.conf. A Terminalban szerkesztheti egy parancssori szövegszerkesztővel, mint például a nano.

sudo nano /etc/samba/smb.conf

a szakaszban ellenőrizze, hogy a workgroup értéke megegyezik-e a Windows számítógépek munkacsoportbeállításaival.,

workgroup = WORKGROUP

a beállítást a Windows számítógépen a Control Panel > >System.

majd görgessen le a fájl aljára. (A nano szövegszerkesztőben ezt a CTRL+W majd CTRL+Vmegnyomásával érheti el. ) Adjon hozzá egy új szakaszt, mint az alábbiakban.,

magyarázat:

  • Private A mappa neve, amely megjelenik a Windows hálózaton.
  • a megjegyzés a megosztott mappa leírása.
  • az elérési út paraméter megadja a megosztott mappa elérési útját. Példaként a /srv/samba/private/ – t használom. Ön is használja a mappát a saját könyvtárban.
  • browseable = yes: engedélyezze a hálózat többi számítógépének a Samba szerver és a Samba megosztás megtekintését., Ha nincs értékre van állítva, a felhasználóknak ismerniük kell a Samba szerver nevét, majd manuálisan be kell írniuk egy elérési utat a fájlkezelőbe a megosztott mappa eléréséhez.
  • guest ok = no: A vendég hozzáférésének letiltása. Más szóval, meg kell adnia a felhasználónevet és a jelszót az ügyfélszámítógépen a megosztott mappa eléréséhez.
  • writable = yes: mind az olvasási, mind az írási engedélyt megadja az ügyfeleknek.
  • valid users = @samba: csak a Samba csoport felhasználói férhetnek hozzá ehhez a Samba részvényhez.

mentse el és zárja be a fájlt., (A fájl Nano szövegszerkesztőbe történő mentéséhez nyomja meg a Ctrl+O gombot, majd nyomja meg az Enter billentyűt az írandó fájlnév megerősítéséhez. A fájl bezárásához nyomja meg a Ctrl+Xgombot.) Most létre kell hoznunk egy Samba felhasználót. Először létre kell hoznunk egy szabványos Linux felhasználói fiókot a következő paranccsal. Cserélje ki a username – ot a kívánt felhasználónévvel.

sudo adduser username

meg kell adnia egy Unix jelszót., Ezután külön Samba jelszót kell beállítania az új felhasználó számára a következő paranccsal:

sudo smbpasswd -a username

hozza létre a samba csoportot.

sudo groupadd samba

és adja hozzá ezt a felhasználót a samba csoporthoz.

sudo gpasswd -a username samba

hozza létre a privát megosztás mappát.

sudo mkdir -p /srv/samba/private/

a samba csoportnak olvasnia, írnia és végrehajtania kell a megosztott mappa engedélyét. Ezeket az engedélyeket a következő parancs végrehajtásával adhatja meg., (Ha a rendszer nem rendelkezik a setfacl paranccsal, telepítenie kell a aclsudo apt install acl csomagot.)

sudo setfacl -R -m "g:samba:rwx" /srv/samba/private/

ezután futtassa a következő parancsot, hogy ellenőrizze, vannak-e szintaktikai hibák.

testparm

most már csak a smbd és nmbd daemon.,

sudo systemctl restart smbd nmbd

Hogyan hozzunk létre egy Samba nyilvános részvényt hitelesítés nélkül

nyilvános részvény létrehozásához felhasználónév és jelszó nélkül, a következő feltételeknek kell teljesülniük.

  • Set security = user A Samba konfigurációs fájl globális részében. Bár létrehozhat egy nyilvános megosztást a security = share móddal, de ez a biztonsági mód elavult. Erősen javasolt, hogy kerülje a share módot.
  • Set map to guest = bad user A Samba konfigurációs fájl globális részében., Ez azt eredményezi, hogy asmbd vendégfiókot használ azon ügyfelek hitelesítésére, akik nem regisztráltak fiókot a Samba szerveren. Mivel ez egy vendég fiók, A Samba ügyfeleknek nem kell megadniuk a jelszót.
  • Setguest ok = yes A share definícióban, hogy lehetővé tegye a vendég hozzáférését.
  • adja meg a nyilvános mappa engedélyét a nobody fiókhoz, amely az alapértelmezett vendégfiók.

valójában az első két feltétel már teljesül, mivel a Samba alapértelmezés szerint ezt a két beállítást használja.,

itt van egy lépésről-lépésre útmutató, hogy hozzon létre egy nyilvános részvény. Először nyissa meg és szerkessze a Samba konfigurációs fájlt.

sudo nano /etc/samba/smb.conf

a szakaszban ellenőrizze, hogy a workgroup értéke megegyezik-e a Windows számítógépek munkacsoportbeállításaival.

workgroup = WORKGROUP

a beállítást a Windows számítógépen a Control Panel > >System.,

ezután görgessen le a fájl aljára, majd illessze be a következő sorokat.

mentse el és zárja be a fájlt. Ezután hozza létre a /srv/samba/public/ mappát.

sudo mkdir -p /srv/samba/public

Ezután ellenőrizze, hogy a nobody fiók elolvasta, írta és végrehajtotta-e az engedélyt a nyilvános mappában a következő parancs végrehajtásával. (Ha a rendszer nem rendelkezik a setfacl paranccsal, telepítenie kell a aclsudo apt install acl csomagot.,)

sudo setfacl -R -m "u:nobody:rwx" /srv/samba/public/

indítsa újra az smbd-t és az nmbd-t.

sudo systemctl restart smbd nmbd

elérése Samba megosztott mappát a Windows

egy Windows számítógép, amely ugyanabban a hálózatban, nyissa meg a File Explorer és kattintson a Network a bal oldali ablaktáblán. Ha a következő üzenetet látja, akkor kattintson az üzenetre, majd kapcsolja be a hálózati felfedezést és a fájlmegosztást.

File sharing is turned off. Some network computers and devices might not be visible.

következő, írja be a \\ majd a Samba szerver IP-címét a File Explorer címsorába, így: \\192.168.0.102., Látni fogja a megosztott erőforrások listáját a Samba szerveren.

majd kattintson duplán a megosztott mappára. A privát megosztás eléréséhez meg kell adnia a samba felhasználónevét és jelszavát. Nem kell ezt tennie a nyilvános részesedés eléréséhez.

csatlakozás után a Samba megosztott mappában olvashatsz, írhatsz és törölhetsz fájlokat.

csatlakozási hiba

Ha a következő hibát kapja:

You do not have permission to access \\hostname\share-name. Contact your network administrator to request access.

megpróbálhat csatlakozni a Samba részvényhez a parancssorból., Nyisson meg egy parancssort, majd futtassa a következő parancsot az aktuális Samba munkamenet bezárásához.

net use \\samba-server-ip\share-name /delete

ezután csatlakozzon a Samba share-hez a következő paranccsal:

net use \\samba-server-ip\share-name /user:samba-username password

miután a fenti parancs sikeresen befejeződött, lépjen a File Explorer hálózati lapjára, és most elérnie kell a Samba share-t.

Drive Mapping Windows

A Windows operációs rendszer egyik jellemzője a meghajtó betűjelének (például S:) távoli könyvtárba történő leképezése., A S: meghajtó betűjelének a Samba megosztáshoz való leképezéséhez kattintson a jobb gombbal a Samba megosztott mappára, majd válassza a Map network drive lehetőséget. Ezután válasszon egy meghajtó betűt, majd kattintson a Befejezés gombra.

a meghajtó leképezésének létrehozása után az alkalmazások hozzáférhetnek a Samba share fájljaihoz a S:meghajtó betű segítségével. Ez a Samba megosztás automatikusan fel lesz szerelve, amikor bejelentkezik a Windows számítógépére.,

hozzáférés a Samba Share mappához A Nautilus Fájlkezelőben Linuxon

Ha Nautilus fájlkezelőt használ, akkor kattintson a bal oldali ablaktáblán a Other Locations elemre. Az alján megjelenik egy lehetőség a kiszolgálóhoz való csatlakozásra. A Samba megosztás eléréséhez írja be a smb:// parancsot, majd a Samba szerver IP-címét, majd nyomja meg az Enter billentyűt. Például:

  • smb://192.168.0.102

megjelenik a megosztott erőforrások listája a Samba szerveren.,

Ha a privát megosztott mappára kattint, akkor be kell írnia a Samba felhasználónevét és jelszavát. Ha rákattint a nyilvános megosztott mappára, akkor válassza a névtelen Csatlakozás lehetőséget.

automatikusan csatolja a Samba Share parancsot a Linux

parancssorból ha automatikusan fel kell szerelni a Samba share-t a rendszerindításkor, akkor a parancssor segítségével csatolhat, majd hozzáadhat egy bejegyzést a /etc/fstab fájlba. Ehhez telepítenie kell a cifs-utils csomagot.,

CentOS / RHEL

sudo dnf install cifs-utils

Debian/Ubuntu

sudo apt install cifs-utils

ezután hozzon létre egy csatolási pontot a Samba részvényhez.

sudo mkdir /mnt/samba-private

most már használhatja a következő parancsot, hogy felmászik egy privát megosztott mappát.

sudo mount -t cifs -o username=your_samba_username //192.168.0.102/private /mnt/samba-private/

kérni fogja, hogy adja meg a Samba jelszót. Ezt követően a /mnt/samba-private/ könyvtárba kerül.

a Samba megosztás automatikus csatlakoztatásához szerkessze a /etc/fstab fájlt.

sudo nano /etc/fstab

adja hozzá a következő sort a fájlba.,

ahol:

  • / / 192.168.0.102 / private: A Samba szerver IP címe és a megosztás neve.
  • /mnt / samba-private: mount point for the Samba share.
  • cifs: fájlrendszer típusa
  • x-systemd.automount: ez az opció azt mondja a systemd-nek, hogy hozzon létre egy automount egységet a fájlrendszerhez. Ezt azért használjuk, mert biztosítja, hogy a távoli fájlrendszer csak hálózati hozzáférés után legyen felszerelve.
  • _netdev: ez meghatározza, hogy a csatoláshoz hálózat szükséges.
  • hitelesítő adatok=: a Linuxnak meg kell keresnie a hitelesítő adatokat a /etc/samba-credential.conf fájlban.,
  • uid=1000, gid=1000: alapértelmezés szerint a telepített fájlrendszer a root felhasználó tulajdonában lenne. Az uid és a gid segítségével megváltoztatjuk a fájlrendszer tulajdonjogát. Általában saját uid-t vagy gid-t használ, amelyek alapértelmezés szerint mind az 1000.
  • x-gvfs-show: ha GNOME asztali környezetet vagy annak származékait használja, akkor ezt a lehetőséget használhatja a telepített fájlrendszer megjelenítésére a fájlkezelőben.

mentse el és zárja be a fájlt. Ezután hozza létre a hitelesítő fájlt.

sudo nano /etc/samba-credential.conf

adja hozzá a következő sorokat a fájlba.

username=your_samba_usernamepassword=samba_passworddomain=WORKGROUP

mentse el és zárja be a fájlt., Győződjön meg róla, hogy csak a gyökér felhasználó tudja olvasni ezt a fájlt.

sudo chmod 600 /etc/samba-credential.conf

Ha most újraindítja a Linux számítógépet, a Samba megosztás automatikusan fel lesz szerelve.

nem tud írni a Samba részvényre?

a fent leírt CIFS-tartó lehetővé teszi, hogy írjon a Samba részvényre. Ha a fájl létrehozásakor a következő hiba jelenik meg:

Read-only file system

ellenőrizze, hogy a writable = yes A Samba konfigurációs fájlban van-e beállítva., Néha a Samba megosztott mappa külső merevlemezen található, majd győződjön meg róla, hogy a külső merevlemezt olvasási-írási módban rögzíti a Samba szerverre. Például a btrfs merevlemezt az /etc/fstab következő sorával szereltem fel.

LABEL=5TB /mnt/5TB btrfs defaults 0 0

kiderül, hogy a defaults opció nem teszi lehetővé az írási műveletet. Írhatóvá tételéhez adja hozzá a rw opciót.

LABEL=5TB /mnt/5TB btrfs defaults,rw 0 0

majd távolítsa el a merevlemezt. Használnia kell a saját rögzítési pontját.

sudo umount /mnt/5TB

és szerelje fel újra.,

sudo mount -a

hibaelhárítási tipp

Ha a Samba szerver nem működik a várt módon, ellenőrizheti a naplófájlokat a /var/log/samba/ könyvtárban. A következő sort a szakasz /etc/samba/smb.conf fájlba adhatja hozzá, hogy növelje a naplószintet, ha további információkat szeretne naplózni.

log level = 2

ennyi! Remélem, hogy ez a bemutató segített a Samba szerver beállításában az Ubuntuban. Mint mindig, ha hasznosnak találta ezt a bejegyzést, akkor iratkozzon fel ingyenes hírlevelünkre., Érdemes elolvasni a következő cikket is, hogy megossza a nyomtatót a helyi hálózaton.

  • Beállítás CUPS Nyomtatási Szerver Ubuntu (Bonjour, IPP, Samba, AirPrint)
Arány bemutató

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük