Tại sao tôi phải sử dụng sudo cho hầu hết mọi thứ?


64

Nếu tôi hiểu triết lý Linux một cách chính xác, sudonên sử dụng một cách tiết kiệm và hầu hết các hoạt động nên được thực hiện như một người dùng có đặc quyền thấp. Nhưng điều đó dường như không có ý nghĩa gì, vì tôi luôn phải nhập liệu sudo, cho dù tôi đang quản lý các gói, chỉnh sửa tệp cấu hình, cài đặt chương trình từ nguồn hoặc những gì có bạn. Đây thậm chí không phải là công cụ kỹ thuật, chỉ là bất cứ điều gì một người dùng thông thường làm.

Nó nhắc tôi rất nhiều về UAC của Window, mọi người có thể vô hiệu hóa hoặc định cấu hình để không yêu cầu mật khẩu (chỉ cần một cú nhấp chuột). Hơn nữa, nhiều người dùng Windows cũng là tài khoản quản trị viên.

Ngoài ra, tôi đã thấy một số người hiển thị các lệnh yêu cầu sudođặc quyền mà không có sudo. Họ có cấu hình hệ thống của họ theo cách sudokhông bắt buộc không?


25
Bạn cần sử dụng sudođể làm bất cứ điều gì liên quan đến việc thay đổi hệ thống, nếu bạn chỉ hoạt động trên các tệp / máy tính để bàn của riêng mình, bạn sẽ không ảnh hưởng đến bất kỳ ai khác nên không cần đặc quyền nâng cao. Nếu bạn đang thực thi các lệnh đặc quyền mà không có sudo, có lẽ bạn đã là một siêu người dùng (nghĩa là root) và điều đó thường ít được khuyên dùng hơn là sử dụng sudo cho các tác vụ trên toàn hệ thống cụ thể
Eric Renouf

75
"cài đặt chương trình từ nguồn .. bất cứ điều gì người dùng thông thường làm" --- Tôi nghĩ bạn đã đánh giá quá cao các kỹ năng kỹ thuật của người dùng thông thường.
Jonathan Cast

7
Bạn đang sử dụng sudokhi bạn không nên? Lệnh của người dùng Unix bình thường nên bao gồm chủ yếu là cd, ls, file di chuyển, sao chép, xoá và chỉnh sửa họ có quyền truy cập vào. Nếu các lệnh thông thường của bạn không bao gồm điều này, có lẽ bạn không phải là người dùng Unix thông thường.
dùng530873

20
Mẹo nhỏ: Nếu bạn làm điều gì đó yêu cầu sudo nhưng quên đặt sudo trong lệnh của bạn, bạn có thể sử dụng sudo !!để chạy lại lệnh cuối cùng mà bạn đã nhập bằng sudo ở phía trước.
asfallows

6
Bạn không dành phần lớn thời gian của bạn để sử dụng phần mềm bạn đã cài đặt? Điều đó không liên quan đến sudo. Nếu không, tại sao bạn cài đặt nó?
Ngừng làm hại Monica

Câu trả lời:


75

Bạn đã đề cập đến các chức năng quản trị hệ thống

quản lý gói, chỉnh sửa tập tin cấu hình, cài đặt chương trình từ nguồn

như những thứ mà

bất cứ điều gì một người dùng thông thường làm

Trong một hệ thống nhiều người dùng thông thường, đây không phải là hành động của người dùng thông thường; một quản trị viên hệ thống sẽ lo lắng về điều này. Người dùng thông thường (không phải "dưới đặc quyền") sau đó có thể sử dụng hệ thống mà không phải lo lắng về bảo trì của nó.

Trên một hệ thống gia đình, vâng, cuối cùng bạn phải quản trị hệ thống cũng như sử dụng nó.

Có thực sự là một khó khăn như vậy để sử dụng sudo? Hãy nhớ rằng nếu đó chỉ là hệ thống của bạn thì không có lý do gì bạn không thể bật vào trình rootbao ( sudo -s- xem bài đăng này để biết tổng quan về các phương tiện lấy vỏ gốc) và / hoặc định cấu hình sudokhông nhắc mật khẩu.


47
không có lý do tại sao bạn không thể [...] cấu hình sudo không nhắc mật khẩu. Tôi không khuyến nghị rằng, nếu bạn khởi chạy một tập lệnh độc hại, nó sẽ có thể hoạt động như root trên hệ thống của bạn.
AL

