- Tổng đài 24/7: 1800 646 881
- Đăng nhập
- 3
Nếu bạn đang muốn tìm hiểu về lệnh Sudo nhưng chưa biết phải bắt đầu từ đâu thì bài viết này là dành cho bạn. Ok, hãy cùng bắt đầu ngay thôi nào.
Sudo (viết tắt của “substitute user do” hoặc “super user do”) là chương trình dành cho hệ điều hành tương tự Unix.
Nó cho phép một non-root user có thể chạy các chương trình với quyền bảo mật của một user khác (thường là root user).
Ban đầu, Sudo được hiểu nghĩa là Superuser do. Lý do là vì các phiên bản cũ hơn của nó được tạo ra với mục đích chỉ để chạy các lệnh như Superuser.
Các phiên bản Sudo về sau được nâng cấp để có thể hỗ trợ chạy cả các lệnh cho người dùng khác (bị hạn chế). Do đó, Sudo được hiểu theo nghĩa rộng hơn là “Substitute user do”.
Dù vậy, do Sudo thường được sử dụng cho các tác vụ quản trị nên người ta vẫn quen gọi (và hiểu) Sudo nghĩa là “Superuser do” thay vì “Substitute user do”.
Sudo là giải pháp phân quyền và nâng cấp quyền cho user một cách tốt nhất và an toàn nhất. Cụ thể:
Nói một cách dễ hiểu hơn, với Su, bạn sẽ đăng nhập bằng quyền root, và do đó, thật nguy hiểm nếu có bất kỳ sai sót nào xảy ra (dù là nhỏ nhất, hãy tưởng tượng, nếu xui xẻo, mọi thứ có thể bị mất hết).
Còn với Sudo, bạn sẽ cần phải nhập vào sudo trước mỗi dòng lệnh. Do đó, bạn sẽ tránh được việc quên quay lại chế độ người dùng thường và sẽ hạn chế được các rủi ro không đáng có.
Mặc định, khi bạn cài đặt user đầu tiên cho Ubuntu, đó chính là user có quyền cao nhất (quyền super user). Trên VPS, đó chính là root user.
Để cho phép một user bất kỳ có thể sử dụng lệnh Sudo, bạn sẽ cần cấu hình file Sudoers (nằm trong /etc/). Khi đó, user sẽ có những đặc quyền nhất định (tùy theo cách bạn cấu hình).
Lưu ý quan trọng khi chỉnh sửa file Sudoers: Nếu phát sinh lỗi (thường do sai cú pháp lệnh) có thể dẫn đến tình trạng tất cả các user sẽ bị khóa.
File Sudoers có thể được mở và chỉnh sửa bằng trình soạn thảo bất kỳ (như note chẳng hạn).
Lệnh mở file Sudoers:
{{EJS0}}
File Sudoers trong VPS sẽ trông như thế này:
Trước khi chỉnh sửa file Sudoers, bạn cần nắm rõ các quy tắc sau:
Để bắt đầu chỉnh sửa file sudoers, hãy sử dụng lệnh sau:
{{EJS1}}
Trong các ví dụ dưới đây, chúng ta sẽ sử dụng lệnh sudo để gán quyền cho user tên là CR7.
Nếu bạn muốn thêm user CR7 vào nhóm sudo, hãy sử dụng lệnh adduser. Cú pháp như sau:
{{EJS2}}
Để xóa một user CR7 khỏi nhóm sudo, hãy sử dụng lệnh deluser. Cú pháp như sau:
{{EJS3}}
Trong trường hợp bạn muốn user CR7 chỉ có quyền thực thi một vài lệnh cụ thể nào đó thì sao? Ok, lúc này bạn sẽ cần tạo file bên trong /etc/sudoers.d/ và cấu hình cho file đó.
Ví dụ, để tạo một file tên là netpermit, hãy sử dụng cú pháp lệnh sẽ như sau:
{{EJS4}}
Bây giờ, giả sử bạn muốn cho phép user CR7 có thể chạy các lệnh:
Đầu tiên, trong file Sudo, hãy thêm CR7 vào nhóm netadmin:
{{EJS5}}
Tiếp theo, thêm đoạn mã sau vào file netpermit:
{{EJS6}}
*Giải thích: Đoạn mã trên nghĩa là tất cả user trong nhóm netadmin có thể chạy các lệnh NETALL, bao gồm: /usr/sbin/tcpdump, /usr/sbin apache2ctl và /usr/bin/htpasswd.
Hy vọng những nội dung mà BKHOST đã chia sẻ trên đây sẽ giúp bạn hiểu hơn về lệnh Sudo cũng như cách để có thể sử dụng nó một cách hiệu quả.
Nếu bạn có bất cứ thắc mắc nào, hãy để lại comment ở bên dưới, BKHOST sẽ trả lời bạn trong thời gian sớm nhất.
Bạn cũng có thể truy cập vào Blog của BKHOST để đọc thêm những bài viết chia sẻ kinh nghiệp quản trị vps, hosting, server, domain, website, email… Chúc bạn thành công.
Mua tên miền .VN tại BKHOST
Giá chỉ từ 750k/năm. Kiểm tra tên miền .VN đẹp và đăng ký ngay hôm nay!