• This is default featured slide 1 title

    Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.This theme is Bloggerized by NewBloggerThemes.com.

  • This is default featured slide 2 title

    Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.This theme is Bloggerized by NewBloggerThemes.com.

  • This is default featured slide 3 title

    Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.This theme is Bloggerized by NewBloggerThemes.com.

  • This is default featured slide 4 title

    Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.This theme is Bloggerized by NewBloggerThemes.com.

  • This is default featured slide 5 title

    Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.This theme is Bloggerized by NewBloggerThemes.com.

Postavljanje STICKY bita nad folderima u Linux-u


Do sada sam već pisao šta je to SUID i SGID bit te kako se oni postavljaju nad datotekama u Linux-u i zašto su oni važni kada je riječ o permisijama nad korisničkim datotekama ili direktorijumima. Također sam pisao kako prepoznati bilo SUID ili SGID bit, no sada ću da ukratko kroz praktičan primjer kažem nešto i STICKY bit-u, kako ga postaviti nad direktorijumom i slično. Napomena: Ovi su članci dio mog serijala iz Linux System administracije te su kao takvi namjenjeni iskusnijim Linux korisnicima.

Piše: Amar Tufo
22. Februar, 2018

1. Šta je sticky bit?

Ukratko, sticky bit je poseban bit permisije koji se postavlja nad datotekama ili direktorijumima koji omogučava isključivo vlasniku (root korisnik) brisanje ili preimenovanje datoteke ili direktorija. Ono što je interesantno kada je riječ o sticky bit-u je i činjenica što sticky bit nije izvorno bio dio Linux-a nego je predstavljen davne 1974. godine kao dio UNIX-a. Njegova svrha je tada bila sasvim drugačija nego što je to sada slučaj. Naime, sticky bit je predstavljen u UNIX-u kao komanda koja je diktirala vrijeme izvršavanja programa, drugim riječima, vrijeme koje potrebno da se program učita u memoriju prije nego ga korisnik može koristiti. No, historija je historija, vratimo se mi Linux-u. 

2. Važnost sticky bit-a

Unutar Linux file system hijerarhije imate direktorij po imenu /tmp koji sadrži temporary datoteke. To su uglavnom datoteke koje su potrebne kako bi programi ili sistem ispravno funkcionisali. Njihovo brisanje može uzrokovati problem prilikom pokretanja sistema ili programa. Eh, ovdje dolazi sticky bit kao rješenje. Naime, postavljanjem sticky bit-a nad direktorijumom /tmp niko osim administratora ne može obrisati ovaj direktorij niti napraviti bilo koju drugu neželjenu radnju. Isti slučaj se odnosi i na korisničke podatke gdje se sticky bit može postaviti čime se može spriječiti brisanje ili nedozvoljen pristup datoteci ili direktoriju. 

Linux File system overview - Part 1 (Možda vas zanima i ovo)



3. Kako postaviti sticky bit nad datotekom ili direktorijumom?

Pošto sam opisao šta je sticky bit i koja je njegova važnost i primjena, sada ću kroz praktičan primjer da vam pokažem kako se sticky bit postavlja nad datotekom ili direktorijumom. U narednom primjeru je kreiran direktorij po imenu /data unutar kojeg se nalaze tri textualne datoteke i to datoteka1.txt, datoteka2.txt i datoteka3.txt. Zadatak ovog prvog primjera je onemogučiti brisanje ili preimenovanje bilo datoteke ili data direktorija. 


Slika 1: Prikaz default permisija direktorija data 
Izvor slike: /home/amar/Desktop/slika1


 Kao što vidite na slici 1, direktorij data je kreiran na mom Desktopu sa svojim default permisijama. Za prikaz permisija nad direktorijumom koristimo komandu ls -ld data u ovom slučaju. A na slici 2 je prikaz sadržaja direktorija sa njegove tri datoteke.


Slika 2: Prikaz default permisija sadržaja direktorija data 
Izvor slike: /home/amar/Desktop/slika2

Na slici 2 su prikazane tri datoteke koje se nalaze unutar direktorija data te su također prikazane i njihove permisije. Ja sam ove datoteke kreirao ručno komandom touch koja osim što kreira datoteke kao datoteka1.txt ona bilježi i vrijeme nastanka iste datoteke što se još naziva i time stamp. Upamtite komandu touch jer je ona jako bitna.

Sada možemo postaviti sticky bit nad direktorijumom data. Trebate znati da sticky bit ima vrijednost 1 a postavlja se slično SUID i SGID bitu komandom chmod. Vidi sliku 3.


Slika 3: Postavljanje sticky bita nad direktorijumom data
Izvor slike: /home/amar/Desktop/slika3

Sticky bit je na slici 3 postavljen komandom chmod +t data te možete vidjeti veliko 'T' u permisijama koje označava da ostali ne mogu pristupiti ovom direktoriju. Malo 't' označava da se direktoriju može pristupiti ili da se datoteka može izvršiti.


Slika 4: Brisanje direktorija data sa njegovim sadržajem
Izvor slike: /home/amar/Desktop/slika4

Na slici 4, možete vidjeti da je pokušaj brisanja direktorija /data odbijen jer je nad istim direktorijem postavljen sticky bit. Dokle god je sticky bit aktivan, nitko ne može obrisati ovaj direktorij.


Slika 5: Upisivanje tekst poruke u datoteku1.txt komandom echo
Izvor slike: /home/amar/Desktop/slika5

Sada ću vam prikazati na sljedećem primjeru postavljanje sticky bita nad datotekom, u ovom slučaju datoteka1.txt. Nemojte da vas zbuni slika 5, na njoj vidite da sam komandom echo upisao tekst poruku 'Ova datoteka ima sticky bit na sebi' u datoteka1.txt a isti sam sadržaj datoteke prikazao upotrebom komande cat.


Slika 6: Pokušaj upisivanja tekst poruke u datoteka1.txt sa sticky bitom
Izvor slike: /home/amar/Desktop/slika6

Sada možete vidjeti jako interesantan scenario gdje sam postavio sticky bit na datoteku1.txt. Pokušaj upisivanja teskt sadržaja komandom echo nije uspio jer daoteka1.txt nema ovlasti za upisivanje niti izvršavanje iste. 

Zaključak:

Sticky bit je jako koristan bit koji se postavlja u situacijama da bi se izbjegao neželjen pristup ili brisanje važnih korisničkih direktorija i njihovih fajlova. Jednom postavljen, sticky bit onemougčava brisanje direktorija i njegovog sadržaja komandom rm -rf koja ne samo da briše direktorij nego i njegov sadržaj (malo r predstavlja rekurziju, drugim riječima, brisanje sadržaja direktorija). Sticky bit ima vrijednost 1 a nad direktorijumom se postavlja komandom chmod +t direktorij ili chmod 1650 direktorij. Veliko 'T' u permisijama govori nam da nema ovlasti za izvršavanje dok malo 't' označava mogučnost izvršavanja sadržaja direktorija. Toliko od mene za sada i do čitanja.
Share:

Postavljanje SGID bita na datoteke u Linux-u


U prošlom članku sam pisao o SUID bitu i kako ga kroz primjere postaviti nad datotekama u Linux-u. Stoga u ovom serijalu članaka iz Linux System administracije imam namjeru ne samo da proširim svoje znanje nego i da potaknem Vas da isto učinite. U ovom kratkom članku ću ukratko objasniti šta je to SGID bit i kako ga postaviti nad datotekama u Linux-u? 

Piše: Amar Tufo
18. Februar, 2018

1. Šta je SGID bit?

Set group identification ili SGID je poseban bit koji se postavlja na datoteke ili direktorije za korisnike koji pripadaju određenoj grupi. U osnovi, SUID i SGID bit su dosta slični a jedina razlika između SUID i SGID bita je ta što za izvršavanje skripte ili bilo koje druge datoteke nad kojom je SGID bit postavljen zahtjeva se posebna dozvola grupe kojoj datoteka pripada. Veoma važno je napomenuti da SGID bit ima vrijednost 2 a nad datotekama ili folderom se postavlja komandom chmod.


2. Kako prepoznati SGID bit nad datotekama?

Veoma je važno da znate prepoznati da datoteka ili direktorij imaju SGID bit postavljen. Stoga kada prilikom prikazivanja permisija ili dozvola nad datotekama vidite malo 'l' ispred karaktera 'x' onda to pokazuje da nemate dozvolu da izvršite ili pokrenete skriptu ili datoteku. S druge strane, kao i kod SUID bita malo 's' nam govori da je SGID bit postavljen (vidi sliku 2).


