2024. április 20., szombat

Gyorskeresés

Útvonal

Cikkek » Számtech rovat

Raspberry Pi OS

A Raspberry Pi OS egy szabad operációs rendszer, aminek Debian az alapja, és ezt optimalizálták a Raspberry Pi hardveréhez.

[ ÚJ TESZT ]

Hálózati fájl szerver

Mount
Mivel az elérhető árú SD kártyák mérete még nem teszi őket alkalmassá háttértárnak, hozzám hasonlóan sokan külső merevlemezzel oldják meg ezt a problémát. Nézzük, hogy néz ez ki Raspberry Pi OS alatt.
Készítsük el a könyvtárat, ahova felcsatoljuk a merevlemezt.
sudo mkdir /media/WDMyBook
A
sudo lsblk -f
paranccsal kilistázzuk a rendszerre kapcsolt lemezeket.

NAME FSTYPE LABEL UUID MOUNTPOINT
sda
└─sda1 ext4 ad8f979b-e1d3-4b7f-b04b-4567c8ec1b20
mmcblk0
├─mmcblk0p1 vfat boot 7771-B0BB /boot
└─mmcblk0p2 ext4 c7f58a52-6b71-4cea-9338-65f3b8af27bf /

A Pi-re dugott USB-s merevlemez első (és egyetlen) partíciójának eszközneve az sda1. Megtudjuk azt is, hogy ez a partíció ext4 fájlrendszert használ, és hogy mi az egyedi azonosítója (UUID).
Nem ajánlom, de ha mégis ragaszkodsz az NTFS fájlrendszerhez, fel kell telepítened az ntfs-3g csomagot, hogy kezelni tudja azt.
sudo apt install ntfs-3g
Két módon csatolhatod fel a háttértárakat fixen beállítva, vagy automatikusan felcsatolva. Én a fix megoldást kedvelem, mivel nem hurcolászom a lemezt, mindig a Pi-re van csatlakoztatva. Először ezt a módot ismertetem.
Ahhoz, hogy minden indításkor felcsatolja, az fstab fájlt kell szerkeszteni:
sudo nano /etc/fstab
A végéhez hozzá kell adni az alábbi sort:

UUID=ad8f979b-e1d3-4b7f-b04b-4567c8ec1b20 /media/WDMyBook ext4 nofail,defaults 0 2

Ne felejtsd el az UUID-t a te lemezednek megfelelően behelyettesíteni! CTRL+X-el kilépsz, ekkor megkérdi mented-e a módosításokat. Válaszd azt I-t,vagyis az igent. NTFS fájlrendszer használatakor kicsit máshogy néz ki ez a sor:

UUID=0AC4D607C4D5F543 /media/WDMyBook ntfs-3g uid=1000,gid=1000,umask=007 0 2

A
sudo mount -a
parancs az fstab-ban megadott összes lemezt felcsatolja. Ha mindent jól írtál be, nem kapsz hibaüzenet, és fel is csatolja az USB-s lemezt. Ezentúl minden indításkor megteszi ezt, a lemez tartalmát pedig az /media/WDMyBook könyvtárban éred el.
Ha gyakran csereberéled a lemezeket ez nem túl praktikus, ezért ilyenkor érdemes a műveletet automatizálni. Ezt meg is teszi a grafikus felülettel ellátott verzió. Aki ennek ellenére a "light" verziót telepítette, annak szüksége lesz a pmount csomagra.
sudo apt install pmount
Pár új fájlt kell létrehozni
sudo nano /etc/udev/rules.d/usb_automatika.rules
aminek a tartalma a következő legyen:

ACTION=="add", KERNEL=="sd[a-z][0-9]", TAG+="systemd", ENV{SYSTEMD_WANTS}="usb_kezelo@%k"

A CTRL+X-el lépsz ki, és az I-t választva elmented. A második fájl
sudo nano /lib/systemd/system/usb_kezelo@.service
aminek a tartalma a következő legyen:

[Unit]
Description=USB felcsatoló
BindsTo=dev-%i.device
After=dev-%i.device

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/local/bin/automount %I
ExecStop=/usr/bin/pumount /dev/%I

A CTRL+X-el lépsz ki, és az I-t választva elmented. A harmadik pedig ez legyen
sudo nano /usr/local/bin/automount
aminek a tartalma a következő legyen:

