5 Εναλλακτικές λύσεις των Windows για την εντολή sudo Linux

Εάν έχετε χρησιμοποιήσει ποτέ Linux ή γνωρίζετε κάποιον που χρησιμοποιεί Linux , τότε πιθανότατα έχετε ακούσει για την εντολή sudo. Η εντολή είναι ένα κρίσιμο στοιχείο σχεδόν για κάθε διανομή Linux και αυτό που κάνει είναι να σας επιτρέπει να εκτελέσετε μια εντολή ως διαφορετικός χρήστης, κυρίως ο χρήστης root. Σε ορισμένες διανομές Linux(Linux) , μπορείτε να συνδεθείτε ως χρήστης root χρησιμοποιώντας την εντολή su , αλλά αυτό θεωρείται εξαιρετικά επικίνδυνο και κανείς δεν το κάνει ποτέ.

Στην πραγματικότητα, είναι τόσο επικίνδυνο που είναι απενεργοποιημένο από προεπιλογή σε διανομές Linux(Linux) όπως το Ubuntu . Αντίθετα, πρέπει να χρησιμοποιήσετε την εντολή sudo εάν θέλετε να εκτελέσετε μια εντολή ως χρήστης root. Τι γίνεται λοιπόν με τα Windows ; Λοιπόν(Well) , δυστυχώς, οι περισσότεροι άνθρωποι είναι συνδεδεμένοι στα Windows ως Διαχειριστές(Administrators) , που είναι το ίδιο με τον χρήστη root στο Linux . Ωστόσο, η Microsoft προσπάθησε να μειώσει τις επικίνδυνες συνέπειες της σύνδεσης ως Διαχειριστής ενεργοποιώντας τον Έλεγχο λογαριασμού χρήστη(User Account Control)  ή το UAC .

Με αυτόν τον τρόπο, ακόμα κι αν ο χρήστης έχει δικαιώματα διαχειριστή, οι εφαρμογές που εκτελούνται με αυτόν τον λογαριασμό δεν θα κληρονομήσουν αυτά τα δικαιώματα, εκτός εάν έχει εξουσιοδοτηθεί μη αυτόματα από τον χρήστη. Αυτό βοηθά στην αποτροπή μόλυνσης από κακόβουλο λογισμικό και λογισμικό υποκλοπής σε έναν χρήστη των Windows(Windows) που είναι συνδεδεμένος ως Διαχειριστής(Administrator) .

Έτσι, ενώ οι χρήστες Linux έχουν την εντολή sudo, τι έχουν οι χρήστες των Windows ; Υπάρχουν(Are) εναλλακτικές λύσεις που μπορούν να χρησιμοποιήσουν οι χρήστες των Windows(Windows) για την εκτέλεση εντολών με αυξημένα δικαιώματα; Υπάρχει εντολή sudo για Windows ; Σε αυτό το άρθρο, θα μιλήσω για πέντε εναλλακτικές λύσεις στην εντολή sudo για χρήστες των Windows .

Σημείωση: Ορισμένα από αυτά τα εργαλεία είναι αρκετά παλιά τώρα, επομένως μπορεί να λειτουργούν ή να μην λειτουργούν με τις πιο πρόσφατες εκδόσεις των Windows. (Note: Some of these tools are quite old now, so they may or may not work with the latest versions of Windows. )

Εντολή Windows Runas

Τα Windows έχουν την εντολή runas , η οποία είναι το άμεσο αντίστοιχο του sudo στο Linux . Χρησιμοποιώντας την εντολή runas, μπορείτε να εκτελέσετε ένα σενάριο, πρόγραμμα ή εντολή ως διαφορετικός χρήστης ή ως διαχειριστής. Η πλήρης σύνταξη για την εντολή runas είναι:

runas [{/profile|/noprofile}] [/env] [/netonly] [/smartcard] [/showtrustlevels] [/trustlevel] /user:UserAccountName program

Εάν θέλετε να ανοίξετε μια διαχειριστική γραμμή εντολών, θα μπορούσατε να πληκτρολογήσετε τα εξής:

runas /noprofile /user:Administrator cmd