Slika 1: Prikaz default permisija nad datotekom.txt
Izvor slike: /home/amar/Desktop/slika1

Gore su prikazane na slici 1 default permisije nad datoteka.txt fajlom koje sam prikazao upotrebom komande ls -l datoteka.txt. Na sljedećoj slici 2 prikazan je SGID bit.


Slika 2: Prikaz SGID bita nad datotekom.txt
Izvor slike: /home/amar/Desktop/slika2

Na slici 2 sam prikazao postavljanje SGID bita komandom chmod 2750 datoteka.txt stim što u ovom slučaju treba imati na umu da sedmica omogučava korisniku (root user) izvršavanje datoteke, njeno čitanje i pisanje dok petica daje grupi iste ovlasti ali sada pošto je SGID bit postavljen primijetit ćete da grupa nema tu dozvolu i na kraju ostali koji nemaju nikakve ovlasti (vidi sliku 3).



Slika 3: Pokretanje datoteke.txt bez dozvole grupe
Izvor slike: /home/amar/Desktop/slika3

Iako sam administrator nemam mogučnosti pokrenuti ovu datoteku zbog toga što grupa 'amar' kojoj datoteka pripada nema ovlasti jer je SGID bit postavljen. 

3. Kako postaviti SGID bit nad datotekama?

Iako sam već na slici 2 prikazao koju vrijednost koristi SGID bit i kako ga postaviti, u narednom primjeru sam napisao malu skriptu po imenu hello.sh nad kojom ću postavitiSGID bit a sadržaj ove skripte je prikazan na slici 4.


Slika 4: Sadržaj skripte po imenu hello.sh
Izvor slike: /home/amar/Desktop/slika4

Pretpostavljam da znate da ovu skriptu ne možemo pokrenuti ukoliko ne izvršimo komandu chmod +x hello.sh ali prije nego to uradimo, evo kako izgledaju permisije za ovu skriptu.


Slika 5: Prikaz default permisija skripte hello.sh
Izvor slike: /home/amar/Desktop/slika5

Slika pet prikazuje da je izvršena komanda chmod +x kako bi se ova skripta uopšte mogla izvršiti te prikaz default permisija gdje možete vidjeti da vlasnik ima mogučnost izvršavanja, čitanja i pisanja što se odnosi i na grupu dok ostali imaju mogučnost čitanja i izvršavanja. Također ćete primjetiti da skripta hello.sh pripada grupi 'amar'. 


Slika 6: Prikaz SGID bita nad skriptom hello.sh
Izvor slike: /home/amar/Desktop/slika6

Eh, sada, ovo je doista interesantan slučaj gdje su permisije nad skriptom hello.sh dosta različite kako za vlasnika datoteke, tako i za grupu te ostale. Scenario je sličan datoteci.txt gdje grupa nema ovlasti jer vidite malo 's' što nam govori da je SGID bit postavljen. Vlasnik skripte ne može da ju pokrene na standardan način bez saglasnosti jer se skripta tretira kao datoteka sa posebnim permisijama što je prikazano na slici 7. Ostali mogu izvršiti skriptu ali je ne mogu modifikovati. 


Slika 7: Pokretanje skripte hello.sh bez dozvole grupe
Izvor slike: /home/amar/Desktop/slika7

Zaključak:

SUID i SGID bit su posebni bitovi permisije nad datotekama kojima se diktiraju dozvole ili ovlasti za pokretanje datoteka ili direktorija mimo administratorskih privilegija. SGID bit je sličan SUID bitu gdje je za pokretanje datoteke, skripte ili komande potrebna ovlast grupe dok SUID bit omogučava izvršavanje datoteke ili skripte bez obzira da li je trenutni korisnik administrator ili ne. Vrijednost SGID bita je 2 a nad datotekama se postavlja koristeći komandu chmod. Prepoznaje se time što ispred 'x' karaktera u permisijama stoji malo 's'. Više o SGID bitu možete saznati i na ovom linku. Toliko od mene za sada i do narednog čitanja.

Share:

