Ինչպե՞ս շտկել semanage հրամանը Չգտնվեց սխալ CentOS/RHEL-ում:


Ներածություն

Անվտանգության ընդլայնված Linux-ը (SELinux) մուտքի վերահսկման պարտադիր (MAC) անվտանգության մեխանիզմ է, որն իրականացվում է միջուկում՝ ավելի մանրազնին հասանելիության վերահսկում ապահովելու համար: SELinux-ը նախագծվել է ավելացնելու ավանդական Linux մուտքի վերահսկիչները, որոնք հիմնված էին Օգտատիրոջ և Խմբի Ինքնությունների վրա՝ ապահովելու պարտադիր մուտքի վերահսկում (MAC): Սա կարևոր քայլ էր դեպի ավելի լավ անվտանգություն օգտվողների և հավելվածների համար:

Semanage հրամանը գործիք է, որը կարող է օգտագործվել SELinux-ի քաղաքականությունը կառավարելու համար՝ չպահանջելով ցածր մակարդակի SELinux քաղաքականության լեզվի իմացություն: Semanage-ի միջոցով դուք կարող եք ստեղծել կամ խմբագրել SELinux-ի քաղաքականությունը և փոփոխել SELinux քաղաքականության մոդուլների տարբեր ասպեկտներ, ինչպիսիք են օգտագործողի քարտեզագրումները, ֆայլերի համատեքստի քարտեզագրումները, նավահանգիստների տիպի քարտեզագրումները և այլն:

Ընդհանուր սխալի հաղորդագրություն. «semanage հրամանը չի գտնվել»

Եթե փորձում եք օգտագործել semanage հրամանը CentOS/RHEL-ում, բայց սխալի հաղորդագրություն եք ստանում՝ ասելով «semanage command not found», դա նշանակում է, որ հրամանը տեղադրված չէ կամ դրա գտնվելու վայրը ներառված չէ ձեր համակարգի PATH միջավայրի փոփոխականում:

Այս խնդիրը կարող է հիասթափեցնել, քանի որ այն խանգարում է ձեզ կառավարել ձեր SELinux քաղաքականությունը՝ օգտագործելով սովորական հրամաններ, ինչպիսիք են semanage fcontext կամ semanage port -a: Այնուամենայնիվ, այս խնդիրն ունի պարզ լուծում, որը կարող է լուծվել՝ տեղադրելով ճիշտ փաթեթներ կամ ձեր համակարգը ճիշտ կարգավորելով:

Հասկանալով Սխալը

Սխալի պատճառները

«Semanage հրամանը չի գտնվել» սխալը տեղի է ունենում, երբ semanage փաթեթը տեղադրված չէ ձեր CentOS/RHEL համակարգում: Semanage-ը հրամանի տող գործիք է, որն օգնում է ձեզ կառավարել SELinux-ի քաղաքականությունները ձեր համակարգում: Առանց այս գործիքի, դուք չեք կարողանա կատարել այնպիսի կարևոր առաջադրանքներ, ինչպիսիք են ֆայլերի համատեքստը փոխելը կամ նոր քաղաքականություն ավելացնելը:

Այս սխալի մեկ այլ պատճառ կարող է լինել այն, որ semanage փաթեթը պատահաբար կամ դիտավորյալ հեռացվել է ձեր համակարգից: Դա կարող է տեղի ունենալ ծրագրային ապահովման թարմացումների ժամանակ կամ եթե մեկ այլ փաթեթ հակասում է դրա հետ:

Ստուգում, թե արդյոք semanage-ը տեղադրված է

Ստուգելու համար, արդյոք semanage-ը տեղադրված է ձեր CentOS/RHEL համակարգում, բացեք տերմինալի պատուհանը և մուտքագրեք հետևյալ հրամանը.

semanage 

Եթե տեսնում եք սխալի հաղորդագրություն, որն ասում է «bash: semanage: հրամանը չի գտնվել», ապա semanage-ը տեղադրված չէ ձեր համակարգում:

Ստուգում, արդյոք PATH փոփոխականը ճիշտ է կարգավորվել

PATH փոփոխականը պարունակում է դիրեկտորիաների ցանկ, որտեղ կեղևը փնտրում է հրամաններ: Եթե այս փոփոխականը ճիշտ կարգավորված չէ, դուք կարող եք սխալներ ստանալ, երբ փորձում եք կատարել հրամաններ, ինչպիսին է semanage-ը: Ստուգելու համար, թե արդյոք PATH փոփոխականը ճիշտ է կարգավորվել, բացեք տերմինալի պատուհանը և մուտքագրեք հետևյալ հրամանը −

echo $PATH 

Սա կցուցադրի դիրեկտորիաները, որոնցում կեղևը փնտրում է հրամաններ:

Ստուգեք, արդյոք «/usr/sbin» և «/sbin» ներառված են այս ցանկում, քանի որ սրանք որոշ ընդհանուր դիրեկտորիաներ են, որտեղ տեղադրվում է semanage հրամանը: Եթե այս դիրեկտորիաները բացակայում են ձեր PATH փոփոխականից, կարող եք դրանք ավելացնել՝ խմբագրելով ձեր shell-ի պրոֆիլի ֆայլը (օրինակ՝ ~/.bash_profile կամ ~/.zshrc) և ավելացնելով դրանք PATH տողի վերջում, ինչպես այդպես −

export PATH=$PATH:/usr/sbin:/sbin 

Հետևելով այս քայլերին, դուք հեշտությամբ կարող եք ախտորոշել սխալը և հասկանալ ձեր համակարգում դրա առաջացման պատճառները:

Սխալի ուղղում

Semanage փաթեթի տեղադրում yum հրամանի միջոցով

«Semanage հրամանը չի գտնվել» սխալի հնարավոր լուծումներից մեկն այն է, որ տեղադրեք անհրաժեշտ semanage փաթեթը, օգտագործելով yum, փաթեթի կառավարիչ CentOS և RHEL բաշխումների համար: Նախ ստուգեք, թե արդյոք yum-ը տեղադրված է՝ գործարկելով հետևյալ հրամանը −

yum --version 

Եթե այն դեռ տեղադրված չէ, գործարկեք այս հրամանը՝ այն տեղադրելու համար

sudo yum install yum-utils 

Երբ Yum-ը տեղադրված է, գործարկեք հետևյալ հրամանները ձեր տերմինալում՝ անհրաժեշտ semanage փաթեթը ներբեռնելու և տեղադրելու համար

sudo yum update sudo yum install policycoreutils-python 

Սա պետք է ավտոմատ կերպով տեղադրի semanage-ը իր կախվածությունների հետ միասին: Ավարտելուց հետո կարող եք ստուգել, թե արդյոք semanage-ը հաջողությամբ տեղադրվել է՝ մուտքագրելով «semanage» ձեր տերմինալում:

EPEL պահեստի ավելացում և այնտեղից semanage փաթեթի տեղադրում

Մեկ այլ մոտեցում է Enterprise Linux-ի (EPEL) պահեստի լրացուցիչ փաթեթներ ավելացնելը, այնուհետև Yum-ի օգտագործումը՝ անհրաժեշտ փաթեթները ներբեռնելու և տեղադրելու համար, ներառյալ semanage-ը: Այս մեթոդը կարող է օգտագործվել, երբ Yum-ը չի կարողանում գտնել որոշակի փաթեթ կախվածության հետ կապված խնդիրների պատճառով: Սկզբի համար ավելացրեք EPEL պահեստ՝ օգտագործելով այս հրամանը −

sudo rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm 

Հաջողությամբ ավելացնելուց հետո գործարկեք այս հրամանը ստորև ձեր տերմինալում −

sudo yum --enablerepo=epel-testing -y update && sudo yum --enablerepo=epel-testing -y install policycoreutils-python-utils 

Սա կթարմացնի Yum-ը նախքան բոլոր անհրաժեշտ կախվածությունները ներբեռնելը և տեղադրելը, ներառյալ semanage-ի վերջին տարբերակը:

Semanage փաթեթի ձեռքով տեղադրում սկզբնական կոդից

Semanage not found սխալը շտկելու վերջնական մոտեցումը ներառում է փաթեթի ձեռքով ներբեռնումը և տեղադրումը սկզբնական կոդից: Այս մեթոդը պահանջում է մի քիչ տեխնիկական գիտելիքներ և խորհուրդ չի տրվում սկսնակների համար: Ներբեռնեք անհրաժեշտ semanage փաթեթի սկզբնական կոդը այս հղումից – https://github.com/SELinuxProject/selinux/releases

Ներբեռնվելուց հետո հանեք ֆայլերը՝ գործարկելով −

tar -xf selinux-2.xx.tar.gz 

Հաջորդը, նավարկեք դեպի այն թղթապանակը, որտեղ գտնվում են արդյունահանված ֆայլերը և գործարկեք այս հրամանները −

./configure 
make make install 

Այս հրամանները կկազմաձևեն, կկազմակերպեն և կտեղադրեն փաթեթը: Եթե հաջողվի, կարող եք ստուգել, թե արդյոք semanage-ը ճիշտ է տեղադրվել՝ ձեր տերմինալում մուտքագրելով «semanage»:

Անսարքությունների վերացման խորհուրդներ

Հակասական փաթեթների ստուգում

Եթե դուք ստուգել եք, որ semanage-ը տեղադրված է, և PATH փոփոխականը ճիշտ է դրված, բայց դեռ չեք կարող օգտագործել հրամանը, կարող է կոնֆլիկտ լինել մեկ այլ փաթեթի հետ: Ցանկացած հակասական փաթեթներ ստուգելու համար գործարկեք հետևյալ հրամանը −

$ rpm -qa | grep policycoreutils 

Սա ձեզ կտա SELinux-ի հետ կապված բոլոր տեղադրված փաթեթների ցանկը:

Համոզվեք, որ չկան կրկնօրինակ կամ հակասական փաթեթներ: Եթե այդպիսիք կան, հեռացրեք դրանք՝ օգտագործելով համապատասխան փաթեթի կառավարիչ հրամանը:

Համակարգային փաթեթների թարմացում

Երբեմն խնդիրը կարող է լուծվել՝ պարզապես բոլոր համակարգի փաթեթները թարմացնելով վերջին տարբերակին: Բոլոր տեղադրված փաթեթները թարմացնելու համար օգտագործեք հետևյալ հրամանը

$ yum update -y 

Թարմացումից հետո ստուգեք, արդյոք semanage-ը ճիշտ է աշխատում:

Համակարգի ծառայությունների վերագործարկում

Եթե կոնֆլիկտների թարմացումն ու ստուգումը չլուծեցին խնդիրը, փորձեք վերագործարկել SELinux-ի հետ կապված ծառայությունները, ինչպիսիք են setroubleshootd-ը և audited-ը: Այս ծառայությունները վերագործարկելու համար օգտագործեք հետևյալ հրամանները

$ systemctl restart setroubleshootd.service 
$ systemctl restart auditd.service 

Այս ծառայությունները վերագործարկելուց հետո նորից փորձեք օգտագործել semanage-ը և տեսեք, թե արդյոք այն այժմ ճիշտ է աշխատում: Կիրառելով այս անսարքությունների վերացման խորհուրդները՝ դուք պետք է կարողանաք կարճ ժամանակում շտկել «semanage command not found» սխալը ձեր CentOS/RHEL համակարգում:

Եզրակացություն

Այս հոդվածում նշված քայլերին հետևելուց հետո «semanage command not found» սխալը պետք է լուծվի: Հիշեք, որ պարբերաբար ստուգեք թարմացումները և թարմացնեք համակարգի փաթեթները, քանի որ դա կարող է կանխել նմանատիպ սխալները ապագայում: Semanage հրամանը կարևոր գործիք է CentOS/RHEL համակարգերում մուտքի վերահսկումը ապահովելու և կառավարելու համար:

Սխալի հաղորդագրությունը սկզբում կարող է հիասթափեցնող թվալ, բայց հասկանալով և շտկելով խնդիրը, դուք կարող եք արագ լուծել այն և հեշտությամբ վերադառնալ ձեր համակարգը կառավարելուն: Զգոն մնալով թարմացումների և փաթեթների կառավարման հարցում՝ դուք կարող եք նվազագույնի հասցնել ապագայում նմանատիպ խնդիրների հետ հանդիպելու ռիսկը:

Ձեր համակարգի փաթեթները արդիական պահելը շատ կարևոր է ձեր սերվերի վրա անվտանգ և կայուն միջավայր պահպանելու համար: Նոր թարմացումները հաճախ ներառում են անվտանգության պատչեր, որոնք շտկում են նախորդ թողարկումներից ի վեր հայտնաբերված խոցելիությունները: Կարևոր է պարբերաբար ստուգել առկա թարմացումները, որպեսզի բաց չթողնեք անվտանգության կարևոր ուղղումները կամ կատարողականի բարելավումները, որոնք կարող են օգտակար լինել ձեր սերվերի գործառնություններին:

Օգտագործելով փաթեթների կառավարիչները, ինչպիսիք են yum-ը կամ apt-ը, դուք հեշտությամբ կարող եք թարմացնել ձեր համակարգի փաթեթները՝ թարմացված թարմացումներով և թարմացումներով: Ավտոմատ թարմացումների կարգավորումը կարող է նաև խնայել ժամանակը և ապահովել, որ ձեր սերվերը միշտ աշխատում է իր ծրագրաշարի ամենաապահով և կայուն տարբերակով: