Trong trường hợp bạn đang chạy Linux trên một máy tính mà bạn thường chỉ sử dụng một mình, ví dụ như trên một máy tính xách tay, việc phải nhập mật khẩu mỗi khi bạn gọi lệnh sudo trở nên rất nhàm chán theo thời gian. Vì vậy, trong hướng dẫn này, chúng tôi sẽ mô tả cách cấu hình lệnh sudo để chạy mà không cần nhập mật khẩu.
Cài đặt này được thực hiện trong tệp /etc/sudoers , điều này cho phép sudoers sử dụng plugin chính sách bảo mật mặc định cho lệnh sudo; dưới mục user privilege specification.
Quan trọng: Trong tệp sudeors , tham số authenticate được bật theo mặc định được sử dụng cho mục đích xác thực. Nếu nó được đặt, người dùng cần xác thực bằng mật khẩu (hoặc các phương pháp xác thực khác) trước khi thực thi lệnh bằng sudo.
Tuy nhiên, giá trị mặc định này có thể được ghi đè bằng cách sử dụng thẻ NOPASSWD (không yêu cầu mật khẩu khi người dùng gọi lệnh sudo).
Cú pháp để cấu hình quyền người dùng như sau:
user_list host_list=effective_user_list tag_list command_list
Trong đó:
danh_sách_người_dùng
– danh sách người dùng hoặc một bí danh người dùng đã được thiết lập sẵn.
danh_sách_máy_chủ
– danh sách máy chủ hoặc bí danh máy chủ mà người dùng có thể chạy sudo.
danh_sách_người_dùng_có_hiệu_lực
– danh sách người dùng mà họ phải chạy với hoặc một bí danh chạy.
danh_sách_thẻ
– danh sách các thẻ như NOPASSWD.
danh_sách_lệnh
– danh sách các lệnh hoặc một bí danh lệnh được chạy bởi người sử dụng sử dụng sudo.
Để cho phép một người dùng (aaronkilik
trong ví dụ dưới đây) chạy tất cả các lệnh bằng cách sử dụng sudo mà không cần mật khẩu, mở tệp sudoers :
$ sudo visudo
Và thêm dòng sau:
aaronkilik ALL=(ALL) NOPASSWD: ALL
Trong trường hợp của nhóm, sử dụng ký tự %
trước tên nhóm như sau; điều này có nghĩa là tất cả các thành viên của nhóm sys
sẽ chạy tất cả các lệnh bằng sudo mà không cần mật khẩu.
%sys ALL=(ALL) NOPASSWD: ALL
Để cho phép một người dùng chạy lệnh cụ thể (/bin/kill
) bằng sudo mà không cần mật khẩu, thêm dòng sau:
aaronkilik ALL=(ALL) NOPASSWD: /bin/kill
Dòng dưới đây sẽ cho phép thành viên của nhóm sys
chạy các lệnh: /bin/kill, /bin/rm bằng sudo mà không cần mật khẩu:
%sys ALL=(ALL) NOPASSWD: /bin/kill, /bin/rm
Để biết thêm về cấu hình sudo và các tùy chọn sử dụng khác, hãy đọc các bài viết của chúng tôi mô tả thêm ví dụ:
Trong bài viết này, chúng tôi đã mô tả cách cấu hình lệnh sudo để chạy mà không cần nhập mật khẩu. Đừng quên gửi cho chúng tôi ý kiến của bạn về hướng dẫn này hoặc các cấu hình sudeors hữu ích khác cho quản trị viên hệ thống Linux trong phần bình luận.