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.
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.
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
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.
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.
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.
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
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.