5 lựa chọn thay thế Windows cho lệnh sudo Linux


Nếu bạn đã từng sử dụng Linux hoặc biết ai đó sử dụng Linux thì có thể bạn đã nghe nói đến lệnh sudo. Lệnh này là một thành phần quan trọng đối với mọi bản phân phối Linux và những gì nó làm là cho phép bạn chạy một lệnh với tư cách người dùng khác, đáng chú ý nhất là người dùng root. Trên một số bản phân phối Linux nhất định, bạn có thể đăng nhập với tư cách là người dùng root bằng cách sử dụng lệnh su, nhưng điều này được coi là rất nguy hiểm và không ai thực hiện nó.

nguy hiểm là nó bị vô hiệu hóa theo mặc định trên các bản phân phối Linux như Ubuntu. Thay vào đó, bạn phải sử dụng lệnh sudonếu bạn muốn chạy lệnh với tư cách người dùng root. Vậy còn Windows thì sao? Thật không may, hầu hết mọi người đều đăng nhập vào Windows với tư cách Quản trị viên, giống như người dùng root trong Linux. Tuy nhiên, Microsoft đã cố gắng giảm bớt các tác động nguy hiểm của việc đăng nhập với tư cách Quản trị viên bằng cách bật Quyền kiểm soát tài khoản người dùng hoặc UAC.

Bằng cách đó, ngay cả khi người dùng có quyền Quản trị, các ứng dụng chạy trong tài khoản đó sẽ không kế thừa các đặc quyền đó trừ khi được người dùng ủy quyền theo cách thủ công. Điều này giúp ngăn chặn phần mềm độc hại và phần mềm gián điệp lây nhiễm cho người dùng Windows đã đăng nhập với tư cách Quản trị viên.

Vì vậy, trong khi người dùng Linux có lệnh sudo, người dùng Windows có gì? Có những lựa chọn thay thế mà người dùng Windows có thể sử dụng để chạy các lệnh có đặc quyền nâng cao không? Có lệnh sudo cho Windows không? Trong bài viết này, tôi sẽ nói về năm lựa chọn thay thế cho lệnh sudo dành cho người dùng Windows.

Lưu ý: Một số công cụ này khá cũ, vì vậy chúng có thể hoặc có thể không hoạt động với các phiên bản Windows mới nhất.

Lệnh Runas của Windows

Windows có lệnh runas, là đối tác trực tiếp với sudo trên Linux. Sử dụng lệnh runas, bạn có thể thực thi một kịch bản, chương trình hoặc lệnh với tư cách người dùng khác hoặc với tư cách quản trị viên. Cú pháp đầy đủ cho lệnh runas là:

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

Nếu bạn muốn mở lời nhắc lệnh quản trị, bạn có thể gõ như sau:

runas /noprofile /user:Administrator cmd

runas command

/ noprofile sẽ không tải hồ sơ người dùng hiện tại. Bạn có thể loại bỏ điều đó nếu bạn cần truy cập vào các biến môi trường người dùng. Nếu bạn muốn mở một tệp văn bản bằng Notepad với quyền quản trị viên, bạn có thể sử dụng lệnh này:

runas /user:Administrator "notepad my_file.txt"

Bạn có thể kiểm tra Trang Technet trên runas cho Thông tin thêm về cách sử dụng nó.

Lưu ý rằng khi sử dụng lệnh runas, nếu bạn cài đặt chương trình hoặc thực hiện thay đổi đối với cài đặt, v.v., các thay đổi sẽ được thực hiện cho tài khoản người dùng mà bạn đang chạy lệnh trên. Ví dụ: giả sử bạn có người dùng X là người dùng bình thường và người dùng Y, là quản trị viên. Nếu bạn đăng nhập vào X và sau đó thực hiện một runas bằng cách sử dụng các thông tin quản trị viên, thay đổi sẽ được thực hiện cho các thiết lập của quản trị viên, không phải người dùng X.

Vì vậy, nếu bạn cài đặt một ứng dụng bằng cách kích chuột phải vào tập tin EXE và chọn Chạy với tư cách Quản trị viên, nó sẽ được cài đặt vào hồ sơ người dùng Quản trị viên được tích hợp sẵn, không phải hồ sơ người dùng bạn đã đăng nhập. Nếu bạn muốn các đặc quyền nâng cao thực sự như sudo không có sự cố về hồ sơ, hãy xem giải pháp thay thế tiếp theo bên dưới.

Sudo cho Windows - Sourceforge

Sudo cho Windows là một chương trình miễn phí mà bạn có thể cài đặt sẽ cung cấp cho bạn trải nghiệm giống như lệnh sudo trên Linux dành cho Windows. Điểm khác biệt duy nhất là Sudo dành cho Windows "giữ nguyên hồ sơ của người dùng và quyền sở hữu đối tượng đã tạo"như được nhà phát triển nêu. Điều này thực sự hữu ích nếu bạn muốn sử dụng các quyền nâng cao để cài đặt ứng dụng hoặc thực hiện thay đổi cho các vị trí của người dùng như My Documents, v.v.

Nó sẽ cấp cho bạn quyền Quản trị, nhưng sẽ giữ tất cả các thay đổi trong hiện tại thay vì tài khoản bạn đang sử dụng để chạy lệnh. Chương trình yêu cầu .NET phiên bản 2.0, mà bạn không thể tải xuống riêng lẻ. Để có được 2.0, bạn phải cài đặt Khuôn khổ .NET 3.5, bao gồm 2.0.

