Lo ngại về việc đăng nhập như root được đánh giá cao?


16

Đối với linux cá nhân trên máy tính xách tay cá nhân của tôi, tôi thường đặt môi trường của mình thành autologin là root ngay cả dưới X hoặc các đường dẫn thấp hơn. Tôi đã thấy quy trình làm việc của mình rất dễ chịu và nhanh chóng, không có bất kỳ nhu cầu rườm rà nào để gõ suhoặc sudohoặc được yêu cầu bằng cách bấm phím hoặc xác thực hoặc một cái gì đó.

Cho đến nay tôi chưa bao giờ có bất kỳ vấn đề nào với nó, vậy tại sao hầu hết mọi người đều phát cuồng về nó? Là mối quan tâm đánh giá quá cao? Tất nhiên, điều này giả định rằng người dùng biết họ đang làm gì và không thực sự quan tâm đến vấn đề bảo mật và độ tin cậy của hệ thống.


4
Tại sao chạy như root? nếu bạn thực sự không muốn gõ, sudotôi khuyên bạn nên chỉnh sửa /etc/sudoersvà thêm một số lệnh dưới dạng nopasswd (không phải tất cả trong số chúng) thì trong ~/.bashrctệp (hoặc tệp bí danh) của bạn hãy thêm aliases vào sudo command. Đây có lẽ vẫn không phải là một ý tưởng tốt nhưng nó sẽ hạn chế thiệt hại bạn có thể làm, hoặc đã gây ra cho bạn.
xenoterracide

11
Mức độ thù địch trong chủ đề này là một chút đáng lo ngại; đó là một câu hỏi chính đáng Đúng, chạy mọi lúc mọi nơi là một ý tưởng tồi, nhưng không cần phải lật tẩy về nó
Michael Mrozek

5
@Mrozek: Đồng ý. Bây giờ, tôi sẽ không bao giờ cung cấp mật khẩu gốc OP cho bất kỳ hệ thống nào mà tôi có quyền kiểm soát, nhưng việc xóa hệ thống của một người bằng cách nhập sai thứ có thể rất giáo dục. Có lẽ OP viết "Cho đến nay tôi chưa bao giờ có vấn đề gì với nó" sẽ học được điều gì đó hữu ích, như thực tế là mọi thứ có thể xảy ra lần đầu tiên.
David Thornley

2
Tôi nghĩ điều này tổng hợp tại sao không: unix.stackexchange.com/questions/502/ Khăn
Alex B

3
Tương tự xe hơi: Giống như lái xe không có dây an toàn. Có thể, nhưng có khả năng gây chết người.
đảo ngược

Câu trả lời:


33

Đối với cùng một lý do tại sao mỗi daemon nên có quyền tối thiểu. Apache có thể chạy bằng root. Nó được thiết kế để thực hiện một nhiệm vụ và chắc chắn không có gì xấu có thể xảy ra?

Nhưng giả sử apache không có lỗi. Lỗi được phát hiện theo thời gian. Đôi khi nó thậm chí có thể được thực thi mã tùy ý hoặc tương tự. Bây giờ với apache chạy bằng root, nó có thể truy cập mọi thứ - ví dụ: nó có thể tải rootkit vào kernel và ẩn chính nó.

Mặt khác, viết rootkit cấp người dùng là rất khó. Nó phải ghi đè các chương trình khác nhau (như ps) bên trong /home, điều này có thể làm tăng sự nghi ngờ do không gian đĩa thêm được sử dụng. Nó có thể không biết cấu hình chính xác và quên bao gồm ví dụ, gnome-system-monitordo đó phơi bày chính nó. Nó phải che bash, tcshvà bất kỳ shell nào bạn sử dụng (để tự khởi động). Nó sẽ phải làm việc với các cấu hình khác nhau thay vì "đơn giản" ghi đè một loạt các cuộc gọi lại.

Hãy xem xét rằng cách đây không lâu đã có sự thực thi mã tùy ý được phát hiện trong ... Adobe Reader.

