Có phải là 'OK' để sử dụng người dùng root như một người dùng bình thường?


94

Tôi đã kích hoạt người dùng root trên máy Mac của mình để tôi có thể đăng nhập vào nó và chạy Finder, v.v. Là người lười biếng, tôi chỉ cần chuyển mọi thứ từ thư mục chính của mình sang /var/root. Tôi không chắc chắn làm điều này, vì vậy tôi có thể di chuyển mọi thứ trở lại. Có phải về mặt kỹ thuật là 'OK' khi sử dụng nó như một người dùng bình thường? (Tôi là người duy nhất có thể truy cập vào máy tính của mình.)


6
Câu hỏi hay với "el Capitan" không cần root.
CousinCocaine

4
Cụ thể là gì (truy cập máy tính của tôi) có nghĩa là gì. Bạn có khả năng kết nối với Internet. Bạn không chỉ định phần mềm nào bạn cấp quyền truy cập vào máy tính. "OK" trông như thế nào với bạn? Kudos để có được một số câu trả lời chung tuyệt vời. Có lẽ tốt hơn để hỏi câu hỏi chi tiết hơn (nếu có) như một câu hỏi tiếp theo.
bmike

6
Bạn có thể sử dụng tài khoản root như người dùng bình thường với điều kiện bạn biết câu trả lời cho câu hỏi "Có ổn không khi sử dụng người dùng root như một người dùng bình thường?". Một khi bạn biết câu trả lời, bạn sẽ không. ;-)
Dakshinamurthy Karra

Bạn có thể muốn thêm sự khác biệt giữa root, admin và người dùng bình thường. Tôi tin rằng admin là mặc định.
Steve Moser

6
"Tôi là người duy nhất có thể truy cập vào máy tính của tôi" <- Lol
Tim

Câu trả lời:


352

Sử dụng máy tính của bạn đăng nhập mọi lúc mọi nơi giống như luôn mang theo tất cả chìa khóa, hộ chiếu của bạn, 5.000 đô la tiền mặt, mảnh giấy đó với tất cả mật khẩu của bạn được viết trên đó và bức ảnh duy nhất bạn có về Flopsy, chú thỏ đáng yêu có cái chết đã phá vỡ trái tim bảy tuổi của bạn. Oh, và một cái cưa.

Có thể nói, đôi khi nó rất tiện lợi, bởi vì điều đó có nghĩa là bạn có thể làm bất cứ điều gì bạn muốn, bất cứ khi nào bạn muốn, mà không cần phải trở về nhà để lấy đồ hoặc nói chuyện với người quản lý ngân hàng của bạn. Nhưng điều đó cũng khiến bạn có nguy cơ mất đồ rất lớn, bị mất cắp (đừng nghĩ rằng cưa máy sẽ giúp bạn: bạn sẽ đi đường trước khi bạn nhận thấy ví của mình biến mất), làm những việc bạn thực sự hối hận sau này (mua thôi thúc Vé máy bay tới Vegas trong khi say rượu), dùng các phím tắt nguy hiểm (cưa máy qua hàng rào bao vây sư tử vì đó là cách nhanh nhất để gấu trúc) và phản ứng quá mức (cưa xích xe của bạn hàng xóm vì con chó của anh ta sủa quá nhiều). Và, khi bạn nghĩ về nó, hầu hết, bạn chỉ đi đến văn phòng, đi mua sắm hàng hóa, đi chơi với bạn bè. Bạn không' Bạn cần tất cả những thứ đó với bạn mọi lúc chỉ để thuận tiện cho việc cần nó, cái gì?, mỗi tháng một lần? Mỗi tuần một lần?

Vì vậy, không, không ổn khi sử dụng tài khoản root mọi lúc. Nó mang lại cho bạn một lượng nhỏ tiện lợi nhưng lại khiến bạn gặp nhiều nguy hiểm. Có nguy cơ sai lầm ngu ngốc khi có kết quả thảm khốc ("Này, tại sao rm -rf *phải mất quá nhiều thời gian để chạy? **** Tôi đang ở trong /!"). Có nguy cơ làm bạn thích nghi với ý tưởng rằng tất cả các tệp đều bằng nhau và bạn có thể chỉ loay hoay với bất cứ điều gì bạn muốn, bất cứ nơi nào trong cây thư mục. Có một mối nguy hiểm là bất kỳ hack nào vào tài khoản của bạn ngay lập tức là hack toàn bộ hệ thống, vì vậy giờ đây mọi phần mềm trên máy của bạn đều rất quan trọng về bảo mật. Và ngay cả khi bạn nghĩ rằng bạn không quan tâm đến việc máy của mình bị hack (rốt cuộc, bức ảnh đó của Flopsy là một mảnh giấy bóng thực sự, không phải là một JPEG JPEG phù du), tôi quan tâm đến việc máy của bạn bị hack vì sau đó, trên mạng botnet đang tiến hành cuộc tấn công DDOS chống lại bất kỳ dịch vụ internet nào tôi không thể truy cập ngày hôm nay.

Root là trang phục người nhện của bạn. Nó cung cấp cho bạn sức mạnh lớn nhưng đòi hỏi trách nhiệm lớn. Nó ở trong tủ bất cứ khi nào bạn cần, vì vậy bạn không cần phải mặc nó mọi lúc.


54
Đây không chỉ là một tác phẩm giải trí và được viết tốt, nó còn nói lên sự thật và rất xứng đáng với câu trả lời được chấp nhận
wrossmck

17
Tôi tiếp tục trở lại này. Đây là lời khuyên chân thành với lượng hài hước lớn nhất mà bạn có thể đưa vào một cái gì đó mà vẫn nghiêm túc.
智障 的

19
@ 9000 Đó không phải là trường hợp kể từ ít nhất XP.
David Richerby

28
cái chết của flopsy và cưa máy có liên quan?
Sirex

29
"Root là trang phục người nhện của bạn". Tôi đang sắp chết ở đây.
GeminiDomino

23

Bạn có thể, nhưng đó là một rủi ro an ninh và ổn định lớn. Làm như vậy cho phép mọi ứng dụng truy cập đầy đủ vào máy tính của bạn. Bạn không thể biết họ đang làm gì với quyền truy cập đó. Nó không cần thiết, và thực sự không an toàn.

Để biết thêm thông tin cơ bản về điều này, xem


Tôi đã xóa các nhận xét vì chúng không thực sự thêm vào câu trả lời, bạn có thể tiếp tục thảo luận trong trò chuyện không?
nohillside

Cảm ơn các chỉnh sửa. Hy vọng rằng điều này sửa chữa một số nhầm lẫn liên quan đến bài viết của tôi.
William T Froggard

17

Thành thật mà nói, tôi đồng ý rằng có rất nhiều rủi ro liên quan đến việc sử dụng rootngười dùng làm mặc định. Nhưng hãy để tôi chạy qua chúng và chỉ trích một số tranh luận một chút

  • Bảo vệ chống lại các ứng dụng : Trên thực tế, hệ thống cấp phép của * nix không đủ mạnh (cho đến nay) để cho phép chạy các chương trình tùy ý. Một chương trình độc hại trên * nix có thể thực hiện đủ các nội dung xấu (như đánh cắp thông tin ngân hàng của bạn) mà không cần quyền root. Không phải rootứng dụng sẽ khó hơn một ứng dụng so với rootứng dụng (ví dụ: thay vì trực tiếp cài đặt chứng chỉ gốc và chặn kết nối với ngân hàng, bạn sẽ cần phải loay hoay với trình duyệt, nhưng này, điều đó thực sự hoàn toàn khả thi và bạn có thể phải làm điều đó bằng mọi cách để đảm bảo người dùng không nhận thấy bất cứ điều gì)
  • Bảo vệ chống lại lỗi của người dùng (như chạy sai lệnh và xóa tất cả các tệp hệ thống) : Hoàn toàn đúng, nhưng ngay cả khi rootngười dùng không lưu hệ thống, tất cả các tệp quan trọng thường sẽ bị mất (vì các tệp do người dùng sở hữu nhiều hơn có khả năng là duy nhất).
  • Bảo vệ chống lại các lỗi có thể khai thác trong các ứng dụng bạn chạy: Bây giờ điều này giống như nó hơn. Ví dụ: khi bạn chạy một máy chủ web nơi có rất nhiều ứng dụng được mở ra bên ngoài và do đó, mọi lỗi có thể khai thác sẽ dễ dàng tiếp cận. Điều tương tự vẫn áp dụng tất nhiên ngay cả khi bạn đang ngồi sau một bộ định tuyến và tường lửa, mặc dù mức độ nguy hiểm là ít quan trọng hơn nhiều. Tuy nhiên, một lần nữa câu hỏi trở thành bao nhiêu hệ thống cấp phép sẽ thực sự bảo vệ trên một hệ thống riêng. Không có rootquyền, tất cả các tệp riêng tư vẫn có thể được truy cập và chặn dữ liệu mạng cũng có thể ... hai điều quan trọng nhất bạn có thể muốn làm kẻ tấn công hệ thống riêng.
    • . một bộ ngắt thỏa thuận.)

Dù bằng cách nào, tất cả đều coi tôi không nghĩ đó là một ý tưởng khủng khiếp như một số người khác tuyên bố. Nhắc bạn, tôi cũng không nói đó là một ý tưởng hay, nhưng tôi nghĩ rằng mọi người đánh giá quá cao sự hữu ích của mô hình cấp phép hệ thống tệp * nix trong việc bảo vệ bạn. Có, nó cực kỳ hữu ích cho một số thứ nhất định (ví dụ: nhiều hệ thống người dùng, máy chủ đa ứng dụng phức tạp, giữ cho hệ thống hoạt động bất kể điều gì xảy ra (đang chạy, nhưng không cần thiết có thể sử dụng được), khóa các tệp quan trọng (mặc dù bạn nên mã hóa chúng ...), v.v.), nhưng đó không phải là một sự bảo vệ kỳ diệu ngăn chặn những điều xấu xảy ra.

Trong các bình luận tôi đã đưa ra một sự tương tự có vẻ khá đầy đủ trong việc mô tả tình huống. Trong tiếng Hà Lan, chúng tôi có một từ cho tủ quần áo nhỏ nơi bạn có thể tìm thấy tất cả các đồng hồ đo và chuyển đổi cho nguồn cung cấp nước chính, v.v. Chạy như roottài khoản người dùng giống như tháo khóa tủ nhỏ đó. Sự thật trớ trêu: Hầu hết mọi người không có khóa ở nơi đầu tiên. Bây giờ, giống như vớirootNgười dùng không nói rằng không hữu ích khi khóa nó trong một số trường hợp nhất định, ví dụ như trong văn phòng hoặc các tòa nhà bán công khác, nó thường bị khóa, nhưng trong các ngôi nhà bình thường, việc khóa mạnh ở cửa trước là điều quan trọng hơn nhiều ( không cài đặt những thứ ngẫu nhiên, tường lửa, v.v.) và đặt tất cả những thứ quan trọng của bạn an toàn (tạo bản sao lưu, mã hóa, v.v.). Sẽ có một khóa thêm trên tủ quần áo đó bị tổn thương? Không, vì vậy nó có thể là một ý tưởng tốt để có nó trong trường hợp chỉ trong trường hợp, nhưng trong tất cả khả năng nó sẽ khá vô dụng.

Chạy với tư cách là rootngười dùng không có gì giống như lấy tất cả các ổ khóa trong nhà của bạn và mang theo tất cả mọi thứ trong két an toàn với bạn mọi lúc như David Richerby tuyên bố. Hộ chiếu (danh tính) của bạn không được bảo vệ bởi hệ thống tệp * nix, tiền của bạn (tài khoản ngân hàng) không được bảo vệ bởi hệ thống tệp * nix, mật khẩu quan trọng của bạn có thể không được bảo vệ bởi hệ thống tệp * nix (nếu bạn đang sử dụng Safari tuy nhiên họ thực sự có thể được bảo vệ một phần bởi mô hình cấp phép hệ thống tệp * nix, nhưng không córoot bạn vẫn có thể thêm tiện ích mở rộng vô hình vào Safari và tiếp theo chỉ cần chặn mật khẩu vào lần sử dụng tiếp theo), ảnh của bạn chắc chắn không được bảo vệ bởi hệ thống tệp * nix và nếu bạn đang sử dụng thiết bị đầu cuối bạn đang mang cưa máy xung quanh bạn (mỗi điểm 2 ở trên).


2
Nếu bạn downvote một câu trả lời, xin vui lòng chỉ ra những gì sẽ không chính xác trong phân tích của tôi. Tôi hoàn toàn nhận thức được rằng câu trả lời của tôi hơi không chính thống, nhưng tôi hy vọng CNTT sẽ đủ tiến bộ để câu trả lời sẽ được đánh giá bởi nội dung của chúng, và chúng không phù hợp với những giáo điều truyền thống.
David Mulder

3
Điều này xứng đáng nhiều phiếu bầu hơn. Điều duy nhất tôi thực sự quan tâm trên máy tính của mình là các tệp thuộc sở hữu của người dùng (không phải root) của tôi. Chúng đại diện cho hình ảnh của tôi, âm nhạc của tôi, video của con gái tôi .. phần còn lại có thể được cài đặt lại một cách dễ dàng!
Isak Savo

6
Logic này về cơ bản giống như nói bởi vì người mở cửa nhà để xe từ xa là nước sốt khá yếu, nó thực sự sẽ không phải là vấn đề lớn nếu không ai đóng cửa nhà để xe của họ. Tiền đề là đúng nhưng lời khuyên là không có thật. Bảo mật hiệu quả được tạo thành từ rất nhiều mảnh nhỏ làm việc cùng nhau. Giống như mọi người trong một khu phố giữ nhà để xe đóng cửa. Nó làm cho khu phố an toàn hơn cho mọi người.
Caleb

2
@Caleb Có một sự khác biệt rất lớn giữa việc sở hữu một ngôi nhà trong khu phố và mời bất kỳ ai vào. Và vào thời điểm ai đó vào nhà bạn, có rất ít để ngăn chặn anh ta trên các hệ thống * nix tiêu chuẩn. Đó là những gì tôi mô tả trong câu trả lời này: Một khi ai đó xâm nhập vào hệ thống của bạn, các quyền hệ thống tệp * nix sẽ không giúp ích gì, vì chúng không bảo vệ những thứ bạn cho là quan trọng trên hệ thống riêng. Điều duy nhất đó là (tiếp)
David Mulder

3
Không có root không ngăn chặn nó, chắc chắn. Nhưng đó là một tuyên bố khác biệt tinh tế; giống như cách tôi nói "tấn công" chứ không phải "thỏa hiệp". Bạn có thể làm nhiều hơn nữa trên mạng với root. Nếu máy zombie của bạn đang tham gia vào một lũ ICMP đơn giản, ví dụ đơn giản, bạn cần có quyền truy cập ổ cắm thô để tạo lưu lượng ICMP đó (đó là lý do ping là root gốc). Tương tự như vậy đối với một số sửa đổi gói độc hại hữu ích khác.
dannysauer

14

Trở lại khoảng năm 1990, tôi đang thực hiện một dự án với một anh chàng tên Tom. Chúng tôi đã sử dụng máy chủ SUN chạy SunOS (một công cụ phái sinh Unix, tiền thân của Solaris). Điều này đã trở lại vào thời trước khi ổ đĩa CD và ổ đĩa flash, vì vậy nếu bạn làm hỏng hệ điều hành trên ổ cứng thì không có cách nào để phục hồi.

Tom thường đăng nhập thường xuyên với quyền root. Tôi nói với anh ấy rằng đó là một ý tưởng tồi, nhưng anh ấy đã không lắng nghe. Một ngày nọ tôi nghe anh ấy nói "Uh-oh". Anh ta có ý định gõ sao chổi như thế này:

mv something* .

Thật không may, anh ta đã để lại dấu chấm cuối cùng, vì vậy shell đã mở rộng tất cả các tên tệp và thư mục phù hợp với mẫu này. Sau đó, lệnh mv đã sử dụng bất cứ thứ gì kết thúc như là tên cuối cùng trong danh sách làm thư mục đích và chuyển mọi thứ khác vào đó. Thật không may, anh ta hiện đang ở thư mục gốc, vì vậy về cơ bản toàn bộ hệ thống tệp đã được chuyển vào một trong các thư mục con của nó.

Tôi đã sử dụng mũi tên lên để mang lại lệnh trước đó và xem những gì đã xảy ra. Điều đầu tiên tôi nói là "Đừng đăng xuất! Hoặc bạn sẽ không bao giờ có thể đăng nhập lại được nữa."

Không có vấn đề, phải không? Chúng tôi chỉ có thể di chuyển mọi thứ trở lại. Chúng ta có thể, ngoại trừ lệnh mv không phải là một trong những lệnh tích hợp của shell. Thay vào đó, nó là một chương trình thực thi, được lưu trữ trong một trong các tệp đã được di chuyển. May mắn thay, ls là một lệnh tích hợp, vì vậy sau khi sử dụng ls để xác nhận nơi các lệnh đã được chuyển đến, tôi có thể tìm thấy lệnh mv, gọi nó với tên đường dẫn đầy đủ của nó và đặt mọi thứ trở lại nơi mà chúng được cho là .

Và sau đó tôi nói với anh ta, "Tom, đây là lý do tại sao nên thường xuyên đăng nhập với quyền root."


10

Nói chung, bạn muốn giữ quyền sở hữu các tệp cá nhân của bạn tách biệt với người dùng root. Đây là lý do tại sao bạn tạo một tài khoản cho chính mình với tư cách là quản trị viên. Cách được chấp nhận, trong OS X, để có quyền truy cập cấp gốc là sử dụng sudolệnh từ ứng dụng Terminal. Ví dụ: nếu bạn muốn xem phân vùng ổ đĩa trong của mình thì lệnh là

gpt -r show /dev/disk0

mà nếu được nhập sẽ dẫn đến thông báo lỗi sau.

gpt show: unable to open device '/dev/disk0': Permission denied

Để sử dụng lệnh, bạn cần sử dụng sudonhư hình dưới đây.

sudo gpt -r show /dev/disk0

Nếu bạn muốn trở thành người dùng root để tránh nhập sudo, bạn chỉ cần nhập sudo sh. Các exitlệnh có thể được sử dụng để thoát khỏi là người dùng root.

Nếu bạn muốn thực thi một ứng dụng với tư cách là người dùng root, bạn có thể sử dụng ứng dụng Terminal. Ví dụ: nếu bạn muốn khởi chạy Finder với tư cách là người dùng root, hãy nhập lệnh sau.

sudo /System/Library/CoreServices/Finder.app/Contents/MacOS/Finder &

Để tránh nhầm lẫn khi mở hai ứng dụng Finder cùng một lúc, tốt nhất bạn nên thoát ứng dụng Finder trước. Điều này có thể được thực hiện bằng cách sử dụng lệnh đầu cuối sau đây.

osascript -e 'tell application "Finder" to quit'

Một lời cảnh báo: trước một lệnh với sudokhông giống như trở thành người dùng root. Ví dụ: các lệnh

sudo echo $USER
sudo echo $SUDO_USER

dẫn đến kết quả đầu ra giống như các lệnh hiển thị bên dưới.

echo $USER
echo $SUDO_USER

Nếu bạn trở thành người dùng root (siêu người dùng), thì các lệnh tương tự sẽ dẫn đến một đầu ra khác. Điều này có thể được xác nhận bằng cách nhập các lệnh hiển thị dưới đây.

sudo sh
echo $USER
echo $SUDO_USER
sudo echo $USER
sudo echo $SUDO_USER
exit

4

Trong trường hợp các lý do khác không đủ tốt ... Đừng quên rằng bạn không thể sử dụng Homebrew làm root (đây thực sự là một nỗi đau rất lớn). Các chương trình khác cũng không cho phép bạn sử dụng chúng làm root hoặc gặp vấn đề về quyền khi bạn làm, thường là không có lý do rõ ràng, bởi vì các lập trình viên của họ cho rằng họ sẽ không được chạy dưới quyền root. Tôi nghĩ Steam là một trong số đó.

Thật tuyệt khi có tất cả các hệ thống và công cụ người dùng riêng biệt vì nhiều lý do.

Tôi không biết đó có phải là vấn đề bảo mật không. Cá nhân tôi lo lắng về các vấn đề với tổ chức và quyền hơn bất cứ điều gì khác.


4

Chỉ là một vài ví dụ tại sao không ổn khi luôn chạy như rootsau:

  • Người dùng root có thể dễ dàng đặt các tệp ở những vị trí khó theo dõi hơn nhiều.
  • Người dùng root có quyền truy cập thô vào các giao diện và do đó có thể đặt giao diện vào chế độ bừa bãi hoặc theo dõi và ghi nhật ký TẤT CẢ lưu lượng mạng.
  • Người dùng root có quyền truy cập thô vào các nút thiết bị và có thể phá hủy đĩa khiến việc khôi phục tệp khó hơn nhiều so với 'rm' đơn giản ở cấp độ người dùng. Người dùng root cũng có khả năng sửa đổi các phần khởi động của ổ đĩa, khiến phần mềm độc hại vẫn tồn tại ngay cả sau khi cài đặt lại hệ điều hành.

Tôi có thể tiếp tục. Vấn đề là có lý do chính đáng để không chạy bằng root. Tôi không đồng ý rằng với hầu hết mọi người, hầu hết dữ liệu cá nhân của họ đều nằm trong thư mục chính của họ, nhưng chạy bằng root vẫn khiến dữ liệu đó và toàn bộ hệ thống có nguy cơ cao hơn. Lời khuyên để không chạy như root không bị đặt nhầm chỗ. Nếu một người không hiểu ý nghĩa của việc chạy như root, họ chắc chắn không nên làm như vậy. Đề nghị bất cứ điều gì khác là vô trách nhiệm.


1

Trừ khi bạn đang sử dụng backtrack / kali cho một nhiệm vụ cụ thể: KHÔNG. Hãy đối xử với siêu người dùng như một khẩu súng được nạp: nếu bạn có nhu cầu và ý định sử dụng nó ngay lập tức: OK. Tuy nhiên, nếu bạn có thể giải quyết vấn đề của mình theo bất kỳ cách nào khác (ví dụ: "sudo"), hãy làm điều đó.


0

KHÔNG! Điều này sẽ khiến hệ thống của bạn bị đột nhập trong một khoảng thời gian rất ngắn. Thay vào đó, suhoặc sudovào root khi cần thiết. Nếu bạn hoàn toàn, tích cực, phải chạy như root, ít nhất là đăng xuất bất cứ lúc nào khi bạn không sử dụng máy tính. Nếu hệ thống của bạn có khả năng chạy nhiều người dùng, nhưng không có người dùng nào được cấu hình, tôi khuyên bạn nên tạo một người dùng đặc quyền (ví dụ: một người dùng có thể sudo/ suvào root khi cần thiết.) HÃY !!!

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.