Ubuntu 25.10-ში sudo-ს მმართველი პროგრამა Rust-ზე დაწერილით ჩანაცვლდება

დავით მაჭახელიძე

კომპანია Canonical გეგმავს Ubuntu 25.10 დისტრიბუტივის შემადგენლობაში ნაგულისხმევად შემოგვთავაზოს არა ორიგინალი sudo პროგრამა, არამედ იმპლემენტაცია, რომელიც sudo-rs პროექტის ფარგლებში ვითარდება და Rust ენაზეა დაწერილი. ორიგინალი პროგრამის ალტერნატივად განიხილება ჩანაცვლება GNU Coreutils-ის უტილიტებითაც uutils იმპლემენტაციით. ადრე მსგავსი ცვლილებები იგეგმებოდა zlib და ntpd ბიბლიოთეკების იმპლემენტაციებთან მიმართებაში zlib-rs და ntpd-rs-ზე, ასევე განიხილებოდა ჩანაცვლება Sequoia-თი GnuPG-ის ნაცვლად APT-ის მუშაობის ორგანიზებისთვის.

sudo-rs-ში უზრუნველყოფილია sudo-სა და su-ს ძირითადი შემოწმებებისა და ფუნქციონალურობის იმპლემენტაცია, ამასთან, sudo-rs-ის იმპლემენტაცია პოზიციონირებულია, როგორც უფრო უსაფრთხო, Rust ენის მიერ მართული მეხსიერების გამოყენების ხარჯზე. აღსანიშნავია, რომ uutils-ისა და sudo-rs-ის გარდა, Ubuntu 25.10-ში ასევე შეიძლება შემოთავაზებული იყოს ნაგულისხმევად oxidizr პაკეტი. ამჟამად, oxidizr-ში მიმდინარეობს მუშაობა ორიგინალებს შორის გადართვის საშუალებების დასამატებლად uutils coreutils, uutils findutils, uutils diffutils და sudo-rs. მაგალითად, sudo პროგრამად sudo-rs იმპლემენტაციის გამოსაყენებლად გადასართავად საკმარისია ბრძანების შესრულება
“sudo oxidizr enable –experiments sudo-rs”, ხოლო საწყის მდგომარეობაში დასაბრუნებლად გამოიყენება ბრძანება “oxidizr disable”.

აღინიშნება, რომ დეველოპერების უმეტესობა მიესალმება ექსპერიმენტებს უსაფრთხოებასა და საიმედოობასთან დაკავშირებით, რომელსაც Rust ენა უზრუნველყოფს. Rust ენაზე დაწერილ პროგრამებზე გადასვლამ შეიძლება მნიშვნელოვნად შეამციროს პრობლემების წარმოქმნის სიხშირე, რომელიც დაკავშირებულია მეხსიერების არაუსაფრთხო მართვასთან და სტრიქონების დამუშავებისას შეცდომებთან, რაც წარმოადგენს დაუცველობისა და უსაფრთხოების პრობლემების უმეტესობის მიზეზს. ახალი კომპონენტების მუშაობის წარმატებული შეფასების შემდეგ, მათი Rust-ში არსებობა შეიძლება აღიარებულ იქნას შტატგარეშედ და Ubuntu 26.04 LTS-შიც.

ამჟამად, დეველოპერები აგრძელებენ საჭირო შესაძლებლობების დახვეწას, რომლებიც არ არის რეალიზებული sudo-rs და uutils არსებულ ვერსიებში. მაგალითად, Ubuntu 25.10-ისთვის sudo-rs-ის დაგეგმილი შესაძლებლობებიდან: NOEXEC-ის დამატება, მხარდაჭერის რეალიზაცია AppArmor პროფილებისთვის, sudoedit-ის მხარდაჭერის დამატება და Linux ფაილური სისტემების სხვადასხვა ტიპებთან მუშაობის უზრუნველყოფა (Linux 5.9 ბირთვიდან დაწყებული). NOEXEC რეალიზაცია დამატებით საშუალებას მისცემს execve და execveat შესრულების მცდელობების გადაჭრას, რათა თავიდან აიცილოს sudo კონფიგურაციაში მითითებული პარამეტრების გვერდის ავლით. Canonical-ის დეველოპერების მხრიდან მიმდინარეობს მუშაობა uutils-ში SELinux-ის უფრო ხარისხიანი მხარდაჭერის უზრუნველსაყოფად და დამატებითი შემოწმებების დასამატებლად, როგორიცაა mv, ls და cp, ასევე ინტერნაციონალიზაციისა და ლოკალიზაციის შესაძლებლობების გაფართოება (მაგალითად, sort უტილიტაში არ არის უზრუნველყოფილი მრავალბაიტიანი სიმბოლოების სწორი დამუშავება).

გააზიარეთ: