Suteikite kitiems vartotojams ribotą savo Raspberry Pi žiniatinklio serverio valdymą, kad jie galėtų atlikti įprastas užduotis.

Jei naudojate Raspberry Pi kaip namų serverį, tikėtina, kad draugai ir šeimos nariai taip pat galės naudotis jo paslaugomis. Kartais jiems teks atlikti kai kurias įprastas užduotis, kurioms reikalinga ribota serverio kontrolė.

„OliveTin“ yra savarankiška programa, kurią jie gali pasiekti naudodami žiniatinklio naršyklę, kad vykdytų iš anksto nustatytas komandas ir jūsų apibrėžtus scenarijus.

Kodėl Raspberry Pi naudoti „OliveTin“?

„Raspberry Pi“ vienos plokštės kompiuterių serija yra puikūs lengvi namų serveriai, o juos palyginti lengva nustatyti Raspberry Pi žiniatinklio serverį.

Be svetainių ir tinklaraščių prieglobos, jūsų Raspberry Pi gali talpinti nuotraukų galerijas, kulinarines knygas ir internetinius biuro rinkinius. Tu gali transliuokite filmus ir laidas į savo televizorių naudodami Jellyfin, arba savarankiškai priglobti audioknygų biblioteką su garso knygų lentyna.

instagram viewer

Jūs taip pat neapsiribojate galimu vartotojų skaičiumi, todėl, nebent gyvenate vienas, prieiga prie Raspberry Pi paslaugų tikriausiai dalinatės su kitais savo namų ūkio nariais.

Serveriams, kaip ir bet kuriam kitam kompiuteriui, retkarčiais reikia priežiūros. Jūsų vartotojams gali prireikti pradėti arba sustabdyti tam tikras paslaugas, prisijungti prie VPN, atsargines failų kopijas Raspberry Pi, arba patikrinkite, ar nėra tinklo problemų.

Jei jūsų šeima ir namiškiai yra susipažinęs su Linux komandų eilute, ir jūs pasitikite jais, kad netyčia ar tyčia nesugadintų jūsų sistemos, galite apsvarstyti galimybę suteikti jiems savo SSH kredencialus kartu su narystė sudo grupėje, kad jie galėtų atlikti šias užduotis jums netrukdydami.

Tai viliojantis, bet pavojingas pasiūlymas, o jei kas nors nepavyks, tai jūs turėsite tai ištaisyti. Naudodami OliveTin galite apibrėžti įprastas komandas, kurias kitiems serverio naudotojams gali tekti reguliariai atlikti. Tada jie gali atidaryti žiniatinklio naršyklę ir paspausti mygtuką, kuris paleis komandą jūsų Pi, niekada neliesdami komandų eilutės.

Kaip įdiegti „OliveTin“ „Raspberry Pi“.

Lengviausias būdas įdiegti „OliveTin“ yra naudoti „Docker Compose“. Jei savo Raspberry Pi dar nesate įdiegę „Docker“ ir „Docker Compose“, peržiūrėkite mūsų pagrindinį vadovą kaip įdiegti „Docker“ ir „Docker Compose“ sistemoje „Linux“..

Prisijunkite prie Raspberry Pi serverio naudodami Secure Shell (SSH):

ssh pi@tavo-vietinis-pi-ip-adresas

Sukurkite naują OliveTin katalogą ir naudokite cd komanda pereiti į ją:

mkdir olivetin && cd olivetinas

Norėdami sukurti naują Docker Compose failą, naudokite nano teksto rengyklę:

nanodokininkas-komponuoti.yml

Nukopijuokite ir įklijuokite:

versija: "3.5"
paslaugos:
olivetinas:
konteinerio_pavadinimas: olivetinas
vaizdas: jamesread/olivetin
vartotojas: root
apimtys:
- ~/olivetin:/konfig
- /var/run/docker.sock:/var/run/docker.sock
prievadai:
- "1337:1337"
paleisti iš naujo: nebent sustabdytas

tinklai:
žiniatinklis:
skyrius:
išorinis: tiesa

Dabar išsaugokite ir išeikite iš nano su Ctrl + O tada Ctrl + X.

Prieš paleisdami OliveTin pirmą kartą, turite sukurti konfigūracijos failą. Čia nustatysite komandas, kurias vartotojai turės vykdyti. Kol kas įveskite:

liestikonfig.yaml

Naudokite OliveTin, kad suteiktumėte savo vartotojams ribotą serverio valdymą

Savo terminale įveskite:

docker-compose up -d 

Ši komanda parodys „Docker Compose“ atskirtu režimu. „Docker Compose“ atsisiųs „OliveTin“ vaizdus ir nustatys konteinerius. Šis procesas gali užtrukti šiek tiek laiko. Kai grįšite į komandų eilutę, patikrinkite, ar viskas veikia tinkamai:

