Tại sao Ubuntu có tài khoản root bị vô hiệu hóa?


57

Ubuntu vô hiệu hóa đăng nhập root vì "lý do bảo mật". Tuy nhiên, dường như nó không giúp ích gì cho an ninh cả.

Nếu kẻ xâm nhập quản lý để lấy mật khẩu đăng nhập của bạn cho Ubuntu, thì anh ta cũng có mật khẩu siêu người dùng, vì nó giống như mật khẩu đăng nhập.

Tuy nhiên, nếu mật khẩu gốc là bắt buộc, thì chỉ cần đăng nhập sẽ không giúp được kẻ xâm nhập nhiều - đúng không?

Về cơ bản, điều tôi muốn biết là: Tại sao Ubuntu lại chọn tắt mật khẩu gốc? Các lý do bảo mật là gì?

Vui lòng không trả lời theo những gì bạn "nghĩ" là lý do - tôi đang tìm câu trả lời từ các nguồn chính thức hoặc liên kết với họ.


6
Xem nếu Điều này giúp.
Mitch

5
Những lý do để sử dụng sudo, giống như lý do sudo được tạo ra ngay từ đầu.
Thorbjørn Ravn Andersen

2
Canonical cảm thấy đó là sự cân bằng gần nhất giữa khả năng sử dụng và bảo mật cho người dùng Windows và OSX không có nền tảng về quản trị hệ thống. Toàn bộ mục đích của việc phân phối máy tính để bàn là thu hút những người không muốn tìm hiểu về Linux, nhưng muốn có thể tìm thấy những thứ họ muốn chạy, nhấp vào chúng và chạy chúng. Khoảnh khắc người dùng "bình thường" tò mò về việc làm nhiều thứ hơn là chỉ web / mail / pr0n / game đột nhiên Ubuntu có thể là một cổng vào tất cả những thứ Unixy thú vị mà họ đã nghe nói (bao gồm cả "bật" root - nó luôn ở đó , thử sudo su).
zxq9

1
Nếu ai đó lấy tài khoản của bạn, họ có thể lấy mật khẩu gốc khi bạn nhập nó, nếu bạn đã từng sutừ tài khoản của mình đến root. Quan điểm của bạn về việc leo thang đặc quyền chỉ áp dụng nếu bạn đăng nhập bằng root trên một bảng điều khiển riêng và không bao giờ làm bất cứ điều gì với quyền root tin tưởng bất kỳ tệp nào mà tài khoản bình thường của bạn có quyền truy cập ghi. Như các câu trả lời hiện có, về các lý do chính là không khuyến khích người mới nghĩ về root như một tài khoản bạn nên đăng nhập và sử dụng.
Peter Cordes

Câu trả lời:


81

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 sudosẽ 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 ( sudolờ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 sudolệ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/somefileghi đè 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 ...


Thiếu một vài tính năng bảo mật từ các lợi ích : (i.) (Đối với GUI) Không ai có thể có được 'đặc quyền nâng cao' mà không cần truy cập cục bộ tương tác (gõ mật khẩu trên bàn phím); (ii.) 'Đặc quyền nâng cao' được cấp chỉ dành cho (các) lệnh sudo'd, không phải bất kỳ tác vụ / luồng nào cho người dùng (hoặc root).
david6

Điều này dường như bỏ qua các điểm nêu trong câu hỏi ban đầu và làm mờ nó với nhiều thông tin khác tại sao nó tốt?
paul23

6

Tôi tin rằng những gì được viết trên trang trợ giúp là đủ rõ ràng và đủ khách quan.

Ubuntu là "dành cho tất cả mọi người" và mặc dù nếu bạn đủ tốt, bạn không cần quyền truy cập root để làm hỏng máy tính của mình, đồng thời bạn không cần nó gần như (và bạn biết cách dễ dàng kích hoạt nó).
Vì vậy, vấn đề không nằm ở những người "đủ tốt", mà với mọi người khác, điều đó có thể đến với Linux từ một thế giới điện toán khác và tác động đầu tiên là với Ubuntu (và chúng ta rất nhiều).

Nếu bạn không phải là chuyên gia và không biết chính xác điều gì rootvà cách xử lý đúng cách, bạn không muốn cũng không cần phải bật nó (và rủi ro, ví dụ, để đăng nhập bằng hình ảnh với nó).
Sẽ tốt hơn nhiều nếu học cách làm mọi thứ một cách an toàn và sau đó chuyển sang con đường khó khăn và nguy hiểm hơn, bắt đầu trực tiếp với cách khó khăn và sau đó làm hỏng cài đặt / máy trạm của bạn, thất vọng và có thể không thể phục hồi hoàn toàn hoạt động hệ thống.
Nói chung, để phòng bệnh hơn chữa bệnh.

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.