Lennart Pottering run0 አስተዋወቀ፣ sudo ምትክ systemd ውስጥ የተዋሃደ

ሌናርት ፖተሪንግ የ run0 መገልገያ አስተዋውቋል፣ ይህም ሂደቶች በሌሎች ተጠቃሚዎች ማንነት ስር እንዲሄዱ ያስችላል። አዲሱ መገልገያ ለ sudo የበለጠ ደህንነቱ የተጠበቀ ምትክ ሆኖ ተቀምጧል፣ በ systemd-run ትዕዛዝ ዙሪያ እንደ መጠቅለያ ተተግብሯል እና የ SUID ባንዲራ ያለው ሊተገበር የሚችል ፋይል አስፈላጊነትን ያስወግዳል። የ run0 መገልገያ በአሁኑ ጊዜ በመልቀቂያ እጩ ደረጃ ላይ ባለው systemd 256 ውስጥ ተካትቷል።

በሱዶ ውስጥ የSUID ባንዲራ በመጠቀም የሂደት መለያውን መቀየር ከተጨማሪ አደጋዎች ጋር የተቆራኘ መሆኑ ተጠቁሟል፣ ምክንያቱም የSUID ሂደት እንደ የአካባቢ ተለዋዋጮች፣ የፋይል ገላጭዎች፣ የጊዜ ሰሌዳ መለኪያዎች እና የcgroup ማያያዣዎች ያሉ መብት በሌለው ተጠቃሚ የሚቆጣጠሩ ብዙ ባህሪያትን የሚያካትት የአፈፃፀም አውድ ስለሚወርስ። ከእነዚህ ባህሪያት ውስጥ አንዳንዶቹ በከርነል ለSUID ሂደቶች በራስ-ሰር ይጸዳሉ፣ ሌሎች ደግሞ በመተግበሪያው ራሱ ይጸዳሉ። ሆኖም፣ ባልተገባ ተጠቃሚ ተጽዕኖ ሊያሳድር የሚችል የውጫዊ ውሂብን በግዴለሽነት በማስተናገድ የሚከሰቱ ተጋላጭነቶች እንደ sudo ባሉ ውስብስብ የSUID ፕሮግራሞች ውስጥ በየጊዜው መገኘታቸውን ቀጥለዋል።

በ run0 ውስጥ፣ SUIDን ከመጠቀም ይልቅ፣ ለስርዓቱ አስተዳዳሪ በተጠቀሰው የተጠቃሚ መታወቂያ ሼል ወይም ሂደት እንዲጀምር፣ አዲስ ፕሴዱል-ተርሚናል (PTY) እንዲፈጥር እና በእሱ እና በአሁኑ ተርሚናል (TTY) መካከል ውሂብ እንዲያስተላልፍ ጥያቄ ቀርቧል። ይህ ባህሪ ከክላሲክ ሱዶ ይልቅ በ ssh ማስኬድ የበለጠ ያስታውሳል። ልዩ የሆነው ሂደት የሚሄደው በተጠቃሚው ሂደት ሳይሆን በ PID 1 በተፈጠረው በተናጠል አውድ ውስጥ ነው፣ ይህም ማለት የተጠቃሚውን የአካባቢ ባህሪያት አይወርስም ማለት ነው፣ ይህም የ$TERM አካባቢ ተለዋዋጭን ከማስተላለፍ በስተቀር። ማስተላለፍ የሚቆጣጠረው አደገኛ ባህሪያትን ለመከልከል ከመሞከር ይልቅ በግልጽ የተፈቀዱ ባህሪያት ዝርዝር በኩል ነው፣ አደገኛ ባህሪያትን ለመከልከል ከመሞከር ይልቅ (የነጭ ዝርዝር ጽንሰ-ሀሳብ፣ ከጥቁር ዝርዝር ጽንሰ-ሀሳብ ይልቅ)።

ፖልኪት በ run0 ውስጥ ለፈቃድ እና ለተጠቃሚ ፈቃዶች ጥቅም ላይ ይውላል። ሱዶ የሚጠቀመው ክላሲክ የደንብ ፍቺ ቋንቋ (/etc/sudoers) አይደገፍም። የተለያዩ መብቶች ያላቸውን ፕሮግራሞች ለማስኬድ ተግባራዊነት በ systemd-run ውስጥ የተገነባ ሲሆን የ run0 ትዕዛዝ ደግሞ ከ sudo ጋር ተመሳሳይ የሆነ የትእዛዝ መስመር በይነገጽን የሚሰጥ ወደ systemd-run እንደ ምሳሌያዊ አገናኝ ይፈጠራል።

ከ run0 ተጨማሪ ባህሪያት መካከል፣ በተርሚናል ውስጥ ቀይ ዳራ በማቀናበር እና በመስኮቱ ርዕስ ላይ ቀይ ነጥብ በመጨመር ከፍ ያሉ መብቶችን ያሳያል። ከሌሎች መብቶች ጋር አፈፃፀምን ካቋረጠ በኋላ፣ ነጥቡ ይጠፋል፣ እና ዳራው ወደ መደበኛው ይመለሳል። በተጨማሪም፣ run0 እንደ "--property" መለኪያ ያሉ ሁሉንም "systemd-run" አማራጮችን ይደግፋል፣ ይህም ብጁ የስርዓት አገልግሎት ቅንብሮችን እንዲያዋቅሩ ያስችልዎታል (ለምሳሌ፣ "CPUWeight=200 MemoryMax=2G IPAccounting=yes")።

ምንጭ: opennet.ru

አስተያየት ያክሉ