Tài liệu
Bắt đầu nhanh + mô tả chức năng của từng phần, từng thiết bị (đang tiếp tục cập nhật)
Hướng dẫn dùng máy chủ đám mây lớn (người dùng không phải root)
Đây là tình huống gì
Các máy chủ đám mây lớn như Tencent Cloud, AliCloud, Huawei Cloud, vì an toàn mà mặc định cấm đăng nhập bằng root, chỉ đăng nhập được bằng người dùng thường (Ubuntu dùng ubuntu, Debian dùng admin, CentOS dùng centos). Những người dùng thường này thường ở trong nhóm sudo, và mặc định được cấu hình sudo không mật khẩu (tức khi chạy lệnh sudo không cần nhập mật khẩu).
Điều này nghĩa gì với bảng điều khiển
Khi đăng nhập máy chủ bằng người dùng thường, mọi thao tác「cần quyền quản trị」trong bảng điều khiển — đổi nguồn, cài Docker, cài phần mềm, cấu hình tường lửa… — đều được bảng điều khiển tự động thêm tiền tố sudo để nâng quyền, bạn không cần cấu hình thêm gì, dùng bình thường là được.
Bảng điều khiển tự xử lý thế nào
Bảng điều khiển có sẵn cơ chế nâng quyền thông minh, tự động phán đoán và xử lý:
1. Nhận diện danh tính người dùng hiện tại: sau khi kết nối, tự động xác định đang đăng nhập bằng root hay người dùng thường.
2. Dò sudo không mật khẩu: với người dùng thường, tự động dò xem có hỗ trợ sudo không mật khẩu không (kết quả được lưu đệm, không dò lại).
3. Tự động nâng quyền: với「các lệnh thuộc loại thao tác cần root」(apt-get install, yum/dnf install, systemctl, ghi vào /etc/, nginx -s reload, xin chứng chỉ…) tự động thêm tiền tố sudo -n sh -c '...'.
4. Lệnh chỉ đọc không bị làm phiền: các lệnh kiểm tra/xem như cat, whoami, pwd, command -v không bị thêm sudo, thực thi nguyên trạng.
5. Người dùng root không bị ảnh hưởng: khi đăng nhập bằng root, lệnh trả về nguyên trạng, hành vi hoàn toàn không đổi.
Khi thêm máy chủ thì điền thế nào
| Trường | Khuyến nghị điền |
|---|---|
| Tên người dùng | Tên người dùng thường, như ubuntu / centos / admin |
| Cách xác thực | Mật khẩu hoặc khóa riêng (đám mây lớn thường mặc định cho cặp khóa, khuyến nghị dùng khóa riêng) |
Bảng điều khiển sẽ tự hoàn thành các thao tác nâng quyền tiếp theo, bạn không cần tự thêm sudo ở đầu lệnh.
Trường hợp nào sẽ thất bại
Sudo không mật khẩu là điều kiện tiên quyết. Nếu máy chủ đã đổi thành「sudo cần nhập mật khẩu」, bảng điều khiển không thể tự nâng quyền, sẽ trả về thông báo rõ ràng: 「Hãy đổi sang đăng nhập bằng root, hoặc cấu hình sudo không mật khẩu」, không thất bại âm thầm cũng không báo thành công giả.
Nếu bạn muốn người dùng thường cũng được sudo không mật khẩu, có thể chạy trên máy chủ:
# Thêm người dùng hiện tại vào nhóm sudo (nếu chưa có) sudo usermod -aG sudo username # Cấu hình sudo không mật khẩu (sửa sudoers) echo "username ALL=(ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/username
Lưu ý
1. Người dùng mặc định của đám mây lớn (ubuntu / centos / admin) đều có sudo không mật khẩu, dùng bình thường ngay được.
2. Nếu bạn không chắc người dùng của máy chủ là gì, đăng nhập máy chủ và chạy whoami để xem tên người dùng hiện tại.
3. Việc nâng quyền của bảng điều khiển chỉ nhắm vào「các lệnh thuộc loại thao tác」, các chức năng xem, giám sát không bị ảnh hưởng.