Mitch đã đăng một liên kết tốt trong bình luận: Tại sao việc đăng nhập với quyền root lại không tốt? và trang Debian có những lợi ích chính được liệt kê trong wiki của họ :
Tại sao sudo
?
Sử dụng sudo
sẽ tốt hơn (an toàn hơn) so với mở phiên làm root vì một số lý do, bao gồm:
Không ai cần biết mật khẩu gốc ( sudo
lời nhắc cho mật khẩu người dùng hiện tại). Các đặc quyền bổ sung có thể được cấp tạm thời cho người dùng cá nhân và sau đó bị lấy đi mà không cần thay đổi mật khẩu.
Thật dễ dàng để chỉ chạy các lệnh yêu cầu đặc quyền thông qua sudo
; thời gian còn lại, bạn làm việc như một người dùng không có đặc quyền, điều này làm giảm thiệt hại mà những sai lầm có thể gây ra.
Kiểm tra / ghi nhật ký: khi một sudo
lệnh được thực thi, tên người dùng ban đầu và lệnh được ghi lại.
Vì những lý do trên, việc chuyển sang root bằng cách sử dụng sudo -i
(hoặc sudo su
) thường không được chấp nhận vì nó hủy bỏ các tính năng trên.
Về Ubuntu Những lợi ích và bất lợi được liệt kê trên wiki của chúng tôi :
Lợi ích của việc sử dụng sudo
Có một số lợi ích cho Ubuntu khi đăng nhập gốc bị tắt theo mặc định, bao gồm:
Trình cài đặt có ít câu hỏi hơn để hỏi. Người dùng không phải nhớ mật khẩu bổ sung để sử dụng không thường xuyên (ví dụ mật khẩu gốc). Nếu họ làm như vậy, họ sẽ có khả năng quên nó (hoặc ghi lại nó một cách không an toàn, cho phép bất cứ ai dễ dàng xâm nhập vào hệ thống của họ).
Nó tránh đăng nhập tương tác "Tôi có thể làm bất cứ điều gì" theo mặc định. Bạn sẽ được nhắc nhập mật khẩu trước khi những thay đổi lớn có thể xảy ra, điều này sẽ khiến bạn suy nghĩ về hậu quả của việc bạn đang làm.
sudo thêm một mục nhật ký của lệnh (s) run (in /var/log/auth.log
). Nếu bạn làm hỏng, bạn có thể quay lại và xem những lệnh nào đã được chạy.
Trên một máy chủ, mọi cracker đang cố gắng thực hiện theo cách của họ sẽ biết nó có một tài khoản có tên là root và sẽ thử nó trước. Những gì họ không biết là tên người dùng của những người dùng khác của bạn là gì. Vì mật khẩu tài khoản root bị khóa, cuộc tấn công này về cơ bản trở nên vô nghĩa, vì không có mật khẩu để bẻ khóa hoặc đoán ở nơi đầu tiên.
- Cho phép dễ dàng chuyển quyền quản trị bằng cách thêm và xóa người dùng khỏi nhóm. Khi bạn sử dụng một mật khẩu gốc, cách duy nhất để ủy quyền lại cho người dùng là thay đổi mật khẩu gốc.
sudo có thể được thiết lập với một chính sách bảo mật chi tiết hơn nhiều. Mật khẩu tài khoản gốc không cần phải chia sẻ với mọi người cần thực hiện một số loại tác vụ quản trị trên hệ thống (xem dấu đầu dòng trước).
Xác thực sẽ tự động hết hạn sau một thời gian ngắn (có thể được đặt thành ít như mong muốn hoặc 0); Vì vậy, nếu bạn rời khỏi thiết bị đầu cuối sau khi chạy các lệnh với quyền root bằng sudo, bạn sẽ không để thiết bị đầu cuối gốc mở vô thời hạn.
Nhược điểm của việc sử dụng sudo
Mặc dù đối với máy tính để bàn, những lợi ích của việc sử dụng sudo là rất lớn, có những vấn đề có thể cần lưu ý:
Chuyển hướng đầu ra của các lệnh chạy với sudo đòi hỏi một cách tiếp cận khác. Ví dụ, xem xét sudo ls > /root/somefile
sẽ không hoạt động vì nó là vỏ cố gắng ghi vào tệp đó. Bạn có thể sử dụng ls | sudo tee -a /root/somefile
để chắp thêm hoặc ls | sudo
tee /root/somefile
ghi đè lên nội dung. Bạn cũng có thể chuyển toàn bộ lệnh cho một tiến trình shell chạy theo sudo để có tệp được ghi với quyền gốc, chẳng hạn như sudo sh -c "ls >
/root/somefile"
.
Trong nhiều môi trường văn phòng, người dùng cục bộ CHỈ trên một hệ thống là root. Tất cả người dùng khác được nhập bằng các kỹ thuật NSS như nss-ldap. Để thiết lập một máy trạm hoặc sửa chữa nó, trong trường hợp lỗi mạng trong đó nss-ldap bị hỏng, cần phải root. Điều này có xu hướng làm cho hệ thống không thể sử dụng trừ khi bị nứt. Một người dùng cục bộ bổ sung hoặc mật khẩu gốc được kích hoạt là cần thiết ở đây. Tài khoản người dùng cục bộ nên có $ HOME trên đĩa cục bộ, khôngtrên NFS (hoặc bất kỳ hệ thống tệp được nối mạng nào khác) và .profile / .bashrc không tham chiếu bất kỳ tệp nào trên NFS mount. Đây thường là trường hợp cho root, nhưng nếu thêm tài khoản cứu hộ không root, bạn sẽ phải thực hiện các biện pháp phòng ngừa này bằng tay. Tuy nhiên, lợi thế của việc sử dụng người dùng cục bộ với sudo là các lệnh có thể dễ dàng được theo dõi, như đã đề cập trong các lợi ích ở trên.
Và chúng tôi luôn có nó (từ bản phát hành đầu tiên).
Tài liệu tham khảo cũ nhất tôi tìm thấy nói về 4.10 có "sudo"
SHUNTLEWORTH RA MẮT UBUNTU LINUX
... Ubuntu Linux dựa trên Debian bao gồm Gnome 2.8, kernel 2.6.8.1, OpenOffice.org 1.1.2 và đi kèm với quy trình cài đặt dựa trên văn bản nhưng dễ dàng. Ubuntu đã vô hiệu hóa người dùng root thích sử dụng sudo giống như Mac OSX ...