εντολή runas

Το /noprofile δεν θα φορτώσει το τρέχον προφίλ χρήστη. Μπορείτε να το αφαιρέσετε εάν χρειάζεστε πρόσβαση στις μεταβλητές περιβάλλοντος χρήστη. Εάν θέλετε να ανοίξετε ένα αρχείο κειμένου χρησιμοποιώντας το Σημειωματάριο(Notepad) με δικαιώματα διαχειριστή, θα μπορούσατε να χρησιμοποιήσετε αυτήν την εντολή:

runas /user:Administrator "notepad my_file.txt"

Μπορείτε να ελέγξετε τη σελίδα Technet(Technet page) στο runas για περισσότερες πληροφορίες σχετικά με τον τρόπο χρήσης του.

Σημειώστε ότι όταν χρησιμοποιείτε την εντολή runas, εάν εγκαταστήσετε ένα πρόγραμμα ή κάνετε αλλαγές στις ρυθμίσεις, κ.λπ., οι αλλαγές θα γίνουν στον λογαριασμό χρήστη στον οποίο εκτελείτε την εντολή. Για παράδειγμα, ας υποθέσουμε ότι έχετε χρήστη X που είναι κανονικός χρήστης και χρήστη Y, που είναι διαχειριστής. Εάν συνδεθείτε στο X και στη συνέχεια κάνετε runas χρησιμοποιώντας τα διαπιστευτήρια διαχειριστή(Administrator) , θα γίνουν αλλαγές στις ρυθμίσεις του διαχειριστή(Administrator) και όχι στον χρήστη X.

Επομένως, εάν εγκαταστήσετε μια εφαρμογή κάνοντας δεξί κλικ στο αρχείο EXE και επιλέγοντας (EXE)Εκτέλεση(Run) ως διαχειριστής(Administrator) , θα εγκατασταθεί στο ενσωματωμένο προφίλ χρήστη διαχειριστή(Administrator) και όχι σε αυτό στο οποίο είστε συνδεδεμένοι. Εάν θέλετε πραγματικά αυξημένα προνόμια όπως το sudo χωρίς προβλήματα προφίλ, δείτε την επόμενη εναλλακτική παρακάτω.

Sudo για Windows – Sourceforge

Το Sudo για Windows(Sudo for Windows) είναι ένα δωρεάν πρόγραμμα που μπορείτε να εγκαταστήσετε και θα σας δώσει την ίδια εμπειρία με την εντολή sudo στο Linux για Windows . Η μόνη διαφορά είναι ότι το Sudo για Windows "διατηρεί το προφίλ του χρήστη και την ιδιοκτησία των δημιουργημένων αντικειμένων"(“preserves the user’s profile and ownership of created objects”) , όπως δηλώνεται από τον προγραμματιστή. Αυτό είναι πολύ βολικό εάν θέλετε να χρησιμοποιείτε αυξημένα δικαιώματα για την εγκατάσταση εφαρμογών ή την πραγματοποίηση αλλαγών σε τοποθεσίες χρηστών όπως τα έγγραφά μου(My Documents) κ.λπ.

Θα σας δώσει δικαιώματα διαχειριστή, αλλά θα διατηρήσει όλες τις αλλαγές στο τρέχον προφίλ αντί για τον λογαριασμό που χρησιμοποιείτε για να εκτελέσετε την εντολή. Το πρόγραμμα απαιτεί .NET έκδοση 2.0, την οποία δεν μπορείτε να κατεβάσετε μεμονωμένα. Για να αποκτήσετε 2.0, πρέπει να εγκαταστήσετε το .NET Framework 3.5 , το οποίο περιλαμβάνει 2.0.

Μόλις εγκαταστήσετε το Sudo για Windows , πρέπει να προσθέσετε τους λογαριασμούς χρηστών που θα επιτρέψετε να έχουν αυξημένα δικαιώματα σε μια συγκεκριμένη ομάδα που δημιουργήθηκε από το πρόγραμμα που ονομάζεται S udoers . Κάντε δεξί κλικ στο My Computer ή This PC και κάντε κλικ στο Manage . Στη συνέχεια, αναπτύξτε το Users and Groups και κάντε κλικ στο Groups . Θα πρέπει να δείτε ένα που ονομάζεται Sudoers .