5
Nếu việc nhập mật khẩu sudo làm phiền bạn đến mức về cơ bản bạn sẽ tự động điều khiển nhập mật khẩu thì điều đó cũng không giúp được gì. Bạn cần phải cân bằng sự tỉnh táo với an ninh. Tôi đã tự động điều khiển sudo đã xóa các phần lớn của HĐH ít nhất một lần.
Nelson

33
Cá nhân tôi thích sudo- nó giống như một cuộc kiểm tra sự tỉnh táo.
Max Williams

6
@MaxWilliams, vâng chính xác, đó là cái nắp nhựa nhỏ trong suốt trên cái nút lớn màu đỏ hỏi, uh, bạn có chắc bạn biết bạn đang làm gì không?
KlaymenDK

15
@AL: Nếu tôi sẽ chạy một tập lệnh không xác định, tốt hơn hết là không độc hại hoặc tôi bị lừa dù nó có chạy sudo hay không. Trên máy tính để bàn cá nhân của tôi, đó là dữ liệu (không phải root) của riêng tôi, điều đó không quan trọng, không phải là cấu hình (root) của máy.
jrw32982

31

Sudo / Root được sử dụng bất cứ khi nào bạn đang làm điều gì đó mà người dùng chuẩn không có khả năng thực hiện vì có nguy cơ làm hỏng / thay đổi cấu hình hệ thống theo cách mà Quản trị viên của hệ thống thường không cho phép.

cho dù tôi đang quản lý các gói, chỉnh sửa tệp cấu hình, cài đặt chương trình từ nguồn hoặc những gì có bạn.

Tất cả đều là các chức năng quản trị kỹ thuật và có thể làm hỏng nghiêm trọng hệ thống của bạn nếu có gì đó không đúng. Trong môi trường doanh nghiệp, với tư cách là một Sysadmin, chúng là những thứ tôi sẽ KHÔNG cho phép người dùng của mình làm mà không có kiến ​​thức rõ ràng, do đó sudo.

Ví dụ: nếu tệp gói / cấu hình có thể được sửa đổi mà không có đặc quyền nâng cao, thì nguồn bên ngoài sẽ cực kỳ đơn giản để thực thi mã từ xa có thể phá vỡ / thỏa hiệp hệ thống của bạn. Bằng cách buộc các hành động đó yêu cầu quyền truy cập root, nó buộc bạn là người dùng phải đưa ra quyết định về việc liệu những hành động đó có xảy ra hay không.

Nó rất giống UACvới các cửa sổ, nó thực sự là nơi các cửa sổ có ý tưởng UAC.

Báo giá bạn nhận được lần đầu tiên bạn sử dụng sudo rất phù hợp và rất quan trọng:

Chúng tôi tin rằng bạn đã nhận được bài giảng thông thường từ Quản trị viên Hệ thống địa phương. Nó thường sôi theo ba điều sau:

#1) Respect the privacy of others.
#2) Think before you type.
#3) With great power comes great responsibility.

Đặc biệt là # 2, Hãy suy nghĩ trước khi bạn gõ. Đó là một lý do quan trọng sudo tồn tại, khi bạn gõ một lệnh và nó khởi động lại "phải là root để thực hiện hành động này", nó buộc bạn phải dừng lại và NGHINK về những gì bạn đang làm.


19

Ngoài ra, tôi đã thấy một số người hiển thị các lệnh yêu cầu sudođặc quyền mà không có sudo. Họ có cấu hình hệ thống của họ theo cách sudokhông bắt buộc không?

Bạn phải thực thi các lệnh đó dưới dạng siêu người dùng, nhưng bạn không phải thực thi chúng bằng cách sử dụng sudo. Ví dụ, bạn có thể sử dụng suhoặc doas(thay thế OpenBSDs sudo) hoặc đơn giản là bạn có thể đăng nhập bằng root.

Vì vậy, nếu họ hiển thị các lệnh của họ ở đây mà không sudohơn họ cho rằng người đọc sẽ chỉ sử dụng cách yêu thích của mình để thực thi các lệnh đó như siêu người dùng.
Điều đó chắc chắn không có nghĩa là họ có thể thực thi các lệnh đó như một người dùng bình thường.


4
bạn cũng có thể sử dụng sudo -ihoặc tương tự để lấy shell gốc và sau đó bắt đầu chạy các lệnh gốc của mình mà không cần phải mở đầu cho mỗi lệnh trong số đósudo
cas

2
Thông thường các bước mà cần phải được chạy với quyền root được hiển thị với một ví dụ dấu nhắc root # vi /etc/hoststhay vì một dấu nhắc không có đặc quyền $ vi /etc/hosts(Bash sẽ làm theo quy ước nếu bạn sử dụng \$trong PS1)
Gert van den Berg

16

Một tính năng bảo mật được cung cấp sudolà bạn có thể có một hệ thống mà không cần rootmật khẩu , để rootngười dùng không thể đăng nhập trực tiếp. Điều này cung cấp sự bảo vệ bổ sung cho những người dùng chọn mật khẩu yếu - kẻ tấn công đang cố gắng ép buộc mật khẩu (thông qua SSH hoặc cách khác) sẽ phải tìm tên người dùng hợp lệ trước tiên.

Một khía cạnh khác là một quản lý đặc quyền chi tiết hơn. Hãy suy nghĩ về make; sudo make installviệc làm make; make installnhư root. Rất nhiều thứ có thể đi sai trong quá trình make. Một công cụ được cấu hình kém có thể cố gắng ghi đè lên một tệp hệ thống quan trọng, "dọn dẹp" /libthay vì thư mục hiện tại, tiêu thụ tất cả RAM có sẵn và treo hệ thống, v.v. make installlà một hành động đơn giản nhỏ với xác suất ít xảy ra lỗi nghiêm trọng hơn.


1
Và ngay cả khi mật khẩu gốc được định cấu hình, nó cho phép bạn cấp cho người dùng quyền truy cập vào các lệnh yêu cầu quyền riêng tư gốc mà không cung cấp cho họ mật khẩu gốc, điều đó có nghĩa là nếu đó là máy chủ của công ty và họ bị sa thải, bạn chỉ cần vô hiệu hóa người dùng của họ , mà không phải thay đổi mật khẩu root.
Gert van den Berg

13

Vấn đề là trong lịch sử, một hệ thống thực sự được chia sẻ bởi nhiều người dùng chỉ cần đăng nhập, thực hiện một số nội dung và sau đó đăng xuất. Do đó, sự khác biệt giữa quản trị viên và người dùng bình thường. Các hệ thống như vậy vẫn tồn tại trong các phòng thí nghiệm đại học và bạn có thể cảm nhận được sự khác biệt rõ rệt nếu bạn sử dụng các máy tính như vậy. Máy tính gia đình nơi bạn là người dùng duy nhất và cũng phải đóng vai trò là quản trị viên thực sự là một sự phát triển sau này.


6
"Vẫn tồn tại trong các phòng thí nghiệm đại học" ... vâng, và mọi tập đoàn công nghệ tập trung trên hành tinh, và hầu hết các công ty phi kỹ thuật cũng vậy. Tuy nhiên, +1 để đưa ra sự khác biệt chính xác rằng OP rõ ràng là thiếu và hầu hết những người trả lời khác không nhấn mạnh.
tự đại diện

@Wildcard Lol chắc chắn. Chỉ cần đưa ra ví dụ mà ngay lập tức nhảy ra trong đầu tôi, tôi đoán.
xji

10

Một máy tính là một công cụ. Hãy thử tương tự với một công cụ khác, giả sử một chiếc chảo rán. Đôi khi, bạn phải chăm sóc chảo rán của bạn. Ví dụ, bạn phải làm sạch nó bằng xà phòng rửa chén. Bạn có nói rằng xà phòng rửa chén là một thành phần bắt buộc của bất kỳ công thức nào bạn sử dụng chảo rán không? Bạn sẽ không bao giờ thấy "xà phòng rửa chén" được liệt kê như một thành phần trong sách nấu ăn. Nó là cần thiết, nhưng việc chuẩn bị công cụ là một vấn đề khác, vì vậy những cuốn sách nấu ăn không đề cập đến nó. Chảo rán phải được làm sạch, nhưng nó không phải là những gì nó được làm cho.

Máy tính của bạn cũng vậy. Nó phải được cấu hình và chăm sóc, nhưng nó không phải là thứ được tạo ra để làm gì. Bạn chăm sóc nó, bạn cấu hình nó, để nó có thể hoạt động đúng. Một khi điều này được thực hiện, bạn có thể sử dụng nó, không phải như một quản trị viên hệ thống, mà là một người dùng. Đó là những gì nó được tạo ra cho. Khi bạn là người dùng, bạn không cần sudo nữa. Chỉ cần sử dụng công cụ mà bạn đã chuẩn bị trước. Tất nhiên, theo thời gian, bạn sẽ cần sử dụng các đặc quyền gốc, giống như bạn phải làm sạch chảo chiên của mình thường xuyên như khi bạn sử dụng nó để nấu ăn.