Lý do khác là lỗi người dùng. Nó là tốt hơn để được cảnh báo trước khi xóa toàn bộ đĩa bằng một lệnh.

Lý do thứ ba là vỏ khác nhau. Root shell nên được cài đặt /trong trường hợp giải cứu hệ thống cần được thực hiện. Shell của người dùng có thể được cài đặt trên /usr(ví dụ người dùng có thể sử dụng zsh).

Lý do đáng tin cậy là các chương trình khác nhau không hoạt động như root. Họ đặc biệt biết rằng họ không được yêu cầu, vì vậy bạn sẽ cần phải vá hệ thống.

Lý do thứ năm là /rootkhông nên nằm trên một phân vùng riêng trong khi /homecó thể (và nên). Có /hometrợ giúp riêng vì nhiều lý do.

CSONG : TẠI SAO KHÔNG SỬ DỤNG NHƯ NGƯỜI DÙNG BÌNH THƯỜNG. Bạn thường không cần có quyền root hơn là làm. Đó là một chi phí rất ít cho an ninh.


3
Thực tế là, với quyền root, ddcó thể làm bất cứ điều gì với bất kỳ thiết bị chặn nào trong hệ thống, kết hợp với thực tế là root có thể thực hiện nhiều thao tác can thiệp, cố ý và vô ý, với các công cụ kernel và hệ thống trong / dev và / Proc nên đủ để thuyết phục bất cứ ai không chạy bằng root trừ khi cần thiết.
LawrenceC

29

Bạn cũng có thể đi xe máy trong hình khỏa thân, và không có gì có thể xảy ra. Nhưng tôi cá là bạn sẽ cảm thấy tốt hơn nếu bạn gặp phải tai nạn xe đạp ...


7
có lẽ, nhưng nghĩ về cảm giác bạn sẽ có thời gian còn lại!
Sirex

12

Ngoài điểm bảo mật rõ ràng, rõ ràng bạn chưa bao giờ làm hỏng hệ thống của mình bằng cách nhập sai lệnh trong trình bao hoặc lapsus. Nếu nó xảy ra, bạn sẽ hiểu lý do tại sao mọi người sợ hãi về nó. Và sau đó bạn sẽ khóc trong nỗi kinh hoàng, và cũng nhận ra rằng đó là một trải nghiệm mang tính giáo dục cao, nhưng dù sao bạn cũng không lấy lại được hệ thống của mình.

Một suy nghĩ: nếu bạn được yêu cầu nhập mật khẩu gốc trong quá trình sử dụng bình thường hệ thống của bạn (nghĩa là không cài đặt các gói hoặc một số tác vụ quản trị hệ thống khác), bạn đã làm sai .


+1 để nhắc nhở tôi về một vài kinh nghiệm cũ. Hay đó phải là -1 để đưa chúng trở lại?
David Thornley

5
Tôi chưa bao giờ hiểu tại sao mọi người tin rằng sử dụng sudo ngăn chặn các lệnh nhầm. Hệ thống cuối cùng tôi đã quay lại vài năm trước là một sudo rm -rf / dir / job.
Sirex

4

Không, nó không được đánh giá cao. Trong thực tế, nó được đánh giá thấp nhất. :-)

Ví dụ, nhóm nhỏ của tôi đang làm việc đang chia sẻ một máy RHEL cho công việc phát triển: xây dựng công cụ, thử nghiệm, v.v ... Mọi người đều sử dụng tài khoản người dùng cá nhân, nhưng chúng tôi cũng chia sẻ mật khẩu gốc vì mọi người thỉnh thoảng cần điều này cho các tác vụ sysadmin nhanh chóng. Điều này cũng dẫn đến việc chúng tôi quản lý để điều hành hệ điều hành một vài lần trong vòng đời ngắn ngủi của nó. Ai đó xây dựng một phiên bản libc nhất định đã loại bỏ libc hệ thống một cách ngớ ngẩnrmcầu khẩn. Trong một sự cố tò mò khác, bảng phân vùng bị mất tích. (Ok, điều này không liên quan gì đến các đặc quyền.) Phần còn lại của đội bị chặn cho đến khi sự cố được khắc phục. Một giải pháp là có ai đó tình nguyện nhận nhiệm vụ sysadmin. Đến thời điểm này, chúng tôi đã không quan tâm quá nhiều, ngoại trừ cho phép mọi người học bài học của họ: tất cả chúng ta đều cần một số dấu răng ở phía sau và đây là những dấu răng tương đối rẻ tiền.

