4 lựa chọn thay thế sudo tốt nhất cho Linux

sudo có lẽ là một trong những lệnh Linux được sử dụng nhiều nhất. Nó cho phép bạn có được các đặc quyền admin hoặc nâng cao trên máy Linux.

Thông thường, bạn cần có các đặc quyền nâng cao để thực hiện những hành động như cài đặt phần mềm, quản lý service và xóa các file hệ thống quan trọng. Nhưng bạn có biết có những lựa chọn thay thế cho lệnh sudo trên Linux không?

1. pkexec

Lệnh pkexec (PolicyKit Executive) là triển khai front-end của framework PolicyKit, cung cấp một bộ quy tắc để cấp đặc quyền cho người dùng và tiến trình.

pkexec cho phép bạn thực thi lệnh với các đặc quyền của người dùng hoặc vai trò khác, dựa trên những quy tắc được xác định trong một policy cụ thể.

Công cụ pkexec đã được cài đặt trên Ubuntu và các bản phân phối Linux chính khác. Trong trường hợp pkexec chưa được cài đặt, đây là cách cài đặt nó.

Trên các hệ thống dựa trên Debian, hãy chạy:

sudo apt update && sudo apt install policykit-1

Trên RHEL và các bản phân phối tương tự, hãy chạy:

sudo dnf install policykit

Trên các bản phân phối Linux dựa trên Arch, hãy sử dụng lệnh sau:

sudo sudo pacman -S policykit

Cách sử dụng pkexec

Để sử dụng pkexec, trước tiên bạn phải chỉ định từ khóa pkexec, sau đó là lệnh bạn muốn thực thi, tiếp theo là bất kỳ đối số hoặc tùy chọn nào mà lệnh yêu cầu.

Ví dụ, để cài đặt chương trình Linux vui nhộn: coway trên hệ thống bằng cách sử dụng các đặc quyền của super-user, bạn sẽ sử dụng như sau:

pkexec apt install cowsay

Bạn cũng có thể chỉ định một người dùng hoặc vai trò để đảm nhận các đặc quyền bằng cách sử dụng tùy chọn --user theo sau là tên của người dùng hoặc vai trò đó. Ví dụ, để thực thi lệnh trước đó với đặc quyền của người dùng admin, bạn sẽ sử dụng lệnh sau:

pkexec --user admin apt install cowsay

Ngoài ra, bạn cần nhập mật khẩu của người dùng hoặc vai trò mà bạn đã chỉ định trong lệnh. Nếu không có các quyền cần thiết, bạn sẽ gặp lỗi.

2. doas

Lệnh doas có nguồn gốc từ hệ điều hành OpenBSD. Nó cho phép bạn thực thi một lệnh với các đặc quyền của một người dùng hoặc vai trò được chỉ định.

Nó rất giống với lệnh sudo, nhưng hiện đại, rất nhẹ và dễ cấu hình vì nó sử dụng các câu lệnh ngắn gọn và dễ đọc.

Cấu hình doas trên Linux

Không giống như các lệnh sudo và pkexec, bạn phải cấu hình phiên bản doas mới được cài đặt trước khi bắt đầu sử dụng nó. File cấu hình được đặt tại /etc/doas.conf. Nếu file cấu hình không tồn tại, hãy tạo một file bằng lệnh touch hoặc bất kỳ chương trình nào khác mà bạn chọn.

Để cung cấp cho người dùng “mwizak” đặc quyền super-user trên hệ thống, bạn có thể thêm dòng sau vào file /etc/doas.conf:

permit persist :mwizak as root

Hãy nhớ thay thế người dùng "mwizak" trong lệnh nói trên bằng tên người dùng chính xác.

Cung cấp cho người dùng đặc quyền super-user trên hệ thống
Cung cấp cho người dùng đặc quyền super-user trên hệ thống

Sau khi lưu các thay đổi cấu hình, hãy thử cài đặt coway bằng lệnh sau:

doas apt install cowsay

Để sử dụng người dùng khác, bạn có thể sử dụng flag -u theo sau tên người dùng. Nó tương tự như flag --user được sử dụng với lệnh pkexec.

Ví dụ, để chạy lệnh trước với tư cách quản trị viên hệ thống, bạn sẽ chạy:

doas -u admin apt install cowsay

3. su

Lệnh su là viết tắt của "switch user". Nó cho phép bạn thực thi các lệnh với tư cách là người dùng không phải là người dùng hiện đang đăng nhập. Nó thường được sử dụng để chạy các lệnh yêu cầu quyền root, nhưng bạn có thể chạy bất kỳ lệnh nào khác bằng cách sử dụng su.

Chạy lệnh su mà không có bất kỳ đối số nào sẽ giả sử người dùng root, vì vậy bạn phải biết mật khẩu người dùng root để tiếp tục. Nếu bạn chuyển sang người dùng có tên john, bạn chỉ cần chạy lệnh:

su john

Nhập mật khẩu cho người dùng john. Để chuyển về người dùng ban đầu, chỉ cần chạy lệnh exit.

Xin lưu ý rằng việc chạy các lệnh với tư cách người dùng root thường không được khuyến nghị vì bạn không được nhắc nhập mật khẩu trên mỗi lệnh bạn chạy, điều này có thể dẫn đến hậu quả tai hại, chẳng hạn như vô tình xóa các file.

4. dzdo

dzdo là một công cụ dòng lệnh được sử dụng để thực thi các lệnh với đặc quyền của người dùng khác, chẳng hạn như super-user hoặc người dùng root. Nó tương tự như lệnh sudo, thường được sử dụng cho cùng một mục đích. Lệnh dzdo hầu hết có sẵn trên Oracle Linux.

Bạn có thể sử dụng flag -u để chỉ định người dùng có đặc quyền mà bạn muốn sử dụng. Ví dụ, lệnh sau sẽ thực thi lệnh apt-get update với các đặc quyền của super-user (root):

dzdo -u root apt-get update

Hệ thống sẽ yêu cầu bạn nhập mật khẩu thích hợp để xác nhận rằng bạn có các đặc quyền cần thiết để chạy lệnh.

Thứ Ba, 03/01/2023 10:44
51 👨 261
0 Bình luận
Sắp xếp theo
    ❖ Linux