VPN баскычы администратордо иштейт, калгандарда иштебейт, ошондуктан бирөө sudoers файлына сап кошот. Ал сап адатта чечүүгө тийиш болгон маселеден узак жашайт жана баскычка керектүүдөн көп укук берет. Саясатты өзгөртүүдөн мурун колдоого алынган туташуу ээси бул ишти буга чейин аткара алабы, аны текшериңиз. Төмөнкү үч шарт sudo таптакыр катышабы же жокпу, аны аныктайт.

1-шарт: колдоого алынган ээ муну sudo жок жасай алат

Көпчүлүк Linux иш такталарында тармак менеджери VPN туташууларынын ээси болуп саналат жана анын авторизациясы sudo эмес, polkit аркылуу өтөт. Туташууну көтөрүүгө уруксат берилген колдонуучу муну эч кандай root эрежесиз буйрук сабынан жасай алат. Баскычка артыкчылык керек деп ойлоодон мурун менеджер эмнеге уруксат берерин текшериңиз. Эгер жооп ооба болсо, sudoers өзгөртүүсү жок маселени чечип жатат.

nmcli connection show
nmcli connection up "Work VPN"

Эгер менеджер баш тартса, себебин окуңуз: жетишпеген polkit эрежеси, башка колдонуучуга таандык туташуу же колдонуучу окуй албаган жерде сакталган профиль. Алардын ар биринин sudo эрежесинен тар колдоого алынган чечими бар. Артыкчылыкты көтөрүү — акыркы чара, биринчи эмес.

2-шарт: эреже бир аткарылуучу файлды жана анын аргументтерин атайт

Эгер sudo чындап керек болсо, эреже так буйрукту жана мүмкүн болсо, ал колдоно алган аргументтерди атоого тийиш. Колдонуучуга ороп турган скриптти иштетүүгө уруксат берген эреже ошол скрипттин укуктарындай гана коопсуз, анткени колдонуучу root эмнени аткарарын өзгөртө алат. Буйруктан кийин каалаган белги коюлган эреже — ошол эле маселенин кыска түрү.

sudo -l -U alice
ls -l /usr/local/sbin/vpn-up

Буйрук тизмегиндеги ар бир жолду текшериңиз: бинардык файлды, ал чакырган скриптти, ал окуган конфигурация файлын жана алардын ортосундагы ар кандай папканы. Эгер алардын бирине колдонуучу жаза алса, чектелген эреже иш жүзүндө чексиз root болуп саналат. Аргументтер да маанилүү, анткени конфигурация жолун кабыл алган буйрукту колдонуучу көзөмөлдөгөн файлга багыттоого болот. Эрежени баскыч үчүн эмес, операция үчүн жазыңыз.

Эгер буйрук иштеши үчүн колдонуучу көзөмөлдөгөн файл керек болсо, токтоңуз. Анда долбоор туура эмес, жана эч бир sudoers синтаксиси аны коопсуз кыла албайт.

3-шарт: бүт саясат талданат, сиздин сабыңыз гана эмес

Файлды кулпулап, синтаксисти текшерүүчү редактор менен текшериңиз жана үзүндү эмес, куралган саясатты текшериңиз. Өзү талданган файл да киргизүү тартибин бузушу же жүрүм-турумду өзгөрткөн түрдө эрежени кайталашы мүмкүн.visudo колдонмосу кулпулоочу редакторду да, ушул жерде колдонулган текшерүү-гана режимин да сүрөттөйт.

sudo visudo -c
sudo visudo -cf /etc/sudoers.d/vpn-launcher

Текшерүү ийгиликсиз болгондо файлды жана сапты билдирет, ошол эсеп пайдалуу бөлүгү болуп саналат. Белгилүү катаны күч менен сактоонун ордуна редактор аркылуу көздөлгөн өзгөртүүнү оңдоңуз, анткени бузулган саясат бардык администраторлорду бир убакта кулпулашы мүмкүн. Киргизүү папкасындагы файлдарга да колдонмо талап кылган ээлик жана режим керек, болбосо алар этибарга алынбайт же четке кагылат. Синтаксис — биринчи дарбаза гана: андан өткөндөн кийин эрежени кайра окуп, ал чындап эмнеге уруксат берерин сураңыз.

Эгер өзгөртүүнүн иштешинин жалгыз жолу синтаксис текшерүүсүн өчүрүү болсо, токтоңуз. Бул саясат эмес, кайра жүктөөнү күткөн тыныгуу.

Калыбына келтирүү: дагы иштеп турган сессияны сактаңыз

Сактоодон мурун ыйгарым укуктуу административдик сессия мурунтан ачык экенине жана машинага кирүүнүн экинчи жолу бар экенине ынаныңыз. sudoers катасы аны оңдоо мүмкүнчүлүгүңүздү тартып алышы мүмкүн, ал эми иш тактасындагы баскыч бул тобокелдикке татыбайт. Эгер sudo буга чейин бузулган болсо, өзүңүз ойлоп тапкандын ордуна системанын документтелген калыбына келтирүү жолун колдонуңуз.

sudo -n true
id

pkexec сыяктуу альтернативалар өз орнотуусуна жана саясатына көз каранды, ошондуктан алар кепилденген экинчи root суроо эмес. Жергиликтүү авторизацияны VPN сырын берүүдөн да өзүнчө кармаңыз: sudo эрежеси жок сыр агентин ача албайт жана шлюздун MFAсын канааттандырбайт. Оңдоп болгондон кийин кадимки эсептик жазууну гана көздөлгөн операцияны аткаруу менен сынап көрүңүз, анан менеджердин кадимки башкаруу элементтерин колдонуңуз.

Чечим кайсы шарт sudoну актаганын, эреже эмнени атай турганын, бүт саясат талданарын жана андай болбосо кантип калыбына келтирериңизди айта алганда бүтөт. Административдик кирүүңүздү жоготууга алып келген артыкчылыктуу иштеткич — жаман бүтүм, жана андан адатта качса болот.

Тектеш макалалар