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.
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
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
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
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
%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.
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
sudo -U standarduser –l
Đă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
sudo cat /var/log/sudo