Kako postaviti pozadinsku sliku za GRUB boot loader?



U ovom kratkom članku ja ću vam pokazati kako postaviti pozadinsku sliku za GRUB boot loader tako da više GRUB nema onu svoju dobro poznatu monokromnu pozadinsku boju. Između ostalog, ovaj članak će vas naučiti kako ručno izvesti konfiguraciju GRUB datoteke kako bi se vaša omiljena pozadina prikazala sljedeći put kada butate vaše računalo. 

Piše: Amar Tufo
13. Februar 2018

1. Šta je GRUB?


Slika 1: Fedora Linux sa GNU/GRUB2 bootloaderom v1.9
                             Izvor slike: https://www.dedoimedo.com/computers/grub-2.html

Ukratko rečeno, GRUB (GNU/GRand Unified Bootloader) je nova generacija Linux boot loadera. Nastao je na osnovu PUPA projekta koji je kasnije napušten a na osnovu istraživanja i kontinuiranog developmenta kasnije je nastao GRUB. Grub je trenutno standardni boot loader za Linux uz dobro poznati LiLo (Linux Loader) a trenutno su dostupne dvije verzije GRUB-a i to verzija GRUB Legacy koja se odnedavno više i ne razvija a druga verzija je GRUB2 koji sada pogoni večinu distribucija kao i moj Linux Mint 18.3 Silvia Mate.


Slika 2: Ubuntu Linux sa GNU/GRUB2 bootloaderom v2.02
                                                      Izvor slike: goo.gl/7Ld3CR

2. Gdje se nalazi konfiguracijska datoteka  za GRUB i kako joj pristupiti?

Kao budući Linux System administrator, vjerovatno je da ćete morati veoma često konfigurisati GRUB boot loader bilo da se od vas traži da se Ubuntu nalazi kao primarna distribucija u odnosu na Linux Mint, da izvedete prioritet butanja Windows operativnog sistema koji se nalazi uz distribucije i slično. Stim u vezi je jako bitno da  znate gdje se nalazi konfiguracijska datoteka GRUB-a i kako joj pristupiti?

Konfiguracijska datoteka za GRUB se nalazi  u direktoriju /etc/default što izgleda kao na sljedećoj slici.



Slika 3: Direktorij /etc/default koji sadrži GRUB konfiguracijsku datoteku
Izvor slike: /home/amar/Desktop/slika3


Na slici 3 možete i sami primijetiti grub, konfiguracijsku datoteku za GRUB boot loader a evo i načina kako ovu datoteku možete otvoriti kao administrator kako biste ju mogli uređivati te dodati vašu omiljenu pozadinu za GRUB bootloader. Upotrebom gksu komande u ovom formatu moguće je pristupiti GRUB konfiguracijskoj datoteci što bi izgledalo ovako.


gksu gedit /etc/default/grub

Na izlazu ova komanda će vam omogučiti administratorske privilegije kako biste mogli modifikovati GRUB onako kako to vama odgovara.


Slika 4: Sadržaj konfiguracijske datoteke GRUB bootloadera
Izvor slike: /home/amar/Desktop/slika4



Treba da napomenem da sam pristupio konfiguracijskoj datoteci GRUB-a koristeći gksu alat koji nam daje admin privilegije potrebne kako bismo uređivali konfiguracijske datoteke. Jednom kada izvršite ovu komandu, pojavit će vam se mali prozor koji će tražiti da unesete vašu root lozinku kako biste dobili pristup GRUB konfig datoteci. 

3. Dodavanje GRUB pozadine

Sada kada znate šta je GRUB, gdje se nalazi njegova konfiguracijska datoteka i kako joj pristupiti, možemo dodati omiljenu pozadinu kako bismo uklonili onaj dosadni monokromni izgled GRUB-a. Ovaj korak je veoma jednostavan a potrebno je dodati komandu GRUB_BACKGROUND stim što vaša omiljena pozadina mora biti prisutna bilo u /home direktoriju ili /Pictures direktoriju kako bi GRUB znao odakle će koristiti pozadinu. 


Slika 5: Dodavanje pozadine GRUB-u koristeći komandu GRUB_BACKGROUND
Izvor slike: /home/amar/Desktop/slika5


