Câu hỏi Tạo một cá thể Amazon EC2 yêu cầu mật khẩu sudoing


Tôi đã khởi chạy một phiên bản Amazon EC2 của Ubuntu Server 12.04 và tất cả đều tốt, ngoại trừ với Ubuntu cục bộ của tôi, cá thể EC2 không bao giờ yêu cầu bất kỳ mật khẩu nào khi tôi đang sudoing với dòng lệnh hoặc trở thành root. Tôi đã thử

passwd
# asks for a new password, I supply one
sudo -i
# always makes me root right away
passwd
# asks for a new password, I supply one
passwd ubuntu
# asks for a new password, I supply one

(ubuntu cho đến nay, sự kiện sau khi khởi động lại, tôi đã không nhận thấy bất kỳ sự khác biệt, nó vẫn không bao giờ yêu cầu bất kỳ mật khẩu.

Nó không phải là một biggie nhưng tôi đoán tôi đã chỉ được sử dụng như thế nào Ubuntu địa phương của tôi hoạt động.


4
2018-06-17 21:19


gốc




Các câu trả lời:


EC2 không có cách dễ dàng để cung cấp cho bạn mật khẩu an toàn cho ubuntu người dùng, do đó, mặc định là cho phép mật khẩu sudo sau khi bạn kết nối an toàn với khóa riêng ssh.

Nếu bạn thêm mật khẩu vào ubuntu người dùng, bạn có thể yêu cầu nó cho sudo bằng cách chỉnh sửa /etc/sudoers.d/90-cloud-init-users và thay đổi:

ubuntu ALL=(ALL) NOPASSWD:ALL

đến:

ubuntu ALL=(ALL) ALL

Lệnh này thực hiện chỉnh sửa cho bạn (giả sử một tệp sudoers mặc định, không bị ảnh hưởng):

sudo perl -pi -e 's%NOPASSWD:%%' /etc/sudoers.d/90-cloud-init-users

Để an toàn, hãy giữ một vỏ riêng biệt được đăng nhập dưới dạng gốc để bạn có thể sửa tệp và khôi phục nếu bạn chỉnh sửa nó không chính xác và ngắt sudo.

Thêm mật khẩu cho sudo tăng tính bảo mật tổng thể của hệ thống của bạn.

Bạn vẫn không được phép sử dụng mật khẩu cho đăng nhập ssh. Giữ giới hạn đó cho các khóa riêng tư ssh.


4
2018-06-17 22:03



Nếu bạn dùng sed bạn sẽ không phải cài đặt perl. Thử sudo sed -re 's/NOPASSWD://' -i.`date -Iseconds` /etc/sudoers.d/90-cloud-init-users (điều này cũng sẽ tạo một tệp sao lưu). - Simon Woodside