Những người thực sự tò mò có thể muốn tuân theo nguyên tắc ít đặc quyền nhất và đọc bài viết của Ken Thompson, "Refl Refl On Trusting Trust". ("Đạo đức là hiển nhiên. Bạn không thể tin tưởng vào mã mà bạn không hoàn toàn tự tạo ra.")


3

Chọn một bình luận của bạn để trả lời khác

nhưng linux là về tự do, bao gồm tự do phá hủy dữ liệu, quyền riêng tư và bảo mật của riêng bạn

Ngay cả khi buộc mọi người thông qua sudo, Linux cung cấp sự tự do này. Toàn bộ lập luận bảo mật mà bạn muốn trốn tránh là để bảo vệ bạn khỏi những thứ không phải là bạn (đọc: chương trình độc hại hoặc chương trình do người độc hại kiểm soát).

Hãy nghĩ về nó như một dây an toàn. Mất một giây để sử dụng. Có thể cứu cuộc sống của bạn khỏi những kẻ ngốc khác ngoài kia (cũng như chính bạn).

Nếu bạn không muốn nhập mật khẩu của mình mọi lúc, sudoedit /etc/sudoersnhưng nếu bạn tiếp tục chạy bằng root, một ngày nào đó có lẽ bạn sẽ chạy thứ gì đó ngăn chặn hệ thống và tất cả dữ liệu của bạn.

Nếu bạn hài lòng khi biết rằng ngay cả thứ gì đó nhảm nhí như Flash có thể định dạng lại máy tính của bạn, thì không ai ở đây quan tâm bạn làm gì. Chạy như root.


2
Không chỉ các chương trình độc hại, các chương trình lỗi cũng vậy (ví dụ: có một lỗi trong hệ thống xây dựng kernel tại một thời điểm đã làm hỏng hệ thống của bạn nếu bạn đã biên dịch kernel của mình dưới quyền root)
Spudd86

2

Tại sao không chạy Damn Vulnerable Linux làm hệ thống chính của bạn trong khi bạn đang ở đó. Nếu bạn sẽ bỏ qua bảo mật hệ thống, bạn cũng có thể bỏ qua tất cả ...


Về mặt kỹ thuật, máy tính có root là người dùng chính có thể được bảo mật về mặt lý thuyết ...
Maciej Piechotka

3
@Maciej máy tính bảo mật duy nhất được rút phích cắm, được bọc trong bê tông dưới đáy hồ.
xenoterracide

Như Mitnick đã chỉ ra rằng ai đó có thể lấy nó ra bên ngoài hồ, phá vỡ bê tông và cắm điện (ồ. Anh ta chỉ nói rằng ai đó có thể cắm vào máy tính không được cắm bằng cách sử dụng công nghệ xã hội nhưng nguyên tắc là như vậy). Tôi đã cố gắng cẩn thận để sử dụng 'về mặt kỹ thuật' và 'về mặt lý thuyết' - còn khóa xấu thì tốt hơn là không khóa. Ví dụ: tôi coi hệ thống hiện tại của mình đủ an toàn mặc dù thiếu
Selinux

@Marciej bảo mật tốt là tất cả về phân tích chi phí / rủi ro. bạn không bao giờ đặt bảo mật nhiều hơn xung quanh một cái gì đó hơn là một cái gì đó có giá trị.
xenoterracide

