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

Nếu bạn đã từng sử dụng Linux hoặc biết ai đó sử dụng Linux thì chắc chắn bạn đã từng nghe đến lệnh sudo. Lệnh 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 lệnh với tư cách là một người dùng khác, đặc biệ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 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 rủi ro và không ai làm điều đó.

Trên thực tế, nó nguy hiểm đến mức 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 sudo(sudo) nếu bạn muốn chạy lệnh với tư cách là người dùng root. Vậy Windows thì sao? Rất(Well) tiếc, hầu hết mọi người đều đăng nhập vào Windows với tư cách Quản trị(Administrators) viên, giống như người dùng root trong Linux . Tuy nhiên, Microsoft đã cố gắng giảm thiểu 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 Kiểm soát tài khoản người dùng(User Account Control)  hoặc UAC .

Bằng cách đó, ngay cả khi người dùng có đặ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 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ị(Administrator) viên .

Vậy trong khi người dùng Linux có lệnh sudo, thì người dùng Windows có gì? (Are) lựa chọn thay thế nào 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 cho người dùng Windows .

Lưu ý: Một số công cụ này hiện đã khá cũ, vì vậy chúng có thể hoạt động với các phiên bản Windows mới nhất hoặc có thể không hoạt động. (Note: Some of these tools are quite old now, so they may or may not work with the latest versions of Windows. )

Lệnh Windows Runas

Windows có lệnh runas , là lệnh đối ứng 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 tập lệnh, chương trình hoặc lệnh với tư cách là người dùng khác hoặc với tư cách là 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ở một dấu nhắc lệnh quản trị, bạn có thể nhập như sau:

runas /noprofile /user:Administrator cmd

lệnh runas

/ 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 quyề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ở tệp văn bản bằng Notepad với đặc quyền của quản trị viên, bạn có thể sử dụng lệnh sau:

runas /user:Administrator "notepad my_file.txt"

Bạn có thể xem trang Technet(Technet page) trên runas để biết thêm thông tin 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 đối với tài khoản người dùng mà bạn đang chạy lệnh. 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 lần chạy bằng thông tin đăng nhập của Quản trị(Administrator) viên , các thay đổi sẽ được thực hiện đối với cài đặt của Quản trị(Administrator) 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 nhấp chuột phải vào tệp EXE và chọn Chạy(Run) với tư cách Quản trị(Administrator) viên , ứng dụng đó sẽ được cài đặt vào hồ sơ người dùng Quản trị(Administrator) viên tích hợp chứ không phải hồ sơ bạn đã đăng nhập. Nếu bạn muốn có các đặc quyền nâng cao thực sự như sudo mà không gặp vấn đề về hồ sơ, hãy xem giải pháp thay thế tiếp theo bên dưới.

Sudo dành cho Windows - Sourceforge

Sudo cho Windows(Sudo for Windows) là một chương trình miễn phí mà bạn có thể cài đặt sẽ mang lại 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 các đối tượng đã tạo”(“preserves the user’s profile and ownership of created objects”) như 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 quyền nâng cao để cài đặt ứng dụng hoặc thực hiện thay đổi đối với vị trí của người dùng như Tài liệu của tôi(My Documents) , v.v.

Nó sẽ cung cấp cho bạn đặc quyền Quản trị, nhưng sẽ giữ tất cả các thay đổi trong hồ sơ 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 phiên bản .NET 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 .NET Framework 3.5 , bao gồm 2.0.

Sau khi cài đặt Sudo cho Windows , bạn cần thêm các tài khoản người dùng mà bạn cho phép để có các đặc quyền nâng cao vào 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 Máy tính của tôi(My Computer) hoặc PC này và nhấp vào Quản lý(Manage) . Sau đó, mở rộng Người dùng và Nhóm(Users and Groups) và nhấp vào Nhóm(Groups) . Bạn sẽ thấy một cái tên là Sudoers .

những đứa trẻ sudousers

Nhấp đúp vào Sudoers và nhấp vào nút Thêm(Add) .

thêm thành viên

Trên hộp thoại tiếp theo, nhấp vào nút Nâng cao(Advanced) và sau đó nhấp vào Tìm ngay(Find Now) . Điều này sẽ liệt kê tất cả người dùng và nhóm trên hệ thống. Bấm đúp vào(Double-click) người dùng bạn muốn thêm.

thêm người dùng vào nhóm

Lặp lại bước này cho bất kỳ người dùng nào bạn muốn thêm. Sau đó nhấp vào 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(Members) được hiển thị ở trên. Nhấp vào OK(Click OK) và bây giờ bạn sẽ có thể sử dụng GUI và lệnh sudo. 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 nhấp chuột phải

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

dấu nhắc lệnh sudo

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 để khởi chạy(launching) các chương trình hoặc quy trình thông qua nhấp chuột phải hoặc qua dấu nhắc lệnh, nhưng nó không dành cho việc 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 ew”, đ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à tương tự, nhưng của một nhà phát triển khác. Đọc(Read) bên dưới.

Sudo dành cho Windows - Luke Sampson

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

powerhell mkdir

Ở trên, tôi đang sử dụng PowerShell , nhưng bạn cũng sẽ gặp lỗi tương tự khi sử dụng dấu nhắc lệnh. Tuy nhiên, sau khi bạn cài đặt Sudo cho Windows , chỉ cần thêm từ sudo vào phía 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 mở PowerShell rồi nhập các lệnh sau 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 tốt, bạn sẽ thấy kết quả đầu ra sau trong PowerShell sau mỗi lệnh:

cài đặt muỗng sudo

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

Nâng

Elevate 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 đang thực thi thành Quản trị(Administrator) viên giống như lệnh runas. Tuy nhiên, nó hữu ích để làm việc trong dòng lệnh hoặc với các tệp hàng loạt.

nâng

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

Elevation PowerToys dành cho Windows

Đối với những bạn làm nhiều công 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 hàng loạt, thì trang Elevation PowerToys for Windows có khá nhiều công cụ và tập lệnh hữu ích.

powertoys độ cao

Các đồ chơi sức mạnh nâng cấp tập lệnh(script elevation power toys) được tạo ra để khắc phục các khía cạnh khó chịu của UAC khi cố gắng nâng cấp một chương trình từ dòng lệnh hoặc chạy các tập lệnh với tư cách là quản trị viên.

Hy vọng rằng(Hopefully) đó là đủ các công cụ và chương trình để bạn cảm thấy như đ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ó khá nhiều lựa chọn sắp xuất hiện. Nếu bạn sử dụng thứ gì đó khác để nâng cấp 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. Vui thích!



About the author

Tôi là một kỹ sư phần mềm và blogger với gần 10 năm kinh nghiệm trong lĩnh vực này. Tôi chuyên tạo các bài đánh giá và hướng dẫn về công cụ cho các nền tảng Mac và Windows, cũng như cung cấp các bình luận của chuyên gia về các chủ đề phát triển phần mềm. Tôi cũng là một diễn giả và người hướng dẫn chuyên nghiệp, từng thuyết trình tại các hội nghị công nghệ trên thế giới.



Related posts