Skip to main content

[Linux] Khác nhau giữa sudo và su

Sudo và su là gì 

Su là từ viết tắt switch user, được sử dụng để chuyển đổi user này qua user khác bao gồm chuyển qua root

Sudo là từ viết tắt superuser do, được hiểu là thực thi mênh lệnh với quyền cao nhất mà không cần chuyển user về root

Vậy nên có thể hiểu nhanh là su là chuyển user và sudo là thực thi mệnh lênh thay quyền root mà không cần chuyển qua user root.

Sudo hoạt động như thế nào

Sudo chạy như sau:

  1. Khi người dùng chạy sudo, hệ thống sẽ tìm trong file /etc/sudoers hoặc /usr/sbin/visudo (ubuntu)  để xem người dùng có quyền chạy sudo hay không.
  2. Nếu người dùng có quyền chạy sudo, thì việc tiếp theo cần làm là nhập mật khẩu của chính user hiện tại.
  3. Nếu mật khẩu là chính xác. Bạn có thể chạy lệnh với tư cách là root mà không cần login root.

So sánh giữa Sudo và Su

  sudo su
Ưu điểm
  • Cung cấp quyền cụ thể, giảm nguy cơ truy cập trái phép, có bảo mật cao hơn su khi không cấp toàn quyền root
  • Có thể xem hành động từng người dùng khi sử dụng dễ kiểm soát được người dùng
  • Dễ tiếp cận, dễ cài đặt và cấu hình cho tổ chức nhỏ
  • Cung cấp quyền root toàn diện, có thể thực hiện bất cứ thao tác nào
  • Đơn giản và dễ sử dụng
  • Không cần cấu hình hay thiết lập bổ sung nào
  • Phù hợp với tác vụ đơn giản yêu cầu quyền root
Nhược điểm
  • Sẽ phức tạp cấu hình với tổ chức lớn nhiều người dùng
  • Cấp quá nhiều quyền cho người dùng dễ dẫn đến tìm ẩn lỗ hổng bảo mật
  • Người dùng cần được cấp quyền để sử dụng "sudo"
  • Rủi ro khi sai sót khi sử dụng trực tiếp với user root
  • Không có quyền kiểm soát chi tiết từng quyền cũng dễ gây mất an toàn bảo mật
  • Không an toàn khi mật khẩu chia sẻ bởi nhiều người dùng có quyền root

Cấp quyền Sudo cho một user

Với Ubuntu 

sudo /usr/sbin/visudo

Với Centos / Redhat

/etc/sudoers

Thêm dòng new_user ALL=(ALL) ALL như vậy new_user có thể dùng lệnh sudo 

Sản Phẩm

Sản Phẩm & Dịch Vụ Dành cho SME