1
@Marciej và nếu nó không có giá trị gì thì sẽ không có vấn đề gì trong việc đặt bảo mật cho nó, tại thời điểm đó không có lỗ hổng nào.
xenoterracide

1

Bạn đang nói về một hệ điều hành là nỗ lực hợp tác của vô số người. Nếu bạn không chạy được gì ngoài phần mềm ổn định, bạn có thể an toàn trong một thời gian.

Như đã đề cập trước đây, bạn sẽ ngạc nhiên khi một vật nhỏ có thể làm hỏng toàn bộ HD của bạn. Trong năm đầu tiên của tôi, tôi đã thử chạy trong root rất nhiều bởi vì, từ thời Fedora-core 3, không có nhiều cách để quản trị hệ thống của bạn từ người dùng.

Vào thời điểm đó, tôi đã thực hiện một chỉnh sửa xorg nhỏ mà không cần sao lưu, vì tôi không nghĩ nó sẽ bị tổn thương. Máy tính để bàn đi. Sau đó, tôi đã cố gắng sửa nó bằng tay, nhưng không thể tìm ra chính xác những gì tôi đã làm. Sau đó, tôi nghĩ rằng có lẽ tôi có thể cài đặt lại trình điều khiển và máy tính để bàn của mình, nhưng vô tình ngắt kết nối ethernet của tôi, vì đó cũng là nvidia.

Khi chạy Arch lần đầu tiên, tôi đã bỏ qua các cảnh báo để tạo người dùng và chạy với tư cách quản trị viên trong một thời gian. Tôi đã cài đặt một gói từ AUR mà tôi cần và sau khi tôi khởi động lại, toàn bộ cài đặt của tôi đã bị hỏng.

Vì tôi đã root, việc khắc phục những vấn đề này trở nên tồi tệ hơn nhiều so với mức cần thiết.

Bạn có thể kết luận tôi chỉ là bất tài. Nhưng như những người khác đã đề cập ... gõ "sudo" là một cái giá nhỏ để trả cho sự an tâm.

EDIT: Oh ... và một số chương trình nhất định, như RƯỢU, rõ ràng không được phép chạy trong môi trường gốc. http://wiki.winehq.org/FAQ#head-96bebfa287b4288974de0df23351f278b0d41014


1

Lý do an toàn - lỗ hổng daemon hoặc tập lệnh nhắm mục tiêu Linux sẽ có sức mạnh Sysadmin trên hệ thống của bạn.

Chạy như một người dùng đơn giản VÀ sử dụng sudo rất khác nhau về bảo mật. Firefox của tôi đang chạy với tư cách là người dùng của tôi, vì vậy mọi lỗ hổng Firefox sẽ chỉ ảnh hưởng đến tài khoản của tôi. Không có gì khác.


0

Tôi đồng ý với Maciej về mối quan tâm về bảo mật & kiểm soát một số quyền hạn nhất định. Ngoài ra, vì bạn là chủ sở hữu hệ thống của mình, bạn có thể tắt chức năng này nếu muốn;) đó là lựa chọn của bạn.


-4

Tôi không thể thấy bất kỳ vấn đề lớn nào khi đăng nhập bằng root cho một phiên bình thường, miễn là bạn không làm điều gì ngu ngốc.

Tôi không làm điều đó một cách cá nhân, bởi vì, thỉnh thoảng tôi làm điều gì đó ngớ ngẩn. Tôi chưa bao giờ nhận thấy rằng bất cứ điều gì ngu ngốc tôi đã làm có thể là một vấn đề lớn, nhưng tôi không đủ kiêu ngạo để nghĩ rằng tôi không bao giờ làm bất cứ điều gì thực sự ngu ngốc.


8
sử dụng trình duyệt web có phải là một điều gì đó ngu ngốc không?
xenoterracide

4
@xenoterracide: Nó cấu thành việc làm điều gì đó ngu ngốc nếu bạn đăng nhập bằng root, tôi nói.
David Thornley

2
@David Tôi biết điều đó;) đó là một điểm
xenoterracide
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.