sudousers

Κάντε διπλό κλικ στο Sudoers και κάντε κλικ στο κουμπί Προσθήκη(Add) .

προσθήκη μέλους

Στο επόμενο παράθυρο διαλόγου, κάντε κλικ στο κουμπί Για προχωρημένους(Advanced) και, στη συνέχεια, κάντε κλικ στην επιλογή Εύρεση τώρα(Find Now) . Αυτό θα εμφανίσει όλους τους χρήστες και τις ομάδες στο σύστημα. Κάντε διπλό κλικ(Double-click) στον χρήστη που θέλετε να προσθέσετε.

προσθήκη χρήστη στην ομάδα

Επαναλάβετε αυτό το βήμα για όσους χρήστες θέλετε να προσθέσετε. Στη συνέχεια, κάντε κλικ στο OK και θα δείτε τα μέλη που αναφέρονται στο πλαίσιο λίστας μελών(Members) που εμφανίζεται παραπάνω. Κάντε κλικ στο OK(Click OK) και τώρα θα πρέπει να μπορείτε να χρησιμοποιήσετε το sudo GUI και την εντολή. Εάν κάνετε δεξί κλικ σε ένα πρόγραμμα, θα δείτε την επιλογή Sudo .

sudo δεξί κλικ

Μπορείτε επίσης να ανοίξετε μια γραμμή εντολών και να πληκτρολογήσετε sudo για εκτέλεση εντολής με αυξημένα δικαιώματα.

γραμμή εντολών sudo

Συνολικά, είναι πολύ καλό και λειτουργεί πολύ καλά. Ωστόσο, σημειώστε ότι το συγκεκριμένο πρόγραμμα είναι πραγματικά χρήσιμο για την εκκίνηση(launching) προγραμμάτων ή διεργασιών είτε με δεξί κλικ είτε μέσω της γραμμής εντολών, αλλά δεν προορίζεται για την εκτέλεση εφαρμογών γραμμής εντολών. Για παράδειγμα, εάν θέλετε να κάνετε sudo mkdir “c:Program Files ew”, αυτό δεν θα λειτουργήσει χρησιμοποιώντας το Sudo για Windows . Για αυτήν τη λειτουργικότητα, υπάρχει ένα άλλο πρόγραμμα που ονομάζεται το ίδιο πράγμα, αλλά από διαφορετικό προγραμματιστή. Διαβάστε(Read) παρακάτω.

Sudo για Windows – Luke Sampson

Υπάρχει ένας άλλος προγραμματιστής που έγραψε ένα άλλο Sudo για Windows(Sudo for Windows) που σας επιτρέπει να εκτελείτε και εφαρμογές γραμμής εντολών. Ας επιστρέψουμε λοιπόν στο παράδειγμα σχετικά με τη δημιουργία ενός νέου φακέλου στο C:Program Files. Δεν μπορείτε πραγματικά να το κάνετε αυτό από προεπιλογή.

powershell mkdir

Πάνω χρησιμοποιώ το PowerShell , αλλά θα λάβετε το ίδιο σφάλμα χρησιμοποιώντας επίσης τη γραμμή εντολών. Ωστόσο, μόλις εγκαταστήσετε το Sudo για Windows , απλώς προσθέστε τη λέξη sudo στο μπροστινό μέρος της εντολής και λειτουργεί τέλεια χωρίς σφάλματα!

Για να το εγκαταστήσετε, πρέπει να ανοίξετε το PowerShell και στη συνέχεια να πληκτρολογήσετε τις ακόλουθες εντολές με τη σειρά:

iex (new-object net.webclient).downloadstring('https://get.scoop.sh')

set-executionpolicy unrestricted -s cu -f

scoop install sudo

Εάν όλα λειτουργούν καλά, θα πρέπει να βλέπετε την ακόλουθη έξοδο στο PowerShell μετά από κάθε εντολή:

εγκαταστήστε το scoop sudo