Vì vậy, không phóng đại quá nhiều, chúng tôi có thể nói rằng bạn không bao giờ cần sudo (hoặc mật khẩu gốc) để sử dụng máy tính của bạn. Chỉ để chuẩn bị máy tính của bạn.


2
Sự tương tự tuyệt vời, nhưng đôi khi bạn cần xà phòng đó để lấy ra một số xác chết khó chịu từ chảo của bạn trước khi bạn chiên trứng chiên, tức là cả hai thứ kết nối khá dễ dàng. Với một máy tính mà bạn sở hữu, bạn có thể "rửa" / "chiên" nó gần như ngay lập tức sudohoặc bạn chỉ cần đi đầu bếp chính và làm một su.
Arm feet

Có vẻ như bạn cần truy cập root để nấu ăn, vì nó nguy hiểm hơn.
deltaray

6

Tôi cá là vì bạn sử dụng phần mềm GUI cho mọi thứ trừ các tác vụ quản trị hệ thống hoặc bạn đang nói về máy chủ Linux, trong trường hợp đó, hầu hết quyền truy cập sẽ là quản trị hệ thống. Do đó, nó có thể cảm thấy như làm bất cứ điều gì trong vỏ yêu cầu sudo.

Cũng có thể sử dụng vỏ cho các công việc hàng ngày của bạn. Quản lý tệp cá nhân của bạn trong ~, chỉnh sửa tệp, trò chuyện trên IRC, biên dịch mã, duyệt web, tất cả những thứ đó đều có thể thực hiện được. Tôi thậm chí sử dụng bcnhư là máy tính đi của tôi. Một số điều dễ thực hiện hơn thông qua GUI, một số điều dễ thực hiện hơn thông qua trình bao - ngay cả khi bạn thích sử dụng GUI, trình bao thường sẽ vượt trội trong các hoạt động hàng loạt và tự động hóa (nghĩ các kịch bản shell). Cá nhân tôi sử dụng cái nào là tốt nhất cho nhiệm vụ trong tay.

Trong một số trường hợp, bạn nên thiết lập hệ thống của mình để không cần sử dụng sudomọi lúc cho các hoạt động theo mặc định yêu cầu root nhưng không có khả năng gây ra sự cố. Một ví dụ là tôi làm việc với phần cứng liên quan đến việc sử dụng các cổng nối tiếp và tôi đã thiết lập các quy tắc udev để cấp quyền truy cập cho các thiết bị như người dùng thông thường của mình mà không cần phải root.

Tôi không nghĩ nên cấu hình sudođể không yêu cầu mật khẩu. Nó làm cho quá dễ dàng để làm rối tung toàn bộ hệ thống của bạn với một lệnh sai hoặc tập lệnh độc hại.

Nếu bạn cần thực hiện các tác vụ hoàn toàn yêu cầu root mọi lúc, tại sao không để một sudo -sshell root liên tục chạy trong cửa sổ terminal? Sau đó, nó sẽ có sẵn mà không cần phải nhập mật khẩu, và nó không dễ sử dụng như vậy. Tôi thậm chí đã thiết lập dấu nhắc shell của mình là màu đỏ tươi khi ở trong vỏ gốc.


5

[...] Nhưng điều đó dường như không có ý nghĩa gì, vì tôi luôn phải nhập sudo, cho dù tôi đang quản lý các gói, chỉnh sửa tệp cấu hình, cài đặt chương trình từ nguồn hoặc những gì có bạn. [...]

Tính từ ngụ ý liên quan đến tất cả những điều này là chúng là những thay đổi toàn hệ thống hoặc toàn cầu . Bạn phải xem nguồn gốc của Unix là một hệ thống nhiều người dùng 1 trong đó một số người dùng sẽ sử dụng cùng một cài đặt từ xa. Sẽ không có nghĩa khi một người dùng cư sĩ cho phép thay đổi cài đặt chung cho tất cả người dùng. Đó là sysadmin, gốc, đặc quyền và trách nhiệm.

Trong cài đặt nhiều người dùng, bạn có phần mềm được cài đặt sẵn và cấu hình toàn hệ thống của họ theo /usr/etctương ứng. Chạm vào các vị trí này sẽ yêu cầu quyền root. Nhưng vì phần mềm Unix được viết cho nhiều người dùng, bạn có thể biên dịch và cài đặt phần mềm trong $HOME thư mục 2 và có các tệp cấu hình của riêng bạn trong nhà, nơi bạn có thể chỉnh sửa các tệp một cách tự do mà không phải là siêu người dùng.

Ngoài việc cài đặt phần mềm của riêng bạn tại nhà, hầu hết các phần mềm trên toàn hệ thống sẽ đọc cấu hình dành riêng cho người dùng $HOMEngay sau khi họ đọc cấu hình lần đầu tiên /etc. Điều này cho phép bạn tùy chỉnh hầu hết mọi thứ mà không bao giờ đi root.

Với một PC tại nhà, trong một cài đặt người dùng chính duy nhất, bạn có thể sử dụng sudovà root theo cách của bạn đến những thứ bạn thích. Nhưng theo thông lệ, không được chạm vào cấu hình ứng dụng /etcmà thay vào đó luôn cung cấp cấu hình dành riêng cho người dùng tại nhà. Bằng cách đó, bạn có thể cho phép trình quản lý gói của mình đặt lại cấu hình toàn hệ thống khi nâng cấp. Cài đặt phần mềm mới trên toàn hệ thống khá ổn trong cài đặt người dùng đơn; gói distro không giả sử các lựa chọn thay thế để nó là một lối thoát dễ dàng.

Tôi sẽ để người quản lý gói của mình cài đặt công cụ trên toàn cầu nhưng mọi nội dung được tổng hợp từ nguồn và tự tạo mà tôi để lại $HOME. Và tôi không phải sudo cho bất kỳ điều đó.

Nếu bạn có tệp dữ liệu, lưu trữ bên ngoài $HOME, hãy thoải mái chownhoặc chgrpcác thư mục cho tên của bạn để bạn có thể truy cập các tệp mà không cần sudo.

[1] (hơi mỉa mai vì Unix có nghĩa là phiên bản 'một người dùng' của hệ điều hành Multics)

[2] (nếu hệ thống cho phép điều này bằng cách không gắn các phân vùng nhà như noexec)


2

Trong các loại hệ thống nhiều người dùng mà UNIX (và, theo dòng dõi, Linux) được thiết kế cho, đây không phải là những hành động thông thường của người dùng . Quản trị viên hệ thống có thể thực hiện chúng, nhưng không phải người dùng thông thường, và vì vậy hệ thống yêu cầu đảm bảo rằng sysadmin thực sự muốn làm điều này.

Nhưng ngay cả trong các hệ thống gia đình một người dùng, đây không phải là hành động của người dùng thông thường . Thông thường người ta có thể phải làm những việc này khi thiết lập hệ thống ban đầu, nhưng sau khi hoàn thành, một người dùng thông thường không cần phải thực hiện chúng thường xuyên . Hầu hết người dùng thông thường chỉ làm việc trên các tệp trong thư mục chính của họ (hoặc thư mục con của nó), sử dụng các chương trình / gói đã được cài đặt và bạn không cần sudođiều đó. Hoặc họ có thể làm việc trong một thư mục đặc biệt ở một nơi khác trên hệ thống đã được đặt sang một bên cho mục đích đó và bạn cần sudothiết lập nó, nhưng bạn thường chỉ cần thực hiện một lần.

Tại sao lại là vấn đề đó? Bởi vì "một người dùng" là một cách gọi sai: bạn không phải là người dùng duy nhất của máy, mặc dù bạn có thể là người dùng duy nhất của con người . Ngay cả trên bản cài đặt Linux tại nhà thông thường, nhiều chương trình được thiết lập để sử dụng máy theo nhiều cách khác nhau, thường mô phỏng một thứ mà con người có thể làm nếu họ có thời gian và chú ý đến dự phòng: sao lưu, cập nhật, quét phần mềm độc hại và như. Hầu hết thời gian, những sử dụng đó là hoàn toàn lành tính, nhưng ngay cả đối với một số trong số đó, vẫn phải thận trọng để đảm bảo rằng người dùng thực sự muốn làm điều này. Và khi những trường hợp đó phát sinh, đó là những gì sudodành cho. Máy tính chỉ đang kiểm tra để đảm bảo rằng đó thực sự là bạn, người muốn làm những gì ai đó (có thể là bạn, có thể là một chương trình) cho biết bạn đã làm. Và điều đó thậm chí không đi vào khả năng của phần mềm độc hại, mà bạn chắc chắn không muốn giả trang thành bạn.


