Tại sao sudo là cần thiết để khởi động lại trong thiết bị đầu cuối nhưng không phải từ GUI?


10

Khi tôi bật máy và đăng nhập vào tài khoản của mình, tôi có thể làm bất cứ điều gì mình muốn và thậm chí tắt máy hoặc nói khởi động lại.

Nhưng nếu tôi mở terminal và cố gắng chạy lệnh reboothoặc shutdownsau đó tôi cần có quyền truy cập root. Tại sao cái này rất?

Tôi có thể nghĩ ra một số lý do loại hành vi này như đối với bạn có thể thấy nó đáng mong muốn sshnhưng tôi không chắc về điều đó, hoặc tôi có thể hoàn toàn thiếu một số điểm.


Kiểm tra dbusvà mở rộng đồ họa của bạn (ví dụ KDE hoặc gnome).
Hennes

Tôi nghĩ bạn có thể làm điều đó trên mọi thứ gui, tôi chỉ muốn biết tại sao tính năng thiết kế như vậy lại có.
Aman Deep Gautam

Câu trả lời:


7

Đây là một tính năng an toàn.

Khi sử dụng GUI, bạn (thường) ngồi trước máy tính bạn đang làm việc. Tuy nhiên, khi sử dụng thiết bị đầu cuối, bạn có thể sử dụng máy trên một máy và từ xa bằng máy khác. Bạn có thể có nhiều cửa sổ đầu cuối mở cho nhiều máy khác nhau. Điều gì nếu bạn vô tình gõ khởi động lại trong một sai? Hành động đó có thể từ một sự bất tiện đến một thảm họa hoàn toàn.

Bằng cách sử dụng sudo, nó buộc bạn phải sử dụng mật khẩu. Nếu bạn nhập sai mật khẩu, nó sẽ báo lỗi và hy vọng bạn nhận ra rằng bạn đang ở trong thiết bị đầu cuối sai. Đây là lý do tại sao thực hành tốt để có một mật khẩu root khác nhau trên mỗi máy chủ.


Tôi cũng nghĩ tương tự nhưng chỉ muốn chắc chắn rằng tôi không thiếu thứ gì .. :)
Aman Deep Gautam

1
Tôi đã thấy nhiều hơn một vài quản trị viên Unix xóa tên máy tính khỏi lời nhắc shell của họ vì nó chiếm nhiều không gian và sau đó hối hận vì quyết định đó.
Keltari

Lưu ý rằng đó không chính xác là một tính năng an toàn theo nghĩa được hiểu ở đây. Khi Unix bắt đầu, bạn chỉ có bảng điều khiển (không có GUI). Và chỉ người dùng root mới có quyền tắt / khởi động lại. Nó vẫn là như vậy. GUI bỏ qua việc sử dụng bit + s trong tệp. Mặc dù bạn có thể loại bỏ những thứ đó trong menu của mình bằng các lệnh sau: askubfox.com/questions/53308/ Khăn
Alexis Wilke

Tôi chỉ thấy CentOS VM của tôi tuyên bố "khởi động lại" không phải là một lệnh khi tôi được sugọi là root. Tôi gõ vào sudo rebootđó và nó hoạt động. Khi tôi trực tiếp SSH vào root, reboothoạt động tốt. Thật lạ.
Steven Lu

@StevenLu Kiểm tra đường dẫn của bạn. ("echo $ {PATH}") Có thể có khả năng thư mục "sbin" không nằm trong đường dẫn của bạn trong một số trường hợp. Trong trường hợp đó, sự kỳ lạ có thể không có với lệnh khởi động lại. Sử dụng "khởi động lại" cũng có thể giúp giải thích.
TẤT CẢ

0

Bạn thường có thể khởi động lại từ thiết bị đầu cuối bằng cách nhấn Ctrl + Alt + Del. Điều đó không làm việc từ xa. (Khởi động lại từ xa từ GUI mà không có đặc quyền cũng không hoạt động.)

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.