Na slici 5 možete primjetiti GRUB_BACKGROUND komandu koja iz direktorija /Pictures povlači sliku linuxmint.jpg kao željenu GRUB pozadinu. Sve što je na kraju potrebno uraditi jeste komanda update-grub kako bi promjene uzele efekat.


Slika 6: Ažuriranje GRUB konfiguracijske datoteke
Izvor slike: /home/amar/Desktop/slika6


Pošto je GRUB ažuriran našom omiljenom slikom, postavke su također ažurirane sljedeći put kada se računalo buta, GRUB bi trebao da izgleda ovako.


Slika 7: Izgled GRUB-a nakon dodavanja pozadine linuxmint.jpg
Izvor slike: goo.gl/4QVCLS

Napomena u vezi ove slike: Ova slika ne predstavlja izgled mog GRUB-a niti moje pozadine koja je postavljena za moj GRUB. Moj laptop pogoni Linux Mint 18.3 Silvia MATE te Windows XP SP3 no, zbog tehničkih nedostataka nisam mogao prikazati izgled svog GRUB-a.

Zaključak:

Sada znate kako GRUB-u ručno uređivanjem datoteke /etc/default/grub dodati omiljenu pozadinu kako biste uklonili onaj njegov monokromni izgled.  S druge strane, isti ovaj posao radi i BURG boot loader pa ako vas zanimam kako instalirati BURG bootloader u Linux Mint onda kliknite ovdje da saznate. Svrha ovog članka je bila da sami naučite šta je GRUB, gdje se nalazi konfiguracijska datoteka, šta je njegov zadatak i kako ga ručno uređivati. Toliko od mene za sada, do narednog čitanja.
Share:

Postavljanje SUID bita nad datotekama u Linux-u


Permisije nad datotekama i direktorijumima su jako važan dio posla svakog Linux System administratora jer diktiraju tko može pristupiti datotekama ili direktorijumima vašeg sistema. Stim u vezi Linux ima nešto drugačiji način davanja ovlasti ili pristupa svojim datotekama nego što je to slučaj s Windows operativnim sistemom. Korištenjem komande chmod moguće je diktirati kojim datotekama ili direktorijumima može pristupiti vlasnik (eng: owner), grupa (eng: groups) te ostali (eng: others) ili im jednostavno oduzeti pravo pristupa. U ovom kratkom članku ja ću objasniti primjenu i način postavljanja SUID bita nad datotekama kroz primjere.

Piše: Amar Tufo
11. Februar 2018

Prije nego uopšte postavimo željene permisije nad datotekama trebamo ih znati prikazati kako bismo vidjeli kako izgledaju već postavljenje permisije nad datotekama. To izvodimo sljedećom komandom:


ls -l datoteka.txt

Kada unesete ovu komandu u Terminal, ovo je rezultat koji biste trebali dobiti na izlazu a on izgleda kao na sljedećoj slici.


Slika 1: Izlistivanje default permisija nad datoteka.txt fajlom
Izvor slike: /home/amar/Desktop/slika1


Koristio sam u opisu slike fajl kako ne bi konstantno koristio termin 'datoteka'. No, ova slika govori puno toga stoga nemojte da vas zbune misteriozne riječi koje vidite u opisu ove datoteke a to su '-rw-rw-r--'. Detaljan opis ovih karaktera prilikom izlistavanja permisija nad fajlom datoteka.txt je prikazan na sljedećoj slici.



Slika 2: Objašnjenje default permisija nad datoteka.txt fajlom
Izvor slike: /home/amar/Desktop/slika2


Šta je to SUID bit i kako ga postaviti?

Pošto sam objasnio kako izgledaju default permisije i kako ih izlistati nad datotekama (isto važi i za direktorije) sada ću da vam kažem nešto o SUID bitu i kako se on postavlja nad datotekama. Dakle SUID (Set User ID bit) omogučava drugim korisnicima pokretanje datoteke nad kojom uobičajenu dozvolu ima administrator, odnosno, root korisnik.


Primjera radi, obični korisnik koji nije root može upravo koristeći SUID bit promijeniti svoju lozinku bez obzira što nema admin privilegije nad sistemom. Važno je dodati kako SBIT ima vrijednost 4 te se u kombinaciji sa komandom chmod i njenim brojčanim vrijednostima (750, 550, 650, 777) postavlja nad datotekama. 