#!/bin/bash
/usr/bin/pmount --umask 000 --noatime -w --sync /dev/$1 /media/$1

Megintcsak a CTRL+X-el lépsz ki, és az I-t választva mented el. Hogy a fenti script le is fusson, futtathatóvá kell tenni a
sudo chmod +x /usr/local/bin/automount
parancsal.
Újraindítás után (sudo reboot) a bele dugott USB meghajtót a /media/ könyvtár alá fogja felcsatolni.

A feladat első fele teljesítve, már látjuk a merevlemez tartalmát, alkalom adtán automatikusan fel is csatoljuk. A fixen felcsatolt lemeznek beállítjuk a tulajdonosát,
sudo chown -R pi:users /media/WDMyBook
majd a jogosultságokat
sudo chmod -R 775 /media/WDMyBook
A fenti parancsokat szűz, vagy csak adatokat tartalmazó saját eszközön adjuk ki, mivel a teljes partíción eltekeri a jogosultásokat, és a tulajdonost!

Samba
Létre kell hozni egy új felhasználót, akivel megosztjuk a fájlokat. Mivel a pi felhasználó emelt szintű jogosultságokkal bír, nem szerencsés a mindennapi használata. Ezért létrehozunk egy korlátozott jogosultságokkal rendelkező felhasználót. A lenti példában a valaki nevű felhasználót hozzuk létre úgy, hogy közben hozzáadjuk az users nevű csoporthoz.
sudo useradd -m -G users valaki
Megadjuk a jelszavát.
sudo passwd valaki
Most már tényleg jöhet a samba, amit a
sudo apt install samba
paranccsal telepítünk. Most hozzáadjuk valaki-t, a samba felhasználókhoz.
sudo smbpasswd -a valaki
Bekéri a valaki felhasználó jelszavát (kétszer). Ezzel elértük, hogy a valaki felhasználót és annak jelszavát megadva hozzáférhetünk a megosztásokhoz.
A samba beállításait tartalmazó fájlban kell pár módosítást elvégezni.
sudo nano /etc/samba/smb.conf
A [global] szekcióban ezeket kell módosítani:

workgroup=MUNKACSOPORT
wins support=yes
map to guest=Bad User
protocol=SMB2

