Computer >> Máy Tính >  >> Hệ thống >> Linux

Doas là gì và cách cài đặt nó

Doas là gì và cách cài đặt nó

Doas là một chương trình leo thang đặc quyền tương tự như sudo. Nó được thiết kế để nhẹ và đơn giản nhất có thể. Đây là chương trình báo cáo đặc quyền mặc định cho OpenBSD nhưng cũng có sẵn cho các hệ điều hành giống UNIX khác thông qua chương trình OpenDoas.

Sự cố với sudo

Trong nhiều năm, sudo đã trở thành chương trình leo thang đặc quyền trên thực tế trong thế giới UNIX. Tuy nhiên, điều này có nghĩa là sudo phải đáp ứng mọi trường hợp sử dụng cho mọi người đang sử dụng máy giống UNIX. Cách tiếp cận này trong quá trình phát triển chương trình đã làm cho nó trở thành một chương trình khó sử dụng, khó hiểu và khó sử dụng.

Ví dụ:để sửa đổi hành vi của sudo, bạn cần chạy lệnh có tên visudo . Đây là một chương trình tải đặc biệt giúp mở tệp “/ etc / sudoers” ở “chế độ an toàn”.

Visudo thực hiện một số việc:nó thường xuyên kiểm tra lỗi cú pháp trong tệp “/ etc / sudoers” và khóa tệp “/ etc / sudoers” để không ai khác ngoài người dùng hiện tại có thể chỉnh sửa tệp. Bề ngoài thì những thứ này có vẻ hữu ích, nhưng visudo là dấu hiệu cho thấy sự phức tạp ngày càng tăng của sudo.

Doas là gì và cách cài đặt nó

Điều này có nghĩa là cú pháp của tệp sudoers đã trở nên phức tạp đến mức cần phải kiểm tra các lỗi cú pháp tiềm ẩn. Điều này cũng có nghĩa là sudo phải phục vụ cho cả môi trường một người dùng và nhiều người dùng, do đó cần phải khóa tệp sudoers cho người dùng hiện tại.

Sudo là một chương trình tuyệt vời. Cú pháp cấu hình phức tạp của nó có thể tạo ra các hệ thống cấp phép phức tạp có thể hữu ích cho một quản trị viên hệ thống có kinh nghiệm.

Tuy nhiên, đối với hầu hết người dùng, chúng tôi chỉ sử dụng sudo để chạy trình bao gốc để cài đặt các chương trình và sửa chữa hệ thống của chúng tôi. Do đó, sự phức tạp của Sudo dường như là một trở ngại hơn là một đặc điểm trong những trường hợp đó.

Tại sao sử dụng doas?

Mục đích của Doas là giải quyết sự phức tạp của sudo. Nó được phát triển cho OpenBSD và nhanh chóng được chuyển sang bất kỳ hệ thống Linux nào. Nó nhằm mục đích nhanh chóng và dễ sử dụng nhưng cũng đơn giản để bảo trì và bảo mật.

Cú pháp của doas cũng khác so với sudo. Cấu hình nó tương tự như viết bằng tiếng Anh đơn giản. Ví dụ:trong sudo, cú pháp cho phép bất kỳ người dùng nào của bánh xe nhóm thực thi với tư cách người chủ mà không cần mật khẩu là:

%wheel ALL=(ALL) NOPASSWD: ALL

Trong khi đó, trong doas, cú pháp dễ hiểu hơn nhiều:

permit nopass :wheel as root
Doas là gì và cách cài đặt nó

Hơn nữa, doas không cần bất kỳ chương trình tải đặc biệt nào như visudo để sửa đổi cấu hình của nó. Người dùng chỉ cần chỉnh sửa tệp cấu hình bằng bất kỳ trình soạn thảo văn bản nào và miễn là người dùng có đủ đặc quyền, họ sẽ có thể thực hiện các thay đổi trong cấu hình.

Điều này làm cho doas dễ hiểu và dễ hiểu hơn. Cách tiếp cận đơn giản và dễ hiểu của nó để tạo người dùng và nhóm có đặc quyền làm cho quy trình trở nên minh bạch và không có lỗi cho người dùng.

Cách thiết lập doas với sudo

Nếu bạn đang sử dụng hệ thống Linux, rất có thể bạn đang sử dụng sudo làm chương trình báo cáo đặc quyền của mình và điều đó làm cho việc cài đặt doas tương đối đơn giản.

Trong Debian và Ubuntu, bạn có thể cài đặt doas bằng apt:

sudo apt install doas

Trong Arch Linux, bạn có thể sử dụng pacman:

sudo pacman -Syu opendoas

Với Fedora, bạn có thể sử dụng dnf:

sudo dnf install opendoas

Đối với Void Linux, bạn có thể sử dụng xbps:

sudo xbps-install opendoas

Trong trường hợp của tôi, tôi đang cài đặt doas trên Void Linux, vì vậy tôi đang sử dụng XBPS.

Doas là gì và cách cài đặt nó

Tệp cấu hình doas

Với doas được cài đặt, bây giờ bạn có thể chỉnh sửa tệp “/etc/doas.conf” bằng cách chuyển sang người dùng root sử dụng su.

su --command="nano /etc/doas.conf"

Su sẽ hỏi mật khẩu gốc của bạn và sau đó, nó sẽ mở hoặc tạo tệp cấu hình bằng nano.

Doas là gì và cách cài đặt nó

Sau khi hoàn tất, bạn có thể nhận thấy rằng “doas.conf” trống. Điều này hoàn toàn khác so với visudo. Nhưng như chúng ta đã thảo luận trước đó, việc định cấu hình doas tương đối đơn giản.

Cú pháp cấu hình

Cú pháp cho doas.conf như sau:

permit|deny [options] identity [as target] [cmd command [args ...]]
  • Giấy phép Từ chối sẽ đặt liệu doas có cho phép quy tắc hay không.
  • Tùy chọn là các cấu hình bổ sung cho doas. Các tùy chọn hữu ích nhất cho người dùng thông thường là kiên trì nopass .
  • Danh tính là người dùng hoặc nhóm đang thực thi doas.
  • as mục tiêu là người dùng mà "Identity" có thể hoặc không thể chạy.
  • cmd là lệnh mà “Identity” có thể hoặc không thể chạy “as target”. Mặc định là tất cả các chương trình nhưng bạn có thể chỉ định một chương trình cụ thể trong trường này.
  • args là các đối số cụ thể cho lệnh mà bạn đã chỉ định.

Ví dụ, viết như sau sẽ cho phép bất kỳ người dùng nào trong nhóm bánh xe thực hiện các lệnh với tư cách là người chủ. Vỏ gốc cũng sẽ tồn tại cho đến khi đóng cửa sổ.

permit persist :wheel as root

Bạn cũng có thể tạo quy tắc chỉ nhắm mục tiêu một người dùng cụ thể cho một lệnh cụ thể. Ví dụ:bạn có thể sử dụng quy tắc sau để cho phép người dùng “bob” chạy chương trình “apt” với tư cách là người chủ mà không yêu cầu bất kỳ mật khẩu nào.

permit nopass bob as root cmd apt

Trong trường hợp của tôi, tôi muốn “bánh xe” nhóm chạy dưới dạng root mà không cần mật khẩu. Tôi cũng không muốn người dùng aga, người là một phần của nhóm bánh xe, chạy bất kỳ lệnh nào với tư cách là người chủ. Vì vậy, tôi sẽ viết những điều sau trong “/etc/doas.conf” của mình:

permit nopass :wheel as root
deny aga as root
Doas là gì và cách cài đặt nó

Hậu cấu hình

Sau đó, bạn phải thực hiện một vài lệnh để đảm bảo rằng doas đang hoạt động như dự định. Trước tiên, bạn cần đặt đúng chủ sở hữu của doas.conf thành root:

sudo chown -c root:root /etc/doas.conf

Bạn cũng sẽ cần đặt quyền đối với tệp của tệp cấu hình thành 0644 để đảm bảo rằng tệp sẽ chỉ có thể truy cập được đối với người dùng gốc.

sudo chmod -c 0644 /etc/doas.conf

Cuối cùng, bạn sẽ cần phải kiểm tra bản thân doas để tìm bất kỳ lỗi cú pháp nào trong cấu hình. Để thực hiện việc này, hãy chạy lệnh sau:

sudo doas -C /etc/doas.conf && echo "OK" || echo "ERROR"
Doas là gì và cách cài đặt nó

Xin chúc mừng! Bạn đã cài đặt và cấu hình thành công doas cho hệ thống của mình. Bây giờ bạn có thể bắt đầu sử dụng doas thay thế cho sudo hoặc tinh chỉnh tệp doas.conf theo ý muốn của bạn. Để biết thêm thông tin về quản trị hệ thống trong Linux, bạn có thể đọc bài viết này.

Câu hỏi Thường gặp

1. Cấu hình của tôi dường như không hoạt động. Tôi đã thêm quy tắc cho người dùng cụ thể và quy tắc chung nhưng quy tắc cho người dùng dường như không hoạt động.

Tệp cấu hình doas hoạt động từ quy tắc chung nhất đến quy tắc cụ thể nhất. Để cấu hình của bạn hoạt động, trước tiên bạn cần chỉ định quy tắc áp dụng cho tất cả người dùng. Sau đó, bạn có thể chỉ định quy tắc nhắm mục tiêu một người dùng bên dưới nó.

2. Có thể giữ lại sudo và doas trong cùng một hệ thống không?

Đúng! Doas và sudo là hai chương trình khác nhau. Chúng không xung đột với nhau và bạn có thể để sudo trên hệ thống và sử dụng doas.

3. Có thể lấy root shell bằng doas không?

Có, miễn là bạn đã định cấu hình đúng tệp cấu hình của mình. Bạn có thể khởi tạo trình bao gốc bằng cách chạy doas -s .