Pošto sam ukratko objasnio šta je SUID bit evo kratkog primjera kako ga postaviti nad željenom datotekom. U ovom primjeru SUID bit će biti postavljen nad skriptom po imenu 'user_maker.sh' koja kreira novog korisnika sa njegovom lozinkom. Cijela skripta je prikazana ispod ovog teksta a preuzeta je kao primjer sa Linux sajta www.cybercity.biz. | goo.gl/WGRhN2


#!/bin/bash
# Script to add a user to Linux system
if [ $(id -u) -eq 0 ]; then
 read -p "Enter username : " username
 read -s -p "Enter password : " password
 egrep "^$username" /etc/passwd >/dev/null
 if [ $? -eq 0 ]; then
  echo "$username exists!"
  exit 1
 else
  pass=$(perl -e 'print crypt($ARGV[0], "password")' $password)
  useradd -m -p $pass $username
  [ $? -eq 0 ] && echo "User has been added to system!" || echo "Failed to add a user!"
 fi
else
 echo "Only root may add a user to the system"
 exit 2
fi

Na sljedećoj slici su prikazane default permisije (dozvole) nad skriptom user_maker.sh koristeći komandu ls -l.



Slika 3: Izlistavanje default permisija nad skriptom user_maker.sh
Izvor slike: /home/amar/Desktop/slika3


Pošto su nam poznate default permisije, sada je moguće postaviti SUID bit nad ovu skriptu koristeći komandu chmod.

chmod 4750 user_maker.sh

Jedno kratko objašnjenje gornje skripte: Skripta user_maker.sh dodaje novog korisnika unutar sistema s napomenom da samo root korisnik može dodati novog korisnika ali ne i obični korisnik.

Ranije sam u tekstu napomenuo kako SUID bit ima vrijednost 4, sedmica daje korisniku punu permisiju i čitanja i pisanja, petica daje grupi mogučnosti čitanja i izvršavanja ove datoteke dok ostali nemaju dozvole. To bi izgledalo ovako.




Slika 4: Izlistavanje default permisija nad skriptom user_maker.sh nakon postavaljanja SUID bita
Izvor slike: /home/amar/Desktop/slika4


Primijetit ćete na gornjoj slici dvije važne stvari a to je da ispred root korisnika nema x karaktera koji označava pravo izvršavanja datoteke. Umjesto x karaktera sada stoji s što označava SUID bit koji je upravo postavljen nad skriptom user_maker.sh. Obično root korisnik ima pravo čitanja, pisanja i izvršavanja datoteka što je označeno sa tri karaktera (rwx). Sada se u ovom primjeru to drastično razlikuje jer root korisnik nema ta prava. Evo rezultata pokretanja ove skripte u terminalu.




Slika 5: Pokretanje skripte user_maker.sh koristeći Terminal
Izvor slike: /home/amar/Desktop/slika5



Zaključak:

SUID bit jednom postavljen nad datotekom ili direktorijumom (postavljanje SUID bita nad direktorijumima nije opisano u ovom članku) daje pristup nad datotekama običnim korisnicima koji nisu root. SUID bit se prepoznaje sa malim slovom s što označava da je SUID bit postavljen dok veliko S označava da je SUID bit i dalje prisutan nad datotekom. Njegova vrijednost iznosi 4 a postavlja se komandom chmod bilo koristeći njene vrijednosti (777, 750, 650, 550) ili ručno. Permisije ili dozvole nad datotekama nad kojima je SUID bit postavljen se vrše komandom ls -l dok za direktorije je to komanda ls -ld. U narednom serijalu članaka iz Linux System administracije pogledat ćemo kako izgleda SGID bit te Sticky Bit i kako ih postaviti nad datotekama ili direktorijumima. Do narednog čitanja toliko od mene za sada.

Korištene reference:

1) What is SUID and how to set it in Linux?

2) What is SUID, SGID and Sticky bit?
Share:

My Twitter news

Popular Posts

Recent Posts

Unordered List

  • Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
  • Aliquam tincidunt mauris eu risus.
  • Vestibulum auctor dapibus neque.

Pages

Theme Support

Need our help to upload or customize this blogger template? Contact me with details about the theme customization you need.