Egyrészt, a munkacsoport nevét át kell írni a helyi hálózaton használt névre, ill. be kell kapcsolni a wins támogatást (a sor elejéről törölni kell a #-t, különben a sort figyelmen kívül hagyja). A 3. sor egy speciális, mindenki által elérhető megosztásokhoz szükséges, a 4. pedig a Windows-hoz hasonlóan letiltja a nem biztonságos SMB1 protokol használatát.
Szintén ebben a fájlban kell megadni, hogy mit és hogyan osztunk meg a hálózaton. Az fstab-al állandóan felcsatolt merevlemezt így osztjuk meg:

[WDMyBook]
comment=Ez a WD MyBook merevlemezem
path=/media/WDMyBook
browseable=Yes
writeable=Yes
read only=No
create mask=0775
directory mask=0775
public=no
valid users=@users
force group=users
# Ez a két sor megakadájozza, hogy az OS X rendszer segédfájljai létrejöjjenek ezen a megosztáson
veto files = /._*/.DS_Store/.Trashes/.TemporaryItems/
delete veto files = yes

Ehhez a megosztáshoz nem fér hozzá bárki, csak aki névvel, jelszóval azonosította magát. Ilyen az imént létrehozott valaki felhasználó, mivel tagja az users csoportnak. Ha azt szeretnénk, hogy bárki (a vendégek, a szomszéd,...) azonosítás nélkül hozzáférjen bizonyos adatokhoz, készítsünk neki egy "látogató" mappát. pl.
mkdir /media/WDMyBook/latogato
Állítsuk be a jogosultságait úgy, hogy ezt a mappát bárki írhatja, olvashatja.
sudo chmod -R 777 /media/WDMyBook/latogato
Majd az smb.conf végéhez írjuk hozzá:

[latogato]
path = /media/WDMyBook/latogato
read only=No
writeable=Yes
guest ok=Yes

Ezek után már gyerekjáték az automatikusan felcsatolt meghajtók megosztása, de ebbe is viszünk egy kis csavart. Csak jelszó megadása után férsz hozzá, de akkor is csak olvasni tudod. Például multimédia tartalmat eléri a médialejátszó, de véletlenül sem tudsz beletörölni.

[USB]
comment=Az automatikusan felcsatolt USB meghajtó megosztása
path=/media
browseable=Yes
writeable=No
only guest=no
public=no

Ha macOS-t használsz, akkor egy kis trükközéssel ráveheted arra, hogy a macOS Time Machine lemeznek használja az egyik megosztásodat. Ehhez a [global] szakaszban is szükséges pár módosítás.

[global]
min protocol = SMB2
vfs objects = fruit streams_xattr
fruit:metadata = stream
fruit:model = MacSamba
fruit:posix_rename = yes
fruit:veto_appledouble = no
fruit:wipe_intentionally_left_blank_rfork = yes
fruit:delete_empty_adfiles = yes

Majd jöhet magának a megosztásank a definiálása

[TM]
path = /media/NAS1/TM
valid users = @users
force user = szekeres
force group = users
available = yes
browseable = yes
writeable = yes
create mask = 0660
directory mask = 0770
wide links = yes
vfs objects = fruit streams_xattr
fruit:time machine = yes

Az smb.conf szerkesztése után ne felejtsd el menteni a változtatásokat. CTRL+O-val mentesz, CTRL+X-el kilépsz. Ellenőrizd le még egyszer, hogy mindent szabályosan módosítottál a fájlban. Erre a testparm parancsot használd.

Load smb config files from /etc/samba/smb.conf
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
Processing section "[homes]"
Processing section "[printers]"
Processing section "[print$]"
Processing section "[WDMyBook]"
Processing section "[USB]"
Loaded services file OK.
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions

Ha nem panaszkodik semmire, kilistázza a megosztásokat, szintaktikailag rendben van a beállító fájl. Az rlimit_max:... sor nem hiba, csak figyelmeztetés. Nem valószínű, hogy bármelyik felhasználónk több mint 1000 fájlt nyitna meg.
Most vagy rendszert, vagy csak a samba-t újra kell indítani
sudo systemctl restart smbd.service
sudo systemctl restart nmbd.service

és már meg is jelent a hálózaton a Raspberry Pi-re kötött merevlemez. A NAS elkészült. A latogato megosztást bárki írhatja, olvashatja, a WDMyBook-hoz, viszont felhasználónév és jelszó kell. Méghozzá valaki felhasználó nevet és jelszavát kell megadni, hogy hozzáférjünk.
Természetesen sok finomhangolásra van még lehetőség, de már most is egy jól használható házi/kis irodai fájl szervert készítettünk.

NFS
Egy másik módszer fájlok megosztására, az NFS használata. Mindössze egy csomagot kell telepíteni, hogy működésbe lendüljön.

sudo apt install nfs-kernel-server

A megosztásokat az exports fájlban adjuk meg, amit rögtön átszerkesztünk.

sudo nano /etc/exports

/media/WDMyBook 192.168.0.0/24(rw,async,no_subtree_check,insecure)

A felépítése nagyon egyszerű, minden sor egy megosztás. Az első paraméter, hogy melyik könyvtárat osztjuk meg, a második paraméter hogy kivel, majd a zárójeles részben a hogyant állítjuk be. Ahogy a fenti példában megadhatunk egy alhálózatot, vagy csak egy konkrét IP címet. A * jelentése, hogy bármilyen címről elfogadja a kapcsolatot. A zárójelek között adhuk meg a megosztás tulajdonságait. A legfontosabb az első paraméter. Az rw írható megosztást hoz létre, míg az ro csak olvashatót. Mentsük el a módosítást, és tudassuk a rendszerrel hogy új konfigurációt készítettünk.

sudo exportfs -a

Linux, és Windows rendszereken általában elég ennyi hogy beröffenjen a megosztás, és probléma nélkül működjön. OS X kliensekhez módosítani kell az nfs-common fájlt.

sudo nano /etc/default/nfs-common

NEED_STATD=yes
NEED_IDMAPD=yes

Valamint el kell indítani az rpc-statd szervízt.

sudo systemctl enable rpc-statd
sudo systemctl start rpc-statd

Ezzel készen is vagyunk, van egy működő samba ill. NFS szerverünk. És ez még csak a kezdet! A következő oldalakon még többet hozunk ki a Raspberry Pi-ből.

A cikk még nem ért véget, kérlek, lapozz!

Azóta történt

Előzmények

Hirdetés

Copyright © 2000-2024 PROHARDVER Informatikai Kft.