Ինչպես օգտագործել 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 միջավայրերում անվտանգությունը բարձրացնելու համար: Սահմանափակելով որոշակի հրամանների և գործառույթների հասանելիությունը՝ այն օգնում է պահպանել համակարգի ամբողջականությունը՝ միաժամանակ թույլ տալով օգտվողներին կատարել հիմնական առաջադրանքները: