Cho phép sudo không mật khẩu như một người dùng cụ thể


26

Tôi có hai người dùng trên hệ thống của mình: itsadokngười dùng chính của tôi và elasticsearchmột người dùng có một mối quan hệ khác nhau để chạy ElasticSearch.

Tôi muốn có thể chạy công cụ như người dùng thứ cấp mà không bị nhắc nhập mật khẩu mỗi lần.

Tôi đã thêm dòng sau vào /etc/sudoers:

itsadok ALL=(elasticsearch:elasticsearch) NOPASSWD: ALL

Theo cách tôi hiểu, điều này sẽ cho phép người dùng Itsadok, trên bất kỳ máy chủ nào, chạy bất kỳ lệnh nào khi (người dùng hoặc nhóm) elaticsearch mà không cần mật khẩu. Tuy nhiên, thử một cái gì đó như

itsadok@dev001$ sudo -u elasticsearch ls

nhắc tôi nhập mật khẩu. Khởi động lại máy không giúp được gì.

Tôi đang làm gì sai?

CẬP NHẬT :

Nó biến chúng ta rằng thứ tự của các dòng trong sudoerslà đáng kể. Tôi đã đặt dòng bên dưới "Đặc tả đặc quyền người dùng" nghe có vẻ đúng chỗ, nhưng dòng cho %adminnhóm đến sau đã ghi đè cài đặt.

Đặt cùng một dòng ở cuối tệp sudoers đã khắc phục sự cố.

Câu trả lời:


12

Câu trả lời sửa đổi từ các bình luận: Nếu bạn đặt các chỉ thị dưới đây #includedir, chúng sẽ bị bỏ qua. Di chuyển dòng bên cạnh định nghĩa sudohoặc adminnhóm hoặc đặt nó trong tệp riêng biệt trong /etc/sudoers.d/.


Không hoạt động. Ngoài ra, tệp đã root ALL=(ALL:ALL) ALLkhông có khoảng trắng xung quanh dấu hai chấm, vì vậy nó có vẻ không đúng. Để an toàn, tôi đã thử (elasticsearch). Không hoạt động.
itadok

Bạn đã đúng, nó hoạt động mà không có khoảng trắng trong 12.10. Ubuntu nào bạn đang sử dụng và chính xác nơi sudoersbạn đặt dòng này? Tôi có một hồi ức mờ nhạt rằng nếu trên các hệ thống cũ hơn bạn đặt dòng sau #includedir, nó sẽ bị bỏ qua. Nếu nó ở cuối tập tin, hãy thử chèn nó lên trên bao gồm.
Tuminoid

1
Nhận xét của bạn đặt tôi đi đúng hướng: thứ tự của các mục quan trọng. Cài đặt sau ghi đè cài đặt trước đó.
itadok

16

Thực hiện theo các bước sau:

  1. Chỉnh sửa tệp sudoers (điều này có thể có trong /etc/sudoers.d/file_name)
sudo visudo -f /etc/sudoers
  1. Thêm dòng ở cuối tập tin
usernameusedforlogin ALL=(ALL) NOPASSWD:ALL
  1. Lưu tập tin
esc :wq!

Điều này cho phép người dùng chạy tất cả các lệnh trên tất cả các máy chủ mà không cần mật khẩu như bất kỳ người dùng nào, nhưng nó không cấp bất kỳ đặc quyền nhóm nào, vốn là một phần của câu hỏi ban đầu. Nói chung, đây là lời khuyên tồi vì bạn đang cung cấp cho người dùng những đặc quyền rất rộng.
d4nyll
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.