Αυτό είναι! Τώρα μπορείτε να αρχίσετε να πληκτρολογείτε εντολές και να προσθέτετε sudo μπροστά. Το μόνο ενοχλητικό πράγμα σχετικά με αυτό το πρόγραμμα είναι ότι το παράθυρο UAC εξακολουθεί να εμφανίζεται και έχετε κάνει κλικ στο Ναι(Yes) για να λειτουργήσει. Ακόμη και με αυτή την ελαφριά ενόχληση, τα οφέλη αξίζουν τον κόπο.

Ανυψώνω

Το Elevate(Elevate) είναι ένα πρόγραμμα που λειτουργεί με UAC και δεν λειτουργεί ακριβώς όπως το sudo. Με το Elevate , θα αλλάξει τον χρήστη που εκτελεί τον χρήστη σε Administrator όπως κάνει η εντολή runas. Ωστόσο, είναι χρήσιμο για εργασία στη γραμμή εντολών ή με αρχεία δέσμης.

ανυψώνω

Ο κύριος σκοπός του elevate δεν είναι να περάσει το UAC , αλλά να ξεκινήσει μια διαδικασία σε ανυψωμένη κατάσταση από ένα μη ανυψωμένο κέλυφος και στη συνέχεια να συνεχίσει κανονικά ακόμα και μετά την ολοκλήρωση της εντολής. Το Elevate(Elevate) είναι χρήσιμο για τη δημιουργία δέσμης ενεργειών, επειδή δεν χρειάζεται να ανησυχείτε για την προσπάθεια δέσμης ενεργειών σε ολόκληρη τη διαδικασία κάνοντας δεξί κλικ και εκτέλεση μιας γραμμής εντολών ως διαδικασία διαχειριστή(Administrator) .

Elevation PowerToys για Windows

Για όσους από εσάς κάνετε πολλή δουλειά στη γραμμή εντολών ή εργάζεστε με σενάρια και αρχεία δέσμης, τότε η σελίδα Elevation PowerToys για Windows(Elevation PowerToys for Windows) έχει αρκετά χρήσιμα εργαλεία και σενάρια.

ηλεκτρικά παιχνίδια ανύψωσης

Τα δυναμικά παιχνίδια ανύψωσης σεναρίου(script elevation power toys) δημιουργήθηκαν για να ξεπεράσουν τις απογοητευτικές πτυχές του UAC όταν προσπαθείτε να ανυψώσετε ένα πρόγραμμα από τη γραμμή εντολών ή να εκτελείτε σενάρια ως διαχειριστές.

Ας ελπίσουμε(Hopefully) ότι αυτά είναι αρκετά εργαλεία και προγράμματα για να σας κάνουν να νιώσετε ότι χρησιμοποιείτε πραγματικά sudo στα Windows . Δεν υπάρχει τέλειος αντικαταστάτης του, αλλά υπάρχουν αρκετές επιλογές που πλησιάζουν. Εάν χρησιμοποιείτε κάτι άλλο για να ανυψώσετε προγράμματα, εντολές ή σενάρια στα Windows , ενημερώστε μας στα σχόλια. Απολαμβάνω!



About the author

Είμαι προγραμματιστής λογισμικού με πάνω από 10 χρόνια εμπειρία. Ειδικεύομαι στον προγραμματισμό Mac και έχω γράψει πολλές χιλιάδες γραμμές κώδικα για διάφορες εφαρμογές Mac, συμπεριλαμβανομένων, ενδεικτικά, των: TextEdit, GarageBand, iMovie και Inkscape. Έχω επίσης εμπειρία με ανάπτυξη Linux και Windows. Οι δεξιότητές μου ως προγραμματιστής μου επιτρέπουν να γράφω υψηλής ποιότητας, ολοκληρωμένα σεμινάρια για διάφορες πλατφόρμες ανάπτυξης λογισμικού - από macOS έως Linux - καθιστώντας τα σεμινάρια μου την τέλεια επιλογή για όσους θέλουν να μάθουν περισσότερα για τα εργαλεία που χρησιμοποιούν.



Related posts