dokeris-komponuoti ps

Atidarykite naršyklę ir eikite į jūsų-pi-vietinis-ip-adresas: 1337. Turėtumėte pamatyti pilką tinklalapį su OliveTin porašte. Dabar esate pasirengę pradėti apibrėžti komandas savo vartotojams.

Grįžę į terminalą, naudokite nano, kad redaguotumėte anksčiau sukurtą konfigūracijos failą:

nanokonfig.yaml

Sintaksė yra paprasta, todėl paslaugų pavadinimus ir veiksmus, kuriuos reikia atlikti, galite apibrėžti panašiai kaip šiame pavyzdyje:

veiksmai:
- pavadinimas: "Perkrauti serverį"
apvalkalas: paleiskite iš naujo

- pavadinimas: „Ping Netflix“
apvalkalas: pingNetflix.com

- pavadinimas: Iš naujo paleiskite „Apache“.
piktograma: "🏁"
apvalkalas: sudo service apache2 paleiskite iš naujo

title laukas yra pavadinimas, kurį vartotojai gali matyti, kai seka komanda apvalkalas: yra komanda, kuri iš tikrųjų bus vykdoma jūsų Raspberry Pi.

„OliveTin“ palaiko unikodo piktogramas, todėl galite nurodyti jų HTML kodą piktogramą skyrius. Arba galite nustatyti visą norimo naudoti vaizdo URL. Pavyzdžiui:

piktograma: '<imgsrc = " https://www.makeuseof.com/public/build/images/muo-logo-full-colored-light.svg"plotis = "81px"/>'

Nors mūsų konfigūracijoje pateikiami pavyzdžiai, kurie iš naujo paleis Raspberry Pi, iš naujo paleis Apache ir ping „Netflix“, tačiau komandų, kurias galite nurodyti, apribojimų tikrai nėra. Galite suteikti vartotojams mygtuką, kuris nukopijuos filmus iš vieno katalogo į kitą, greitai nuvalys ir perrašyti tam tikrus katalogus arba sukurti užmušimo jungiklį, kuris užšifruos jūsų saugojimo įrenginius su a atsitiktinis raktas.

Kai būsite patenkinti savo konfigūracija, išsaugokite failą ir išeikite iš nano paspausdami Ctrl + O tada Ctrl + X.

Bet koks stdout, atsiradęs paspaudus mygtukus, registruojamas. Žurnalus galite peržiūrėti paspausdami Rąstai mygtuką viršutiniame dešiniajame kampe. Naudodami „OliveTin“ taip pat galite leisti vartotojams duoti komandas, vadinamus argumentais, per žiniatinklio sąsają – teksto laukelyje arba išskleidžiamajame meniu.

Dėl pavojaus, susijusio su leidimu nepatyrusiems vartotojams leisti privilegijuotas savavališkas komandas tiesiai į jūsų Raspberry Pi serverį, galite apriboti argumentų tipą, kurį „OliveTin“ priims.

Norėdami greitai sužinoti, yra šie tipai:

Tipas

Priimtos vertybės

labai_pavojinga_neapdorota_styga

Kaip rodo pavadinimas, vartotojas galės įvesti bet kokį tekstą ar komandą ir tai atlikti

tarpt

Bet koks sveikas teigiamas skaičius

ascii

Bet kokie simboliai ar skaičius, bet be tarpų ar skyrybos ženklų

ascii_identifikatorius

DNS ir panašiai

ascii_sakinys

a-z, 0-9, su tarpais, . ir ,

url

Interneto adresas

Teksto laukelio apibrėžimas jūsų config.yaml failas suformatuotas taip:

veiksmai:
- pavadinimas: Aidas kažkas į komandinę eilutę
piktograma: "⛔"
apvalkalas: aidas {{ pranešimas }}
argumentai:
- vardas: žinutė
tipo: labai_pavojinga_neapdorota_styga

Teksto laukelis pasirodys, kai kas nors paspaus atitinkamą mygtuką, ir leis bet kuriam vietinio tinklo vartotojui naršyklėje vykdyti savavališką kodą. Tai nėra visiškai gera idėja.

„OliveTin“ leidžia vartotojams lengvai atlikti pagrindines užduotis jūsų Raspberry Pi serveryje

„Raspberry Pi“ yra puiki namų serverio platforma, skirta prieglobos paslaugoms, kuriomis gali naudotis jūsų šeima, o „OliveTin“ leidžia lengvai atlikti paprastą priežiūrą jūsų netrukdant.

Yra tūkstančiai savarankiškų projektų, kuriuos galite vykdyti naudodami Raspberry Pi ir kurie bus naudingi jūsų namų ūkiui. Atlikite kai kuriuos tyrimus ir sužinokite, už kokias paslaugas mokate, o už kurias galėtumėte priimti patys!