Chào bạn. Với tư cách là một Quản trị viên hệ thống lâu năm, tôi luôn nhấn mạnh rằng: “Một lệnh sai có thể phá hủy thành quả của cả một đội ngũ trong vài giây.” Linux không có nút “Undo” cho các tác vụ can thiệp sâu vào hệ thống. Bài viết này được thiết kế để cung cấp cho bạn những công cụ sắc bén nhất, đi kèm với tư duy quản trị ưu tiên tính bảo mật và ổn định.
## Yêu cầu chuẩn bị: Cấu hình VPS tối thiểu
Để thực hành và vận hành ổn định các dịch vụ cơ bản, server của bạn cần đáp ứng:
- Hệ điều hành: Ưu tiên các bản phân phối LTS (Long Term Support) như Ubuntu 22.04 LTS, Debian 11/12 hoặc RHEL/AlmaLinux 9.
- CPU: Tối thiểu 1 Core.
- RAM: Tối thiểu 1GB (2GB nếu chạy Docker hoặc nhiều dịch vụ Web).
- Disk: 20GB SSD/NVMe.
- Quyền truy cập: Quyền
roothoặc người dùng có đặc quyềnsudo.
## Cảnh báo quan trọng:
- Backup trước khi sửa đổi: Luôn sao lưu file cấu hình gốc trước khi chỉnh sửa bằng lệnh
cp file.conf file.conf.bak. - Nguyên tắc đặc quyền tối thiểu: Không bao giờ sử dụng tài khoản
rootcho các tác vụ hàng ngày. Hãy dùngsudo. - Kiểm tra kỹ câu lệnh: Đặc biệt là các lệnh
rm,chmod,chownvà các lệnh liên quan đến chuyển hướng dữ liệu>.
## Hướng dẫn quản trị (Từng bước)
1. Nhóm lệnh kiểm tra tài nguyên hệ thống (Monitoring)
Trước khi làm bất cứ việc gì, bạn phải biết tình trạng “sức khỏe” của server.
# Kiểm tra thời gian hoạt động và tải của hệ thống (Load Average)
uptime
# Xem dung lượng RAM đang sử dụng
# -m: hiển thị đơn vị MB, -h: dễ đọc (human readable)
free -h
# Kiểm tra dung lượng đĩa cứng
df -h
# Theo dõi tiến trình thời gian thực (CPU, RAM, Process)
# Nhấn 'q' để thoát
top
# Hoặc cài đặt htop để có giao diện trực quan hơn
sudo apt update && sudo apt install htop -y
htop
2. Nhóm lệnh quản lý tệp tin và phân quyền (Security Focus)
Đây là nơi các lỗ hổng bảo mật thường xuất hiện nếu cấu hình sai.
# Liệt kê tệp tin kèm quyền hạn và chủ sở hữu
ls -la
# Thay đổi quyền sở hữu (Nên là user cụ thể, không nên để root sở hữu web files)
# Ví dụ: Đổi chủ sở hữu thư mục web cho user www-data
sudo chown -R www-data:www-data /var/www/html
# Phân quyền tệp tin (755 cho thư mục, 644 cho tệp tin là chuẩn an toàn cơ bản)
find /var/www/html -type d -exec chmod 755 {} ;
find /var/www/html -type f -exec chmod 644 {} ;
# Tìm kiếm file lớn hơn 100MB (Hữu ích khi dọn dẹp ổ cứng)
find / -type f -size +100M
3. Nhóm lệnh quản lý dịch vụ (Systemd)
Quản trị viên cần kiểm soát tuyệt đối các dịch vụ đang chạy.
# Kiểm tra trạng thái dịch vụ (Ví dụ: Nginx)
systemctl status nginx
# Khởi động, Dừng, Khởi động lại dịch vụ
sudo systemctl start nginx
sudo systemctl stop nginx
sudo systemctl restart nginx
# Cho phép dịch vụ tự khởi động cùng hệ thống
sudo systemctl enable nginx
# Kiểm tra danh sách các dịch vụ đang chạy
systemctl list-units --type=service --state=running
4. Nhóm lệnh mạng và bảo mật (Networking)
Kiểm tra các cổng (port) đang mở để phát hiện xâm nhập trái phép.
# Kiểm tra các port đang lắng nghe (Listen)
ss -tulpn
# Kiểm tra kết nối đến một IP/Port cụ thể
curl -I http://localhost
# Cấu hình tường lửa cơ bản (UFW trên Ubuntu)
sudo ufw allow 22/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable
5. Cấu hình mẫu Nginx (Đảm bảo tính ổn định)
Lưu tại: /etc/nginx/sites-available/default
server {
listen 80;
server_name example.com;
# Bảo mật: Ẩn phiên bản Nginx
server_tokens off;
root /var/www/html;
index index.html;
location / {
try_files $uri $uri/ =404;
}
# Log để theo dõi sự cố
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
}
## Kiểm tra hoạt động (Verify)
Sau khi cấu hình, luôn thực hiện các bước kiểm tra sau:
-
Kiểm tra cú pháp cấu hình (Nginx/Apache):
sudo nginx -t -
Đọc log thời gian thực: Đây là cách duy nhất để biết chuyện gì đang thực sự xảy ra.
# Theo dõi log truy cập tail -f /var/log/nginx/access.log # Theo dõi log lỗi hệ thống journalctl -u nginx -f
## Xử lý sự cố (Troubleshooting)
1. Lỗi 502 Bad Gateway
- Nguyên nhân: Dịch vụ phía sau (PHP-FPM, Node.js, Python) chưa chạy hoặc bị treo.
- Cách sửa: Kiểm tra trạng thái dịch vụ backend.
sudo systemctl status php8.1-fpm # Nếu die, hãy restart sudo systemctl restart php8.1-fpm
2. Lỗi 403 Forbidden
- Nguyên nhân: Sai phân quyền (Permissions) hoặc thiếu tệp tin index.
- Cách sửa: Kiểm tra lại
chmodvàchownnhư mục 2 ở trên. Đảm bảo userwww-datacó quyền đọc file.
3. Lỗi Permission Denied (khi chạy lệnh)
- Nguyên nhân: Bạn đang dùng user thường cho tác vụ hệ thống.
- Cách sửa: Thêm
sudovào trước lệnh hoặc kiểm tra file/etc/sudoers.
4. Server bị treo do đầy ổ cứng
- Cách sửa: Tìm và xóa log cũ hoặc file tạm.
# Xóa log journalctl cũ hơn 3 ngày sudo journalctl --vacuum-time=3d # Kiểm tra thư mục nào chiếm dung lượng nhất du -sh /* 2>/dev/null | sort -hr
Lời khuyên cuối cùng: Hãy luôn giữ một cái đầu lạnh. Trước khi nhấn Enter cho một lệnh mang tính thay đổi hệ thống, hãy dừng lại 3 giây để đọc lại nó. Chúc bạn quản trị hệ thống an toàn!
See more: Các lệnh Linux cơ bản quản trị viên server cần nhớ.
Discover: Python Trick.
