Ինչպես օգտագործել rbash (սահմանափակված Bash Shell) Linux-ում
Linux-ի և Unix-ի նման համակարգերի աշխարհում անվտանգությունը շատ կարևոր է, հատկապես, երբ մի քանի օգտատերեր կիսում են համակարգը: Անվտանգությունը բարձրացնելու եղանակներից մեկը սահմանափակ պատյանների օգտագործումն է: Այդպիսի պատյաններից է րբաշը կամ Սահմանափակված բաշը:
Այս հոդվածը կբացատրի, թե ինչ է rbashը, ինչպես է այն տարբերվում սովորական Bash shell-ից և կներկայացվի դրա օգտագործման գործնական օրինակներ:
Ինչ է Shell-ը:
Նախքան րբաշը սուզվելը, եկեք պարզաբանենք, թե ինչ է կեղևը:
Շելլը ծրագիր է, որը օգտվողներին հնարավորություն է տալիս փոխազդել Linux համակարգի հետ հրամանի տող ինտերֆեյսի միջոցով: Այն մեկնաբանում է օգտագործողի կողմից մուտքագրված հրամանները և հաղորդակցվում համակարգի հետ՝ այդ հրամանները կատարելու համար:
Bash (Bourne Again SHell) Linux միջավայրերում ամենաշատ օգտագործվող պատյաններից մեկն է:
Ի՞նչ է ռաբաշը:
rbash-ը Bash shell-ի սահմանափակ տարբերակն է, որը նախատեսված է սահմանափակելու օգտատերերի մուտքը որոշակի հրամաններ և գործառույթներ՝ բարձրացնելով համակարգի անվտանգությունը:
Երբ օգտվողը մուտք է գործում համակարգ rbash-ի միջոցով, նա չի կարող կատարել առաջադրանքներ, որոնք կարող են վտանգել համակարգը կամ այլ օգտվողներ:
Հիմնական տարբերությունները Bash-ի և rbash-ի միջև
Ստորև բերված են մի քանի հիմնական տարբերություններ բաշի և րբաշի միջև.
- rbash-ում օգտվողները չեն կարող փոխել իրենց գրացուցակը cd հրամանով: Նրանք կարող են գործել միայն իրենց տնային գրացուցակում:
- Որոշ հրամաններ, ինչպիսիք են exec, set և unset-ը սահմանափակված են, ինչը թույլ չի տալիս օգտվողներին փոխել կեղևի միջավայրը:
- Օգտագործողները չեն կարող փոխել շրջակա միջավայրի փոփոխականները, որոնք կարող են ազդել այլ օգտվողների կամ համակարգի կարգավորումների վրա:
- rbash-ում օգտվողները չեն կարող վերահղել մուտքը կամ ելքը, ինչը դժվարացնում է հրամանների կատարումը, որոնք կարող են մուտք գործել կամ շահարկել ֆայլերը իրենց նշանակված տարածքներից դուրս:
Այս սահմանափակումները rbash-ը դարձնում են հարմար այնպիսի սցենարների համար, որտեղ դուք ցանկանում եք սահմանափակ մուտք ապահովել օգտատերերին՝ պահպանելով անվտանգության մակարդակը:
Երբ օգտագործել rbash
Ահա մի քանի իրավիճակներ, երբ rbash օգտագործելը ձեռնտու է.
- Հանրային տերմինալներ. այնպիսի միջավայրերում, ինչպիսիք են գրադարանները կամ դպրոցները, որտեղ օգտատերերին անհրաժեշտ է մուտք գործել հիմնական հրամաններ, բայց չպետք է խախտեն համակարգի կարգավորումները:
- Համօգտագործվող սերվերներ. Համօգտագործվող համակարգերում rbash-ը կարող է թույլ չտալ օգտվողներին մուտք գործել այլ օգտվողների տվյալներ կամ կարևոր համակարգի ֆայլեր:
- Թեստավորման և ուսուցման միջավայրեր. օգտատերերին հրամանի տողի հիմնական հմտություններ սովորեցնելիս rbash-ը կարող է օգնել սահմանափակել նրանց գործողությունները՝ խուսափելու համակարգի պատահական փոփոխություններից:
Ինչպես կարգավորել rbash-ը Linux-ում
Ձեր Linux համակարգում rbash տեղադրելը պարզ գործընթաց է, այն ամենը, ինչ դուք պետք է անեք, հետևեք հետևյալ քայլերին.
1. Տեղադրեք Bash-ը Linux-ում
Linux-ի բաշխումների մեծ մասը գալիս է լռելյայն տեղադրված Bash-ով, կարող եք ստուգել, թե արդյոք այն տեղադրված է գործարկելով.
bash --version
2. Ստեղծեք սահմանափակ Shell օգտվող
Դուք կարող եք հատուկ օգտատեր ստեղծել rbash-ի համար:
sudo adduser anusha
Օգտատիրոջը ստեղծելուց հետո փոխեք նրա լռելյայն կեղևը rbash-ի.
sudo usermod -s /bin/rbash restricteduser
Այս օգտատիրոջ միջավայրն ավելի սահմանափակելու համար կարող եք ստեղծել հատուկ գրացուցակ և սահմանել այն որպես նրա հիմնական գրացուցակ.
sudo mkdir /home/anusha/bin
Այնուհետև կարող եք տեղադրել ցանկացած սկրիպտ կամ հրաման, որը ցանկանում եք, որ օգտագործողը մուտք ունենա այս աղբարկղում:
Օգտատիրոջը հասանելի հրամանները սահմանափակելու համար սահմանեք նրա PATH փոփոխականը, որպեսզի ներառի միայն bin
գրացուցակը.
echo 'export PATH=$HOME/bin' | sudo tee -a /home/anusha/.bashrc
Այժմ դուք կարող եք մուտք գործել որպես սահմանափակ օգտվող.
su - anusha
Ինչպես օգտագործել rbash-ը Linux-ում
Եկեք ուսումնասիրենք մի քանի գործնական օրինակներ՝ ցույց տալու համար, թե ինչպես է գործում րբաշը:
Օրինակ 1. տեղեկատու փոխելու փորձ
Որպես սահմանափակ օգտվող մուտք գործելուց հետո փորձեք փոխել դիրեկտորիաները.
cd /tmp
Դուք կստանաք սխալի հաղորդագրություն, ինչպիսին է -rbash: cd: limited
, որը հաստատում է, որ օգտատերը չի կարող նավարկել իր հիմնական գրացուցակից դուրս:
Օրինակ 2. Սահմանափակ հրամանների գործարկում
Փորձեք կատարել հրամաններ, ինչպիսիք են exec
կամ set
:
exec bash
Դուք կստանաք այնպիսի սխալ, ինչպիսին է -rbash: exec: limited
, որը ցույց է տալիս, որ օգտատերը սահմանափակված է նոր shell-ի օրինակների կատարումից:
Օրինակ 3. Ֆայլի վերահղում
Արդյունքը ֆայլին վերահղելու փորձ.
echo "Test" > test.txt
Դուք կստանաք սխալի հաղորդագրություն, որը ցույց է տալիս, որ օգտվողները չեն կարող վերահղել ելքը դեպի ֆայլեր:
-rbash: test.txt: restricted: cannot redirect output
Օրինակ 4. Թույլատրված հրամաններ
Տեսնելու համար, թե ինչ հրամաններ կարող է կատարել սահմանափակ օգտվողը, դուք կարող եք ստեղծել պարզ սկրիպտ իր աղբարկղում:
Օրինակ՝ ստեղծեք hello.sh
անունով ֆայլ.
echo "echo 'Hello, World!'" > /home/restricteduser/bin/hello.sh
chmod +x /home/restricteduser/bin/hello.sh
Այժմ, երբ սահմանափակ օգտվողը աշխատում է.
./hello.sh
Նրանք կտեսնեն Բարև, աշխարհ: տպագրված է էկրանին՝ ցույց տալով, որ նրանք կարող են կատարել թույլատրված հրամանները:
Եզրակացություն
Ամփոփելով, rbash-ը հզոր գործիք է բազմաբնակարան օգտատերերի Linux միջավայրերում անվտանգությունը բարձրացնելու համար: Սահմանափակելով որոշակի հրամանների և գործառույթների հասանելիությունը՝ այն օգնում է պահպանել համակարգի ամբողջականությունը՝ միաժամանակ թույլ տալով օգտվողներին կատարել հիմնական առաջադրանքները: