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