Tại sao tôi phải 'sudo`?


12

Tôi đã theo dõi một vài hướng dẫn về RPi của mình và rất nhiều lệnh bắt đầu sudo; nó có nghĩa là gì và nó làm gì?



7
Đây là một câu hỏi tuyệt vời, tôi có thể tưởng tượng rất nhiều người mới bắt đầu muốn có thông tin về điều này.
berry120

@ berry120 có nhưng nó sẽ phù hợp hơn với Unix / Linux SE vì mọi người cũng chạy Pi của họ trên các HĐH khác (Tôi đang nhìn vào bạn, HĐH RISC!)
evamvid

Ai vậy? Câu hỏi muôn năm! Làm được 2 năm!
evamvid

@evamvid Đây là một trong những câu hỏi ví dụ đầu tiên trên RPi.SE ...
Alex Chamberlain

Câu trả lời:


21

sudolà viết tắt của Super User Do; nó cho phép bạn chạy như một người dùng khác, thường là siêu người dùng ( root), để thực hiện các tác vụ quản trị, chẳng hạn như cập nhật phần mềm, thay đổi hệ thống tệp và khởi động trình nền.

rootcó sức mạnh tối thượng và có thể chạy khá nhiều thứ. Do đó, nó có thể gây ra nhiều thiệt hại cho hệ thống của bạn và trong trường hợp xấu nhất, bạn sẽ phải bắt đầu lại.

Bạn phải luôn hiểu những gì một lệnh đang làm trước khi bạn chạy nó.

Tại sao chúng ta có sudo?

Vì lý do bảo mật, người dùng bình thường không thể làm mọi thứ. Nó ngăn bạn làm bất cứ điều gì quá tệ do tai nạn và ngăn người dùng độc hại làm hỏng hệ thống.

Tại sao chúng ta không đăng nhập như rootkhi chúng ta muốn cấp phép nâng cao?

sudocho phép quản trị viên kiểm soát những lệnh mà mỗi người dùng có thể chạy như root. Ví dụ: quản trị viên của bạn có thể cho phép bạn chạy apt-getnhư root, nhưng không có gì khác. Hơn nữa, tất cả các lệnh chạy qua sudođược đăng nhập /var/log/auth.log.

Phân phối khác

Hình ảnh Debian mặc định đã sudođược cài đặt trước, nhưng những người khác thì không. Bạn có thể thường xuyên cài đặt nó bằng trình quản lý gói phân phối hoặc điều tra các cách khác để lấy quyền root.

Cổng vòm

Bạn có thể cài đặt sudobằng cách sử dụng pacman: chạy pacman -S sudonhư root. Sau đó, bạn nên thêm một người dùng mới và vô hiệu hóa roottài khoản.

su

Trong Arch Linux (và các bản phân phối khác hỗ trợ nó), bạn có thể sử dụng lệnh su(người dùng thay thế) để nhận dạng danh tính của bất kỳ người dùng nào khác (bao gồm root). Điều này có nghĩa là tất cả các lệnh trong tương lai của bạn (trong phiên hiện tại) sẽ có quyền của chúng. Tuy nhiên, bạn sẽ yêu cầu mật khẩu của họ và các lệnh bạn chạy sẽ không nhất thiết phải được ghi lại.

Xem thêm:


1
Bạn có nghĩ rằng thông tin trên sucó thể hữu ích để thực sự hoàn thành câu trả lời?
Alex L

Đề xuất chỉnh sửa dưới tiêu đề Phân phối khác?
Alex Chamberlain

Hơn nữa, tôi có xu hướng viết "sudo bash" ngay khi tôi tải pi của mình để tránh phải gõ sudo mọi lúc. Điều này cho phép bạn chạy mọi thứ với đặc quyền siêu người dùng. Điều này rõ ràng là một chút nguy hiểm, nhưng với rpi có rất ít điều tồi tệ mà bạn có thể làm.
tạm dừng

1
Đây là một thói quen rất xấu để có được vào!
Alex Chamberlain

1
@phalt Tại sao bạn không đăng nhập bằng root?
Jivings

2

Bạn thường sử dụng nó để thực thi một lệnh cụ thể là root, thay vì người dùng hiện tại của bạn. Vì lý do bảo mật, chuẩn mực trong thế giới Linux dành cho người dùng chính của bạn có các đặc quyền hạn chế và để bạn chuyển sang root bất cứ khi nào bạn cần làm điều gì đó mà bạn không có đặc quyền (chẳng hạn như cài đặt gói).

Root giống như quản trị viên trong thế giới Windows - đó là người dùng "có thể làm bất cứ điều gì" cuối cùng của bạn.

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.