1

Điều này có thể không phổ biến như được trình bày nhưng thường xảy ra khi một cái gì đó thông thường trong nội bộ đòi hỏi cuộc gọi hệ thống đặc quyền chung chung hơn nhiều để đạt được kết quả của nó, ví dụ:

  • Ngắt kết nối và mang đi một thanh USB. umountlà một mệnh lệnh nghiêm túc vì bạn có thể tháo gỡ rất nhiều thứ với nó.
  • Kết nối với mạng không dây cục bộ. Không có gì bất thường, nhưng cấu hình mạng ( ifup, v.v.) chỉ dành cho siêu người dùng.
  • Các ứng dụng tự cập nhật từ chối chạy nếu không được cập nhật. Cập nhật = cài đặt và điều này có thể cài đặt rất nhiều thứ, bao gồm cả những thứ bạn không muốn.

Các hệ thống thường phát triển để giảm số lượng các trường hợp như vậy. Hiện tại, USB có thể được người dùng gắn kết và các mạng có thể kết nối với người dùng. Nhưng không phải lúc nào cũng như thế này.


0

Giả định: đây là hệ thống và dữ liệu của bạn.

Bạn chỉ cần cân nhắc nguy cơ vô tình xóa dữ liệu hoặc gạch hệ điều hành của bạn so với việc dễ dàng thực hiện công việc mà không cần gõ sudomọi lúc.

Tôi thường xuyên đăng nhập và làm việc như root trên các máy chủ gia đình của mình vì tôi có thể nó dễ hơn.

Bạn sẽ được thông báo rằng bạn có thể phóng vũ khí hạt nhân nếu bạn không đi theo thánh địa sudonhưng thực tế là ngày nay mọi người có rootquyền hạn (*) trên nhiều thiết bị (TV, điện thoại, máy nướng bánh mì, Windows của bạn (như bạn đã đề cập)). Linux không khác ở đây, mặc dù nhiều người thích nghĩ khác.

BTW UACkhông được mô hình hóa theo sudovai trò người đàn ông của nó (bên cạnh việc làm cho cuộc sống của bạn trở nên khốn khổ) để đảm bảo rằng bạn sẽ thấy khi phần mềm độc hại muốn làm việc thay bạn.

(*) rootquyền hạn được định nghĩa là khả năng nuke dữ liệu quan trọng. Câu ngạn ngữ "với sức mạnh lớn đến những vấn đề lớn" (hoặc bất cứ điều gì đã được) áp dụng.

Nếu giả định của tôi là sai thì bạn vẫn cần phải cân nhắc rủi ro ở trên nhưng có nhiều biến số hơn (công việc của bạn, ảnh do người phối ngẫu của bạn chụp và lưu trữ trên cùng một máy tính xách tay, ...)


1
quyền hạn gốc không phải là khả năng để nuke dữ liệu quan trọng. Bạn luôn có thể rm -rf ~/không có bất kỳ quyền đặc biệt. Mặt khác, bạn không thể gạch điện thoại di động hoặc TV của mình mà không cần root máy trước.
Dmitry Grigoryev

Một thiết bị hữu ích như dữ liệu mà nó lưu trữ và các dịch vụ mà nó cung cấp. Phần cứng và hệ điều hành dưới đây chỉ là một mặt hàng. Vì vậy, sức mạnh là nơi bạn có thể tác động đến các dịch vụ hoặc dữ liệu. Trên TV, bạn có thể xóa tất cả các cài đặt của mình - TV không sử dụng được (trước khi khôi phục dữ liệu). Bạn có thể xóa tất cả dữ liệu của mình trên điện thoại di động, sau đó trở thành một phần cứng mà không cần sử dụng. Đây là những gì tôi có nghĩa là "sức mạnh gốc"
WoJ

1
Thật vậy, gọi đây là "sức mạnh gốc" là sử dụng sai. Từ "root" đã bị quá tải có nghĩa là ít nhất ba thứ khác nhau (người dùng root, thư mục / và thư mục / root) và thêm một thứ khác là không có ích. Trên một máy người dùng, mặc dù người dùng không có đặc quyền đã có thể xóa các tệp của riêng anh ta, anh ta không thể thực hiện một số tác vụ quản trị nhất định mà không sử dụng sudo vẫn bảo vệ anh ta khỏi những điều xấu khác nhau.
Monty Harder

1
Tương tự TV của bạn không phải là một tốt. Xóa các cài đặt trên TV của bạn cũng giống như xóa các tệp cấu hình người dùng của bạn trên Linux - làm như vậy thường chỉ khiến hệ thống hoạt động theo một số mặc định cho người dùng đó và thường không gây hại cho hệ thống. Root cho phép bạn tự sửa đổi hệ thống - trên TV, điều này giống như sửa đổi phần sụn, trong trường hợp đó bạn có thể phá vỡ khả năng hoạt động thực sự của nó.
JBentley

1
Đây là lý do tại sao có đánh giá rủi ro. Bạn đánh giá các rủi ro khi làm một cái gì đó (có ưu và nhược điểm của nó) và chấp nhận, giảm thiểu hoặc bảo hiểm. Việc khôi phục có thể đơn giản (docker, ảnh chụp nhanh VM) hoặc khó khăn (cài đặt mẫu đầu) - đó là vấn đề lập kế hoạch và, một lần nữa, đánh giá. Nhưng như bạn đã đề cập, tôi không hiểu quyền truy cập root có nghĩa là gì.
WoJ

0

Để bảo vệ người đã viết câu hỏi ban đầu, tôi đã có câu hỏi tương tự trong nhiều năm qua, nhưng tôi đã thực hiện một cách tiếp cận khác.

Hầu hết các câu trả lời ở đây chỉ có thể được phát trên một vòng lặp, bởi vì tất cả chúng đều nhấn mạnh cùng một điểm về sudo và root. Hãy để tôi thêm một góc nhìn khác cho chủ đề này:

Cách tôi học Unix VÀ Linux từ trong ra ngoài là sử dụng một trong những máy tính của tôi như một "con chuột lang". Tôi sẽ cài đặt SCO Linux, và cuối cùng là Solaris và sau đó là Linux, trong khi vẫn vui vẻ thử nghiệm với quyền root để tôi có thể đọc và / hoặc khám phá hệ thống phân cấp thư mục và tất cả các tệp có quyền truy cập không hạn chế, cũng tạo tài khoản "người dùng bình thường" tại nhà của tôi hộp nhiều người dùng, mặc dù tôi là người dùng duy nhất. Và tôi rất vui vì tôi đã làm theo cách đó. Tôi đã học được rất nhiều về "Triết lý Unix" và cách Unix dự định sẽ được sử dụng trong thử nghiệm của tôi.

Tôi đã có một sự học hỏi lớn về bảo mật và cũng chạy các lệnh nguy hiểm bằng cách gõ rm -rf / * trong một thiết bị đầu cuối với quyền root. (ĐỪNG LÀM ĐIỀU NÀY! NÓ S HOSE KHAI THÁC HỆ THỐNG CỦA BẠN !!) Tôi đã làm những việc như thế này và nhiều lệnh khác, chỉ để xem điều gì sẽ xảy ra trong thời gian thực. Tôi đã làm những điều này khi biết hậu quả trước khi ra tay, nhưng tôi vẫn học được rất nhiều bằng cách làm như vậy. Tôi đã sử dụng SCO Unix LONG trước khi web tồn tại (vâng, tôi đã cũ rồi!) Và thử nghiệm theo cách này là vô giá đối với việc học của tôi.

Vì vậy, những gì tôi đang nói là nếu bạn không thực hiện cài đặt lại khi có sự cố, sử dụng su hoặc đăng nhập như root tất cả những gì bạn muốn và cấu hình / hack đi! Bạn sẽ học được một địa ngục rất nhiều bằng cách làm như vậy.

Chỉ cần nhớ rằng lời khuyên đã được lặp đi lặp lại rất nhiều ở đây đã được nhắc lại vì một lý do chính đáng: Các giao thức thực hành tốt nhất đã phát triển qua nhiều thập kỷ khi compsec đã phát triển và bạn NÊN chú ý đến chúng, ngay cả khi là người dùng tại nhà / một người dùng trong hệ thống của bạn . Bằng cách làm như vậy, vệ sinh / thói quen sysadmin tốt sẽ trở thành bản chất thứ hai cho bạn.

Chỉ cần một số thực phẩm cho suy nghĩ về chủ đề của su và sudo. Chúc mừng hack!

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.