Sự khác biệt giữa Sudo và Su trong Linux là gì?

Mục lục:

Sự khác biệt giữa Sudo và Su trong Linux là gì?
Sự khác biệt giữa Sudo và Su trong Linux là gì?

Video: Sự khác biệt giữa Sudo và Su trong Linux là gì?

Video: Sự khác biệt giữa Sudo và Su trong Linux là gì?
Video: How to make Venmo Transactions Private - Step by Step directions - YouTube 2024, Tháng tư
Anonim
Nếu bạn là người dùng Linux, có thể bạn đã thấy các tham chiếu đến cả sudo và su. Các bài viết ở đây về How-To Geek và các nơi khác hướng dẫn người dùng Ubuntu sử dụng sudo và những người dùng bản phân phối Linux khác để sử dụng su, nhưng sự khác biệt là gì?
Nếu bạn là người dùng Linux, có thể bạn đã thấy các tham chiếu đến cả sudo và su. Các bài viết ở đây về How-To Geek và các nơi khác hướng dẫn người dùng Ubuntu sử dụng sudo và những người dùng bản phân phối Linux khác để sử dụng su, nhưng sự khác biệt là gì?

Sudo và su là hai cách khác nhau để có được đặc quyền root. Mỗi chức năng theo một cách khác nhau và các bản phân phối Linux khác nhau sử dụng các cấu hình khác nhau theo mặc định.

Người dùng gốc

Cả su và sudo được sử dụng để chạy các lệnh với quyền root. Người dùng root về cơ bản tương đương với người dùng quản trị viên trên Windows - người dùng root có quyền tối đa và có thể làm bất cứ điều gì với hệ thống. Người dùng bình thường trên Linux chạy với quyền hạn giảm - ví dụ: họ không thể cài đặt phần mềm hoặc ghi vào thư mục hệ thống.

Để làm điều gì đó yêu cầu các quyền này, bạn sẽ phải mua chúng với su hoặc sudo.

Su vs. Sudo

Lệnh su chuyển sang người dùng siêu - hoặc người dùng root - khi bạn thực thi nó mà không có tùy chọn bổ sung nào. Bạn sẽ phải nhập mật khẩu của tài khoản gốc. Tuy nhiên, đây không phải là lệnh su - bạn có thể sử dụng nó để chuyển sang bất kỳ tài khoản người dùng nào. Nếu bạn thực hiện su bob, bạn sẽ được nhắc nhập mật khẩu của Bob và trình bao sẽ chuyển sang tài khoản người dùng của Bob.

Khi bạn đã chạy xong các lệnh trong trình bao gốc, bạn nên nhập lối thoát hiểm để rời khỏi vỏ gốc và quay lại chế độ đặc quyền hạn chế.

Sudo chạy một lệnh duy nhất với quyền root. Khi bạn thực thi lệnh sudo, hệ thống sẽ nhắc bạn về mật khẩu tài khoản người dùng hiện tại của bạn trước khi chạy chỉ huy là người dùng root. Theo mặc định, Ubuntu nhớ mật khẩu trong mười lăm phút và sẽ không yêu cầu mật khẩu một lần nữa cho đến khi mười lăm phút kết thúc.

Đây là điểm khác biệt chính giữa su và sudo. Su chuyển bạn sang tài khoản người dùng gốc và yêu cầu mật khẩu của tài khoản gốc. Sudo chạy một lệnh duy nhất có đặc quyền root - nó không chuyển sang người dùng root hoặc yêu cầu mật khẩu người dùng root riêng biệt.
Đây là điểm khác biệt chính giữa su và sudo. Su chuyển bạn sang tài khoản người dùng gốc và yêu cầu mật khẩu của tài khoản gốc. Sudo chạy một lệnh duy nhất có đặc quyền root - nó không chuyển sang người dùng root hoặc yêu cầu mật khẩu người dùng root riêng biệt.

Ubuntu so với các bản phân phối Linux khác

Lệnh su là cách truyền thống để có được quyền root trên Linux. Lệnh sudo đã tồn tại trong một thời gian dài, nhưng Ubuntu là bản phân phối Linux phổ biến đầu tiên chỉ sử dụng sudo-only. Khi bạn cài đặt Ubuntu, tài khoản gốc chuẩn được tạo, nhưng không có mật khẩu nào được gán cho nó. Bạn không thể đăng nhập bằng root cho đến khi bạn chỉ định mật khẩu cho tài khoản gốc.

Có một số lợi thế khi sử dụng sudo thay vì su theo mặc định. Người dùng Ubuntu chỉ phải cung cấp và ghi nhớ một mật khẩu duy nhất, trong khi Fedora và các bản phân phối khác yêu cầu bạn tạo mật khẩu tài khoản người dùng và root riêng biệt trong khi cài đặt.
Có một số lợi thế khi sử dụng sudo thay vì su theo mặc định. Người dùng Ubuntu chỉ phải cung cấp và ghi nhớ một mật khẩu duy nhất, trong khi Fedora và các bản phân phối khác yêu cầu bạn tạo mật khẩu tài khoản người dùng và root riêng biệt trong khi cài đặt.

Một ưu điểm khác là nó không khuyến khích người dùng đăng nhập với tư cách người dùng root - hoặc sử dụng su để có được một trình bao gốc - và giữ cho trình vỏ gốc mở để làm công việc bình thường của họ. Chạy ít lệnh hơn khi tăng mức độ bảo mật và ngăn các thay đổi trên toàn hệ thống.

Các bản phân phối dựa trên Ubuntu, bao gồm cả Linux Mint, cũng sử dụng sudo thay vì su theo mặc định.

Một vài thủ thuật

Linux linh hoạt, do đó, không mất nhiều công sức để làm cho su hoạt động tương tự như sudo - hoặc ngược lại.

Để chạy một lệnh duy nhất là người dùng root với su, hãy chạy lệnh sau:

su -c ‘command’

Điều này tương tự như việc chạy lệnh với sudo, nhưng bạn sẽ cần mật khẩu của tài khoản gốc thay vì mật khẩu tài khoản người dùng hiện tại của bạn.

Để có được một vỏ gốc tương tác đầy đủ với sudo, hãy chạy sudo –i

Bạn sẽ phải cung cấp mật khẩu của tài khoản người dùng hiện tại thay vì mật khẩu của tài khoản gốc.
Bạn sẽ phải cung cấp mật khẩu của tài khoản người dùng hiện tại thay vì mật khẩu của tài khoản gốc.

Kích hoạt Root User trong Ubuntu

Để kích hoạt tài khoản người dùng root trên Ubuntu, sử dụng lệnh sau để thiết lập mật khẩu cho nó. Hãy nhớ rằng Ubuntu đề xuất chống lại điều này.

sudo passwd root

Sudo sẽ nhắc bạn về mật khẩu tài khoản người dùng hiện tại của bạn trước khi bạn có thể đặt mật khẩu mới. Sử dụng mật khẩu mới của bạn để đăng nhập với tư cách người chủ từ lời nhắc đăng nhập thiết bị đầu cuối hoặc bằng lệnh su. Bạn không bao giờ nên chạy một môi trường đồ họa đầy đủ như người dùng root - đây là một thực hành bảo mật rất kém, và nhiều chương trình sẽ từ chối làm việc.

Image
Image

Thêm người dùng vào tệp Sudoers

Chỉ các tài khoản kiểu quản trị viên trong Ubuntu mới có thể chạy các lệnh bằng sudo. Bạn có thể thay đổi loại tài khoản người dùng từ cửa sổ cấu hình Tài khoản người dùng.

Ubuntu tự động chỉ định tài khoản người dùng được tạo trong khi cài đặt như một tài khoản quản trị viên.
Ubuntu tự động chỉ định tài khoản người dùng được tạo trong khi cài đặt như một tài khoản quản trị viên.
Image
Image

Nếu bạn đang sử dụng một bản phân phối Linux khác, bạn có thể cấp cho người dùng quyền sử dụng sudo bằng cách chạy visudo lệnh với các đặc quyền root (để chạy su đầu tiên hoặc sử dụng su -c).

Thêm dòng sau vào tệp, thay thế người dùng với tên tài khoản người dùng:

user ALL=(ALL:ALL) ALL

nhấn Ctrl-X và sau đó Y để lưu tệp. Bạn cũng có thể thêm người dùng vào nhóm được chỉ định trong tệp. Người dùng trong các nhóm được chỉ định trong tệp sẽ tự động có đặc quyền sudo.

Image
Image

Phiên bản đồ họa của Su

Linux cũng hỗ trợ các phiên bản đồ họa của su, yêu cầu mật khẩu của bạn trong môi trường đồ họa. Ví dụ, bạn có thể chạy lệnh sau để nhận lời nhắc mật khẩu đồ họa và chạy trình duyệt tệp Nautilus với quyền root. nhấn Alt-F2 để chạy lệnh từ hộp thoại chạy đồ họa mà không cần khởi chạy thiết bị đầu cuối.

gksu nautilus

Lệnh gksu cũng có một vài thủ thuật khác trên tay áo của nó - nó bảo toàn các cài đặt máy tính để bàn hiện tại của bạn, vì vậy các chương trình đồ họa sẽ không trông như thế nào khi bạn khởi chạy chúng như một người dùng khác. Các chương trình như gksu là cách ưa thích để khởi chạy các ứng dụng đồ họa có đặc quyền root.
Lệnh gksu cũng có một vài thủ thuật khác trên tay áo của nó - nó bảo toàn các cài đặt máy tính để bàn hiện tại của bạn, vì vậy các chương trình đồ họa sẽ không trông như thế nào khi bạn khởi chạy chúng như một người dùng khác. Các chương trình như gksu là cách ưa thích để khởi chạy các ứng dụng đồ họa có đặc quyền root.

Gksu sử dụng chương trình phụ trợ su hoặc sudo, tùy thuộc vào bản phân phối Linux bạn đang sử dụng.

Bây giờ bạn đã sẵn sàng để gặp cả hai su và sudo! Bạn sẽ gặp cả hai nếu bạn sử dụng các bản phân phối Linux khác nhau.

Đề xuất: