8 cách để tinh chỉnh và cấu hình Sudo trên Ubuntu

Mục lục:

8 cách để tinh chỉnh và cấu hình Sudo trên Ubuntu
8 cách để tinh chỉnh và cấu hình Sudo trên Ubuntu

Video: 8 cách để tinh chỉnh và cấu hình Sudo trên Ubuntu

Video: 8 cách để tinh chỉnh và cấu hình Sudo trên Ubuntu
Video: Đào tạo quản trị Microsoft 365 Với PowerShell - YouTube 2024, Tháng tư
Anonim
Giống như hầu hết mọi thứ trên Linux, lệnh sudo rất dễ cấu hình. Bạn có thể có lệnh sudo chạy cụ thể mà không yêu cầu mật khẩu, hạn chế người dùng cụ thể chỉ các lệnh được chấp thuận, lệnh đăng nhập chạy với sudo và nhiều lệnh khác.
Giống như hầu hết mọi thứ trên Linux, lệnh sudo rất dễ cấu hình. Bạn có thể có lệnh sudo chạy cụ thể mà không yêu cầu mật khẩu, hạn chế người dùng cụ thể chỉ các lệnh được chấp thuận, lệnh đăng nhập chạy với sudo và nhiều lệnh khác.

Hành vi của lệnh sudo được kiểm soát bởi tệp / etc / sudoers trên hệ thống của bạn. Lệnh này phải được chỉnh sửa bằng lệnh visudo, thực hiện kiểm tra cú pháp để đảm bảo bạn không vô tình phá vỡ tệp.

Chỉ định người dùng có quyền Sudo

Tài khoản người dùng bạn tạo trong khi cài đặt Ubuntu được đánh dấu là tài khoản quản trị viên, có nghĩa là nó có thể sử dụng sudo. Bất kỳ tài khoản người dùng bổ sung nào bạn tạo sau khi cài đặt đều có thể là tài khoản Người quản trị hoặc Tài khoản người dùng chuẩn - Tài khoản người dùng chuẩn không có quyền sudo.

Bạn có thể kiểm soát các loại tài khoản người dùng bằng đồ họa từ công cụ Tài khoản người dùng của Ubuntu. Để mở, hãy nhấp vào tên người dùng của bạn trên bảng điều khiển và chọn Tài khoản người dùng hoặc tìm kiếm Tài khoản người dùng trong dấu gạch ngang.

Image
Image

Làm cho Sudo quên mật khẩu của bạn

Theo mặc định, sudo nhớ mật khẩu của bạn trong 15 phút sau khi bạn nhập mật khẩu. Đây là lý do tại sao bạn chỉ cần gõ mật khẩu của bạn một lần khi thực hiện nhiều lệnh với sudo trong kế nhanh chóng. Nếu bạn sắp cho phép người khác sử dụng máy tính của mình và bạn muốn sudo yêu cầu mật khẩu khi nó chạy tiếp theo, hãy thực hiện lệnh sau và sudo sẽ quên mật khẩu của bạn:

sudo –k

Image
Image

Luôn hỏi mật khẩu

Nếu bạn muốn được nhắc mỗi khi bạn sử dụng sudo - ví dụ: nếu người khác thường xuyên có quyền truy cập vào máy tính của bạn - bạn có thể tắt hoàn toàn hành vi ghi nhớ mật khẩu.

Cài đặt này, giống như các cài đặt sudo khác, được chứa trong tệp / etc / sudoers. Chạy lệnh visudo trong thiết bị đầu cuối để mở tệp để chỉnh sửa:

sudo visudo

Mặc dù tên của nó, lệnh này mặc định là trình soạn thảo nano thân thiện với người dùng mới thay vì trình soạn thảo vi truyền thống trên Ubuntu.

Thêm dòng sau bên dưới các dòng Mặc định khác trong tệp:

Defaults timestamp_timeout=0

Nhấn Ctrl + O để lưu tệp, sau đó nhấn Ctrl + X để đóng Nano. Sudo sẽ luôn nhắc bạn nhập mật khẩu.
Nhấn Ctrl + O để lưu tệp, sau đó nhấn Ctrl + X để đóng Nano. Sudo sẽ luôn nhắc bạn nhập mật khẩu.

Thay đổi thời gian chờ mật khẩu

Để đặt thời gian chờ mật khẩu khác - thời gian chờ dài hơn là 30 phút hoặc ngắn hơn như 5 phút - hãy làm theo các bước ở trên nhưng sử dụng giá trị khác cho timestamp_timeout. Số này tương ứng với số phút sudo sẽ ghi nhớ mật khẩu của bạn. Để có sudo nhớ mật khẩu của bạn trong 5 phút, hãy thêm dòng sau:

Default timestamp_timeout=5

Image
Image

Không bao giờ yêu cầu mật khẩu

Bạn cũng có thể có sudo không bao giờ yêu cầu mật khẩu - miễn là bạn đã đăng nhập, mọi lệnh bạn đặt tiền tố với sudo sẽ chạy với quyền root. Để thực hiện việc này, hãy thêm dòng sau vào tệp sudoers của bạn, trong đó tên người dùng là tên người dùng của bạn:

username ALL=(ALL) NOPASSWD: ALL

Bạn cũng có thể thay đổi dòng% sudo - tức là dòng cho phép tất cả người dùng trong nhóm sudo (còn được gọi là người dùng Quản trị viên) sử dụng sudo - để tất cả người dùng Quản trị viên không yêu cầu mật khẩu:
Bạn cũng có thể thay đổi dòng% sudo - tức là dòng cho phép tất cả người dùng trong nhóm sudo (còn được gọi là người dùng Quản trị viên) sử dụng sudo - để tất cả người dùng Quản trị viên không yêu cầu mật khẩu:

%sudo ALL=(ALL:ALL) NOPASSWD:ALL

Chạy các lệnh cụ thể mà không cần mật khẩu

Bạn cũng có thể chỉ định các lệnh cụ thể sẽ không bao giờ yêu cầu mật khẩu khi chạy với sudo. Thay vì sử dụng "ALL" sau NOPASSWD ở trên, hãy xác định vị trí của các lệnh. Ví dụ, dòng sau sẽ cho phép tài khoản người dùng của bạn chạy các lệnh apt-get và shutdown mà không cần mật khẩu.

username ALL=(ALL) NOPASSWD: /usr/bin/apt-get,/sbin/shutdown

Điều này có thể đặc biệt hữu ích khi chạy các lệnh cụ thể với sudo trong một tập lệnh.

Image
Image

Cho phép người dùng chỉ chạy các lệnh cụ thể

Mặc dù bạn có thể liệt kê các lệnh cụ thể và ngăn người dùng chạy chúng bằng sudo, điều này không hiệu quả lắm. Ví dụ, bạn có thể chỉ định rằng một tài khoản người dùng không thể chạy lệnh shutdown với sudo. Nhưng tài khoản người dùng đó có thể chạy lệnh cp với sudo, tạo một bản sao của lệnh tắt máy và tắt hệ thống bằng cách sử dụng bản sao.

Cách hiệu quả hơn là đưa các lệnh cụ thể vào danh sách trắng. Ví dụ: bạn có thể cấp quyền tài khoản người dùng chuẩn để sử dụng lệnh apt-get và shutdown, nhưng không còn nữa. Để làm như vậy, hãy thêm dòng sau, trong đó standarduser là tên người dùng của người dùng:

standarduser ALL=/usr/bin/apt-get,/sbin/shutdown

Lệnh sau sẽ cho chúng ta biết những lệnh mà người dùng có thể chạy với sudo:
Lệnh sau sẽ cho chúng ta biết những lệnh mà người dùng có thể chạy với sudo:

sudo -U standarduser –l

Image
Image

Đăng nhập truy cập Sudo

Bạn có thể đăng nhập tất cả truy cập sudo bằng cách thêm dòng sau. / var / log / sudo chỉ là một ví dụ; bạn có thể sử dụng bất kỳ vị trí tệp nhật ký nào bạn muốn.

Defaults logfile=/var/log/sudo

Xem nội dung của tệp nhật ký bằng một lệnh như thế này:
Xem nội dung của tệp nhật ký bằng một lệnh như thế này:

sudo cat /var/log/sudo

Đề xuất: