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+V
megnyomá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+X
gombot.) 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 acl
sudo 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 asecurity = share
móddal, de ez a biztonsági mód elavult. Erősen javasolt, hogy kerülje ashare
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. - Set
guest 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 acl
sudo 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)