3 पॉइंट द्वारा GN⁺ 2024-02-09 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • Windows 11 Insider Preview Build 26052 में Windows के लिए Sudo के लॉन्च की घोषणा की गई
  • Windows के लिए Sudo एक नया तरीका है, जिससे उपयोगकर्ता बिना-विशेषाधिकार वाले console session से सीधे elevated command चला सकते हैं
    • अब "व्यवस्थापक अधिकारों के साथ चलाएँ" ढूँढने की ज़रूरत नहीं है
  • GitHub पर open source के रूप में जारी किया गया
  • यदि आपको Windows के लिए Sudo में उपलब्ध नहीं अतिरिक्त सुविधाओं की ज़रूरत है, तो Gerardo Grignoli के gsudo को देखने की सिफारिश की गई है

Windows के लिए Sudo को कैसे सक्षम करें

  • Windows Settings के 'डेवलपर्स के लिए सेटिंग्स' पेज पर जाकर "Sudo सक्षम करें" विकल्प को चालू करके Windows के लिए Sudo सक्षम किया जा सकता है
  • या elevated console session में यह कमांड चलाकर सक्षम किया जा सकता है: sudo config --enable

Windows के लिए Sudo को कैसे कॉन्फ़िगर करें

  • Windows के लिए Sudo फिलहाल तीन configuration options को support करता है: नई विंडो में चलाएँ(forceNewWindow), input अक्षम करें(disableInput), inline चलाएँ(normal)
  • configuration option बदलने के लिए Windows Settings के 'डेवलपर्स के लिए सेटिंग्स' पेज में dropdown menu का उपयोग करें, या elevated console session में कमांड चलाएँ.

configuration option 1: नई विंडो में

  • इस configuration में Sudo for Windows एक नई elevated console window खोलता है और उसी window में command चलाता है
  • उदाहरण के लिए, sudo netstat -ab चलाने पर एक नई window खुलेगी और उसी में command चलेगा.

configuration option 2: input अक्षम

  • इस configuration में Sudo for Windows मौजूदा window में elevated process चलाता है, लेकिन नया process बंद stdin के साथ बनाया जाता है.
  • यानी नया process user input स्वीकार नहीं करता, इसलिए elevation के बाद अतिरिक्त input चाहने वाले process के लिए यह काम नहीं करेगा.

configuration option 3: inline

  • यह configuration दूसरे operating systems के sudo जैसा सबसे अधिक व्यवहार करता है.
  • Sudo for Windows मौजूदा window से जुड़े stdin, stdout, stderr के साथ elevated process चलाता है.
  • इसका मतलब है कि नया elevated process input ले सकता है और output मौजूदा window में भेज सकता है.

यह कैसे काम करता है

  • जब command line पर sudo का उपयोग करके किसी process के विशेषाधिकार बढ़ाए जाते हैं, तो UAC dialog दिखाई देता है, जो उपयोगकर्ता से elevation की पुष्टि मांगता है.
  • उपयोगकर्ता द्वारा elevation की पुष्टि करने पर, चुने गए configuration option के अनुसार process elevated हो जाता है.
  • sudo command के वैकल्पिक parameters देखने के लिए console में sudo -h चलाएँ.

नई विंडो में

  • इस configuration में sudo.exe एक नई elevated console window खोलता है और उसी window में command चलाता है.
  • नई window मौजूदा window की ही working directory और environment variables के साथ शुरू होती है.
  • इस configuration का flow runas command जैसा है.

input अक्षम और inline

  • इस configuration में sudo.exe एक नया elevated process शुरू करता है, फिर elevated sudo.exe process शुरू करता है, और मूल बिना-विशेषाधिकार वाला sudo.exe नए elevated process के साथ RPC connection स्थापित करता है.
  • दूसरे शब्दों में, बिना-विशेषाधिकार वाले sudo instance से elevated instance तक जानकारी पहुँचाई जाती है.
  • खास तौर पर, बिना-विशेषाधिकार वाले process के console handles elevated process को दिए जाते हैं, ताकि elevated process बिना-विशेषाधिकार वाले process से input पढ़ सके और उसी process को output लिख सके.
  • लेकिन "input अक्षम" configuration में console का input handle elevated process को नहीं दिया जाता, इसलिए वह उपयोगकर्ता से input नहीं पढ़ सकता.

अगले कदम

  • टीम Windows के लिए Sudo को open source बनाने के काम पर आगे बढ़ रही है और आने वाले महीनों में योजना के बारे में अधिक जानकारी साझा करेगी.
  • GitHub repository में सीधे feedback साझा करने का अनुरोध किया गया है.

GN⁺ की राय:

  • Windows के लिए Sudo का लॉन्च Windows उपयोगकर्ताओं को Linux-स्टाइल privilege management अनुभव देने की दिशा में एक महत्वपूर्ण प्रगति है.
  • यह टूल developers को अधिक कुशलता से काम करने में मदद करता है, और open source होने के कारण community से योगदान मिल सकता है.
  • security के दृष्टिकोण से "inline" configuration का उपयोग करते समय सावधानी की ज़रूरत है, और यह दिलचस्प है कि भविष्य की documentation में इन security मुद्दों पर अधिक जानकारी देने की योजना है.

1 टिप्पणियां

 
GN⁺ 2024-02-09
Hacker News राय
  • sudo कमांड Windows में लाई जा रही है। यह Linux के sudo का साधारण port नहीं है, बल्कि operating system के बीच privilege structure के अंतर को ध्यान में रखकर किया गया नया implementation है। लक्ष्य यह है कि user उसी terminal window में administrator privileges के साथ command चला सके।
  • इससे PowerShell द्वारा curl और wget को पूरी तरह अलग commands से बदल देने जैसी भावना आती है। यह इस मायने में समस्या बन सकता है कि arguments compatible नहीं हैं।
  • Nirsoft का elevate अच्छी तरह काम करता था, लेकिन system में अधिक integrated feature होना बेहतर है।
  • यह दिलचस्प है कि sudo लगभग एक ही व्यक्ति द्वारा maintain किया जा रहा है।
  • sudo की बेहतरीन usability पर लिखते हुए Linux/Unix परिवार के operating systems का ज़िक्र न करना अजीब है।
  • Microsoft में काम करते समय, UAC(User Account Control) को security boundary नहीं माना जाता था। जिज्ञासा है कि यह feature इस तरह कैसे release हो सका, या क्या अब UAC को security boundary माना जाता है।
  • मैं psutils के sudo.ps1 को scoop के जरिए install करके इस्तेमाल कर रहा हूँ। इसमें UAC prompt आता है, लेकिन interactive work के लिए यह उपयुक्त है।
  • आशा है कि "Windows 12" Linux-आधारित window manager + desktop निकले। तब यह Windows 95/7/8/10/11 के साथ compatibility बनाए रखने के लिए पुराने bugs को बड़े ध्यान से reproduce करेगा।
  • PowerShell commands की दिशा को देखते हुए, उम्मीद है कि यह नया sudo implementation बहुत जटिल command बनेगा।
  • Windows में sudo एक नई feature के रूप में जोड़ा गया है, लेकिन फिलहाल यह security के लिहाज़ से कमजोर दिखता है। अनुमान है कि समय के साथ इसमें सुधार होगा।