Tegnapi napon szóba került egy olyan képessége a puppynak amivel korábban már én is találkoztam, de az ötletig nem jutottam el magamtól. Úgyhogy az ötletgazdának ezúton is köszönöm a hasznos infókat! Némelyik alapból tartalmazza a pure-ftpd programot amihez gui is társul 2 opcióval. Anonymous root jog nélkül, illetve root felhasználó root joggal (guiból választható ha menüből indítjuk). Én az utóbbiból csiholtam itthon home cloud -ot. De mielőtt nagyon előre szaladnánk, néhány fontos bevezető a megoldás szerkezetéről:
adrv-ben dolgoztam, bár a puppy fő sfs-ét is manuálisan szerkesztettem. Tehát adott a hivatalos bionicpup64 8.0 amely a puppylinux hivatalos oldalán keresztül beszerezhető és a legtöbb akadályt legyűrő puplet révén került rá a választásom. Ehhez nincs fdrv, de én a pop!_OS firmware gyűjteményével megoldottam ezt a kérdést is. Tehát készítettem fdrv -t, vannak az alap sfs-ek és az adrv ami az FTPuP -ot csinálja belőle. A hivatalos kiadás nem tartalmazza alapból a pure-ftpd programot, így azt a frissített ppmből és a puppy tárolóból beszerezhetjük auto install helyett auto download opcióval, így megkapjuk a pet-et a root könyvtárba. Azt kibontottam, és a tartalmát egy az egybe beletettem az adrv -be az egyébkénti megoldással ami gyakorlatilag perifériák nélkül: bekapcs-kikapcs gombbal vezérelhető teljesen csutka gépet működtet. Ebben van egy shell szkript, amit eredetileg a murga fórumról halásztam, tudni kell róla, hogy ezt is át kellett jócskán variálni, hogy megfelelően tegye a dolgát. Így amikor bekapcsolom a gépet, a BIOS be van állítva fixen a folyamatosan benne hagyott indító Pendrive-ra, és a benne lévő egyébként ntfs meghajtókkal. Az így elinduló gép, először bebootol, de kell egy VGA legyen (integrált legalább) a rendszerben lévén, hogy el kell indulnia az X-nek. Amikor ez megtörténik, elindul a szkript, és kilövi az egyébként első indulásnál jelentkező beállító ablakokat, szám szerint 2-t, egymástól pár másodperces késleltetéssel, és elkezdődik a puppy teljes indulása, a /root/Startup alkalmazásával egyetemben. Ekkorra ha LAN kábellel csatlakozik a gép a hálózatunkhoz, DHCP-n megkapja az ip-t, és a szkript következőkben felcsatolja az összes létező ntfs meghajtót és partíciót amit csak talál. Kizárólag jelen állás szerint, csak ntfs meghajtókat majd elindtíja a paraméterezett pure-ftpd szervert és onnantól nekünk csak annyi a dolgunk, hogy csatlakozzunk rá egy FTP klienssel. Ha kikapcsoljuk, csak megnyomjuk a gép power gombját, és 90 mp után teljesen kikapcsol a puppy a meghajtók lecsatolásával megelőzve.
Előnyök:
1. teljes elérésünk lesz a hdd(k)-hez FTP -vel.
2. nem szükséges semmi, csak bekapcs-kikapcs
3. csak ntfs meghajtókat csatol
4. ram módba működik
Hátrányok:
1. a root jog miatt a teljes puppy is elérhető az FTP-vel
2. muszáj kliens oldalon UTF-8 kódolást állítani
3. ha az alapértelmezett puppy jelszót módosítanánk szerkeszteni kell az ydrv sfs-t
4. az FTP kliensben állítsuk be a távoli mappát /mnt vagy /mnt/meghajto -ra hogy elkerüljük a véletlen törlést a futó puppyt illetően
Aki nálam profibb az nyilván többet is tud ebből kihozni, az elv hasonló lehet.
A dolgok menete:
Először is kell egy desktop fájl az adrv mappájába ami megegyezik az alap puppy útvonalával. Ez pedig most a példa kedvéért legyen a:
Kód: Egész kijelölése
/root/.config/autostart/nocsak.desktop
Kód: Egész kijelölése
[Desktop Entry]
Encoding=UTF-8
Type=Application
NoDisplay=true
Name=nocsak
Exec=nocsak.sh
Kód: Egész kijelölése
/root/my-applications/bin/nocsak.sh
Kód: Egész kijelölése
#!/bin/bash
# monter5.sh
# for rufwoof
# This one works with the BusyBox blkid (default in Puppies).
####
sleep 14
if [ ! -d "/mnt/home" ]; then
# for i in `blkid | awk -F":" '$2 !~ /swap|vfat|squash|ntfs/ { print $1 }' | cut -d'/' -f3`&& do mkdir -p /mnt/$i;mount /dev/$i /mnt/$i;done
for i in `blkid | awk -F":" '$2 ~ /ntfs/ { print $1 }' | cut -d'/' -f3`;do mkdir -p /mnt/$i && ntfs-3g -o uid=0,gid=0,silent /dev/$i /mnt/$i;done
sleep 3
killall gtkdialog &
sleep 3
killall gtkdialog &
sleep 9
pure-ftpd -bBADHEk 90 &
else
echo "mentesfajl!"
fi
Jól látható a fájlból, hogy a murga fórumról származik de így látjuk majd mit módosítottam benne, ahhoz hogy úgy viselkedjen ahogy kell.
Ha tehát az adrv célmappánkba kicsomagoltuk a ppm-ből fentebb módon említett petet annak tartalmával és az előbb bemutatott fájlokkal megegyező mappákkal, akkor nincs más dolgunk, mint az adrv mappánkra kiadna a dir2sfs parancsot. A kapott sfs-t pedig a megfelelő névkiterjesztéssel ellátva a puppy fő sfs fájlja mellé másolni. fdrv is kellhet azt esetleg megosztom majd sourceforge-on.
Az ydrv sfs és az alapértelmezett jelszó:
Abban az esetben ha más jelszóra szeretnénk szert tenni mint ami a puppy alap jelszava, ezt úgy tehetjük meg, hogy pl a ram módban indított ezen kiadásban kiadjuk Terminálban a passwd parancsot.. beírjuk a kívánt új jelszót ahogy kell, és az újonnan így létrejött:
Kód: Egész kijelölése
/etc/shadow
Sok sikert és minden jót a megvalósításhoz!