Khi bạn cài đặt Sudo cho Windows, bạn cần thêm tài khoản người dùng mà bạn cho phép có nâng cao đặc quyền cho một nhóm cụ thể được tạo bởi chương trình có tên S udoers. Nhấp chuột phải vào My Computer hoặc This PC và nhấp vào Manage. Sau đó, mở rộng Người dùng và Nhómvà nhấp vào Nhóm. Bạn sẽ thấy một cái tên được gọi là Kẻ lừa đảo.

sudousers

Nhấp đúp vào Kẻ lừa đảovà nhấp trên nút Thêm.

add member

Trên hộp thoại tiếp theo, nhấp vào nút Nâng caovà sau đó nhấp Tìm ngay bây giờ. Điều này sẽ liệt kê tất cả người dùng và nhóm trên hệ thống. Nhấp đúp vào người dùng bạn muốn thêm.

add user to group

Lặp lại bước này cho nhiều người dùng bạn muốn thêm. Sau đó nhấp OK và bạn sẽ thấy các thành viên được liệt kê trong hộp danh sách Thành viênđược hiển thị ở trên. Nhấn OK và bây giờ bạn sẽ có thể sử dụng sudo GUI và lệnh. Nếu bạn nhấp chuột phải vào một chương trình, bạn sẽ thấy tùy chọn Sudo.

sudo right click

Bạn cũng có thể mở một dấu kiểm nhắc lệnh và gõ sudo để chạy lệnh với các quyền nâng cao.

sudo command prompt

Nhìn chung, nó khá tiện lợi và hoạt động rất tốt. Tuy nhiên, lưu ý rằng chương trình cụ thể này thực sự hữu ích cho các chương trình hoặc quá trình khởi chạyhoặc thông qua nhấp chuột phải hoặc thông qua dấu nhắc lệnh, nhưng nó không có nghĩa là chạy các ứng dụng dòng lệnh. Ví dụ: nếu bạn muốn thực hiện sudo mkdir “c: \ Program Files \ new”, điều này sẽ không hoạt động khi sử dụng Sudo cho Windows. Đối với chức năng đó, có một chương trình khác được gọi là cùng một điều, nhưng bởi một nhà phát triển khác. Đọc dưới đây.

Sudo cho Windows - Luke Sampson

Có một nhà phát triển khác đã viết một Sudo cho Windows khác cho phép bạn thực thi các ứng dụng dòng lệnh. Vì vậy, hãy quay trở lại ví dụ về việc tạo một thư mục mới trong C: \ Program Files. Bạn không thể thực sự làm điều này theo mặc định.

powershell mkdir

Ở trên tôi đang sử dụng PowerShell, nhưng bạn sẽ gặp lỗi tương tự khi sử dụng lệnh cũng nhắc. Tuy nhiên, một khi bạn cài đặt Sudo cho Windows, chỉ cần thêm từ sudo vào mặt trước của lệnh và nó hoạt động hoàn hảo mà không có lỗi!

Để cài đặt nó, bạn cần phải mở PowerShell và sau đó gõ vào sau lệnh theo thứ tự:

iex (new-object net.webclient).downloadstring('https://get.scoop.sh')
set-executionpolicy unrestricted -s cu -f scoop install sudo

Nếu mọi thứ hoạt động OK, bạn sẽ thấy kết quả sau trong PowerShell sau mỗi lệnh:

install scoop sudo

Đó là nó! Bây giờ bạn có thể bắt đầu gõ lệnh và thêm sudo ở phía trước. Điều khó chịu duy nhất về chương trình này là cửa sổ UAC vẫn bật lên và bạn đã kích Yes để nó hoạt động. Ngay cả với sự bực bội nhỏ bé đó, những lợi ích cũng đáng giá.

Nâng cao

Nâng là một chương trình hoạt động với UAC và không hoạt động chính xác như sudo. Với Elevate, nó sẽ thay đổi người dùng thực thi thành Administrator như lệnh runas. Tuy nhiên, nó hữu ích khi làm việc trong dòng lệnh hoặc với các tập tin batch.

elevate

Mục đích chính của việc nâng cao không phải là để có được xung quanh UAC, nhưng để bắt đầu một quá trình ở trạng thái cao từ một vỏ không nâng lên và sau đó tiếp tục như bình thường ngay cả sau khi lệnh đã hoàn thành. Elevate rất hữu ích cho việc viết kịch bản bởi vì bạn không phải lo lắng về việc cố gắng viết kịch bản toàn bộ nhấn chuột phải và chạy một dấu nhắc lệnh như là tiến trình quản trị viên.

Độ cao PowerToys cho Windows

những người bạn làm nhiều việc trên dòng lệnh hoặc làm việc với các tập lệnh và tập tin batch, thì trang PowerToys độ cao cho Windows có khá nhiều công cụ và tập lệnh hữu ích.

elevation powertoys

kịch bản độ cao đồ chơi điện được tạo ra để khắc phục các khía cạnh bực bội của UAC khi cố gắng nâng cấp chương trình từ dòng lệnh hoặc chạy tập lệnh với tư cách quản trị viên.

Hy vọng rằng, đó là đủ các công cụ và chương trình cho bạn để làm cho bạn cảm thấy như bạn đang thực sự sử dụng sudo trên Windows. Không có sự thay thế hoàn hảo cho nó, nhưng có một vài lựa chọn gần gũi. Nếu bạn sử dụng cái gì khác để nâng cao chương trình, lệnh hoặc tập lệnh trong Windows, hãy cho chúng tôi biết trong phần nhận xét. Hãy tận hưởng!

Ubuntu 18.04 LTS OS: Hướng dẫn cài đặt chi tiết lên phân vùng ext4 và gõ tiếng Việt Unikey

bài viết liên quan:


21.03.2014