Liên hệProfile
Danh mục

Mục Lục

    Các lệnh giúp kiểm tra nhóm người dùng trong Linux nhanh chóng, chính xác

    Nguyễn Hưng

    Ngày đăng:

    09/02/2026

    Cập nhật lần cuối:

    09/02/2026

    Lượt xem:
    Chia sẻ
    Đánh giá
    5/5 - (1 bình chọn)

    Nguyễn Hưng

    Lượt xem:
    Ngày đăng:

    09/02/2026

    Cập nhật lần cuối:

    09/02/2026

    Mục lục

    Nhóm người dùng trong Linux là giải pháp tối ưu để quản lý người dùng, giúp hệ thống linh hoạt, dễ bảo trì và đảm bảo an toàn bảo mật cho tài nguyên hệ thống. Trong bài viết này, mình sẽ giới thiệu các lệnh giúp bạn kiểm tra nhóm của người dùng trong Linux, tra cứu thành viên nhóm và quản trị hệ thống nhanh chóng, chính xác nhất.

    Những điểm chính

    • Định nghĩa nhóm người dùng trong Linux: Hiểu rõ khái niệm, mục đích và lợi ích của việc sử dụng nhóm để quản lý quyền truy cập một cách hiệu quả.
    • Các loại người dùng trên Linux: Phân biệt được vai trò của Root, System và Regular user để nắm bắt cấu trúc phân cấp an ninh của hệ thống.
    • Lý do cần kiểm tra nhóm: Nắm được các lý do quan trọng cần kiểm tra nhóm, từ việc xác định quyền hạn, xử lý lỗi “permission denied” đến quản lý bảo mật hệ thống.
    • Cấu trúc tệp tin /etc/passwd: Nắm vững cách đọc và giải mã 7 trường thông tin quan trọng trong tệp cấu hình để quản lý thông tin định danh chính xác.
    • Các cách kiểm tra nhóm: Thành thạo các lệnh groups, id, getent group để kiểm tra nhóm của người dùng hiện tại, người dùng khác và xem danh sách tất cả các nhóm trên hệ thống.
    • Lưu ý khi quản lý nhóm: Nắm được các lưu ý quan trọng để quản lý nhóm một cách an toàn, từ việc cập nhật quyền sau khi thay đổi đến các rủi ro bảo mật cần tránh.
    • Giải đáp thắc mắc (FAQ): Có được câu trả lời cho các vấn đề nâng cao như cách tìm kiếm chính xác, khi nào nên dùng getent và ý nghĩa của các thông tin từ lệnh id.

    Nhóm người dùng trong Linux là gì?

    Nhóm người dùng trong Linux (group) là một tập hợp các tài khoản người dùng có cùng quyền hạn truy cập đối với các tệp tin, thư mục hoặc tài nguyên hệ thống. Cơ chế này giúp quản trị viên dễ dàng quản lý và phân quyền truy cập cho tập thể thay vì từng cá nhân riêng lẻ. Cụ thể:

    • Gán quyền truy cập file, thư mục cho cả nhóm thay vì từng người.
    • Phân quyền sử dụng lệnh, dịch vụ như sudo, docker,…
    • Dễ dàng quản lý hệ thống nhiều người dùng.
    kiểm tra nhóm của người dùng trong Linux
    Nhóm người dùng trong Linux (group) có cùng quyền hạn truy cập với các file, thư mục hoặc tài nguyên hệ thống.

    Ví dụ: Bạn có 3 người dùng là Alice, Bob và Carol cùng làm việc trong thư mục /project. Để quản lý quyền truy cập dễ dàng hơn, bạn có thể làm như sau:

    • Tạo một nhóm chung:
    sudo groupadd developers
    • Thêm các người dùng vào nhóm:
    sudo usermod -aG developers alice
    sudo usermod -aG developers bob
    sudo usermod -aG developers carol

    Lệnh usermod thường được dùng với -aG để thêm user vào 1 groups khác mà không xoá user ra khỏi các group đang chứa user

    • Cấp quyền cho nhóm trên thư mục /project:
    sudo chown :developers /project
    sudo chmod 770 /project

    Khi đó, tất cả thành viên trong nhóm developers đều có quyền truy cập và chỉnh sửa trong thư mục, bạn không cần phân quyền riêng cho từng người.

    Tất cả thành viên trong nhóm developers đều có quyền truy cập và chỉnh sửa
    Tất cả thành viên trong nhóm developers đều có quyền truy cập và chỉnh sửa

    Các loại người dùng trên Linux

    Hệ thống Linux phân chia người dùng thành ba loại chính dựa trên quyền hạn và mục đích sử dụng. Mỗi loại đóng một vai trò cụ thể trong việc vận hành hệ thống:

    • Người dùng Root (Root User/Superuser): Đây là tài khoản có quyền hạn cao nhất trong hệ thống (thường có UID là 0). Người dùng Root có thể thực hiện mọi tác vụ quản trị như: tạo/xóa tài khoản, thay đổi quyền sở hữu tệp, cài đặt phần mềm và can thiệp vào các tệp cấu hình hệ thống. Người dùng Root thường sử dụng lệnh sudo để thực thi các tác vụ đòi hỏi quyền quản trị.
    • Người dùng hệ thống (System Users): Các tài khoản này được tạo tự động bởi hệ điều hành hoặc khi cài đặt phần mềm để chạy các tiến trình nền và dịch vụ. Người dùng hệ thống có quyền hạn hạn chế hơn Root và thường không dùng để đăng nhập tương tác. 
    • Người dùng thông thường (Regular Users): Đây là tài khoản dành cho người dùng thực tế để thực hiện các công việc hàng ngày. Họ có quyền hạn thấp nhất và chỉ có thể thao tác (đọc, ghi, thực thi) trên các tệp tin nằm trong thư mục cá nhân của mình. Người dùng thông thường không thể truy cập tệp của người khác hoặc sửa đổi tệp hệ thống tại /etc hay /var nếu không được cấp quyền.
    Các loại người dùng trên Linux
    Các loại người dùng trên Linux

    Tại sao cần kiểm tra nhóm của người dùng?

    Bạn cần kiểm tra nhóm của người dùng khi:

    • Xác định quyền hạn truy cập: Quản trị viên cần xác định rõ người dùng thuộc những nhóm nào để nắm được quyền của từng cá nhân, đặc biệt là việc người dùng có thuộc nhóm sudo hay không.
    • Phân quyền đúng nhóm: Việc kiểm tra nhóm giúp đảm bảo khi phân quyền truy cập tập tin hoặc thư mục, quyền hạn được cấp đúng cho nhóm tương ứng, tránh sai sót và lỗ hổng bảo mật.
    • Quản lý nhiều người dùng: Khi quản lý hệ thống có nhiều tài khoản người dùng, người quản trị cần kiểm tra nhóm để kiểm soát quyền truy cập theo từng nhóm, phòng tránh các lỗi phân quyền ngoài ý muốn.
    • Xử lý lỗi truy cập: Khi gặp lỗi “permission denied”, người quản trị cần xác định nguyên nhân có phải do tài khoản người dùng chưa thuộc nhóm được cấp quyền hay không, nhằm đưa ra giải pháp khắc phục kịp thời.
    Những lý do cần kiểm tra nhóm của người dùng
    Những lý do cần kiểm tra nhóm của người dùng

    Cấu trúc tệp tin /etc/passwd trong Linux

    Tệp /etc/passwd là nơi lưu trữ thông tin cơ bản về tất cả các tài khoản người dùng trên hệ thống. Mỗi dòng trong tệp đại diện cho một người dùng và bao gồm 7 trường thông tin, được ngăn cách bởi dấu hai chấm (:):

    1. Username (Tên người dùng): Tên định danh duy nhất dùng để đăng nhập.
    2. Password Indicator (Chỉ báo mật khẩu): Thường hiển thị là x, biểu thị rằng mật khẩu đã được mã hóa và lưu an toàn trong tệp /etc/shadow.
    3. User ID (UID): Mã số định danh duy nhất của người dùng (Root luôn là 0).
    4. Group ID (GID): Mã số định danh của nhóm chính mà người dùng thuộc về (thông tin nhóm lưu tại /etc/group).
    5. Comment (Thông tin mô tả): Chứa thông tin bổ sung như họ tên đầy đủ của người dùng.
    6. Home Directory (Thư mục cá nhân): Đường dẫn tuyệt đối đến thư mục lưu trữ dữ liệu riêng của người dùng.
    7. Shell: Đường dẫn đến chương trình shell mặc định sẽ khởi chạy khi người dùng đăng nhập (ví dụ: /bin/bash).
    Cấu trúc tệp tin /etc/passwd trong Linux
    Cấu trúc tệp tin /etc/passwd trong Linux

    Kiểm tra nhóm của người dùng hiện tại

    Bạn chạy lệnh để kiểm tra nhóm của người dùng hiện tại:

    groups

    Lệnh này in ra tất cả các nhóm của người dùng hiện tại với kết quả hiển thị như sau:

    In ra tất cả các nhóm của người dùng hiện tại
    Kiểm tra groups của user hiện tại

    Ngoài lệnh groups, bạn cũng có thể sử dụng lệnh sau để kiểm tra nhóm bằng cách truy vấn vào hệ thống nhóm của Linux:

    getent group | grep $(whoami)

    Lệnh này giúp bạn hiển thị các dòng nhóm trong hệ thống mà trong thành viên có chứa tài khoản người dùng hiện tại. Nhờ đó, bạn có thể xác định chính xác các nhóm mà mình đang tham gia.

    Hiển thị các dòng nhóm trong hệ thống mà trong thành viên có chứa tài khoản người dùng hiện tại
    Hiển thị các dòng nhóm trong hệ thống mà trong thành viên có chứa tài khoản người dùng hiện tại

    Kiểm tra nhóm của người dùng khác

    Nếu bạn muốn kiểm tra một người dùng khác (ví dụ admin), hãy chạy lệnh sau:

    groups admin

    Lệnh này sẽ liệt kê tất cả các nhóm mà tài khoản admin hiện đang thuộc về, giúp quản trị viên dễ dàng xác định quyền hạn của tài khoản này trong hệ thống:

    Liệt kê tất cả các nhóm mà tài khoản admin hiện đang thuộc về
    Kiểm tra groups của user khác

    Ngoài ra, bạn cũng có thể kiểm tra bằng lệnh truy vấn nhóm như sau:

    getent group | grep ‘\badmin\b’

    Lệnh này sẽ lọc ra những groups có users admin:

    Lọc ra những groups có users admin
    Lọc ra những groups có users admin

    Xem thông tin chi tiết về nhóm của một người dùng

    Để xem thông tin về nhóm của một người dùng cụ thể, bạn có thể sử dụng lệnh sau:

    id <tên_user>

    Trong đó, <tên_user> là tên tài khoản mà bạn muốn kiểm tra. Ví dụ:

    id admin

    Kết quả trả về sẽ cung cấp những thông tin sau:

    Những thông tin được hiển thị
    Hiển thị chi tiết về group của 1 user

    Trong đó:

    • uid: Mã định danh của người dùng.
    • gid: Mã định danh của nhóm chính.
    • groups: Danh sách tất cả các nhóm mà tài khoản này tham gia, kèm mã số và tên nhóm.

    Xem tất cả nhóm và thành viên trong hệ thống

    Trong Linux, mọi nhóm người dùng đều được lưu trong file /etc/group, để liệt kê tất cả các nhóm có trong hệ thống, bạn có thể sử dụng một trong hai lệnh sau:

    cat /etc/group
    # Hoặc
    getent group

    Hai lệnh này sẽ hiển thị danh sách tất cả các nhóm cùng thông tin về mã nhóm và các thành viên thuộc từng nhóm, mỗi dòng tương ứng một nhóm.

    Hiển thị tất cả groups trong linux
    Hiển thị tất cả groups trong linux

    Ví dụ, bạn thấy dòng sau:

    adm:x:4:syslog

    Dòng adm:x:4:syslog nghĩa là nhóm adm có một người dùng là syslog và có id nhóm là 4, nếu phần cuối dòng trống tức là nhóm đó chưa có thành viên nào. Hoặc bạn cũng có thể sử dụng lệnh getent để kiểm tra nhóm người dùng của 1 user.

    Ví dụ: Để tìm tất cả các dòng trong danh sách nhóm có tên chính xác là Alice, bạn có thể dùng lệnh:

    getent group | grep ‘\balice\b’

    Lệnh này sẽ lọc danh sách nhóm chỉ giữ lại những dòng mà người dùng alice là thành viên, giúp xác định nhanh chóng các nhóm đang chứa người dùng này.

    Giữ lại những dòng mà người dùng alice là thành viên
    Giữ lại những dòng mà người dùng alice là thành viên

    iconLưu ý

    Ký hiệu \b trong regex giúp kiểm tra đúng tên, tránh nhầm lẫn với những tên tương tự như alicex hoặc balice.

    Lưu ý bảo mật khi quản lý nhóm người dùng trong Linux

    Việc cấu hình sai quyền hạn cho nhóm người dùng có thể tạo ra lỗ hổng bảo mật nghiêm trọng. Quản trị viên hệ thống cần tuân thủ các nguyên tắc sau:

    • Cập nhật quyền hạn: Khi thêm user vào một nhóm mới, quyền sẽ không có hiệu lực ngay, do đó User bắt buộc phải đăng xuất và đăng nhập lại để hệ thống cập nhật.
    • An toàn bảo mật: Bạn cần cẩn trọng khi thêm user vào các nhóm như sudo, wheel hay root và chỉ cấp quyền này cho những người quản trị thực sự cần thiết.
    • Phương pháp cấu hình: Bạn tránh chỉnh sửa thủ công file /etc/group để tránh lỗi cú pháp làm hỏng hệ thống, hãy ưu tiên dùng lệnh chuẩn như usermod, groupadd.
    • Dọn dẹp trước khi xóa: Trước khi xóa một nhóm (groupdel), bạn cần kiểm tra xem nhóm đó có đang sở hữu file hay chạy dịch vụ nào không để tránh gây lỗi dữ liệu.
    • Áp dụng nguyên tắc đặc quyền tối thiểu: Chỉ cấp cho nhóm người dùng những quyền hạn vừa đủ để thực hiện công việc của họ. Việc cấp quyền quá rộng (như quyền ghi vào các thư mục hệ thống) có thể bị tin tặc khai thác để leo thang đặc quyền hoặc đánh cắp dữ liệu.
    • Sử dụng các lệnh phân quyền chính xác:
      • chmod: Dùng để thiết lập quyền đọc (read), ghi (write), và thực thi (execute) cho chủ sở hữu, nhóm và người khác.
      • chgrp: Dùng để thay đổi nhóm sở hữu của một tệp hoặc thư mục.
      • setfacl: Sử dụng Access Control Lists (ACL) để thiết lập quyền chi tiết hơn. Ví dụ: setfacl -m g:dev:rw /var/log/app.log cho phép nhóm “dev” có quyền đọc/ghi trên một tệp log cụ thể mà không cần thay đổi chủ sở hữu.
    Lưu ý khi nhóm người dùng trong Linux
    Bạn cần kiểm tra kỹ trước khi xóa nhóm (Nguồn: Internet)

    Câu hỏi thường gặp

    Lệnh id trong Linux cung cấp những thông tin nào hỗ trợ quản trị viên ngoài danh sách nhóm user?

    Lệnh id không chỉ liệt kê các nhóm mà còn hiển thị uid (mã định danh user), gid (mã nhóm chính), giúp xác định vai trò mặc định của user và kiểm soát nhóm chính dùng khi tạo file/thư mục mới. Điều này rất quan trọng để quản lý quyền sở hữu file và xác minh quyền hạn thực tế của user.

    Làm sao tìm chính xác toàn bộ nhóm của một user bất kỳ mà tránh trùng tên khi dùng grep?

    Bạn nên sử dụng cú pháp regex với giới hạn từ, ví dụ:
    getent group | grep '\balice\b'
    Regex \b giúp lọc đúng tên user “alice”, tránh nhầm với các tên như “alicex” hay “malice”.

    Khi nào nên dùng getent group thay vì xem trực tiếp file /etc/group?

    Ưu tiên dùng getent group nếu hệ thống của bạn có sử dụng dịch vụ xác thực ngoài như LDAP, NIS,… Lệnh này lấy thông tin nhóm qua NSS, tổng hợp từ nhiều nguồn, kết quả vì thế đầy đủ và chính xác hơn.

    Tóm lại, nhóm người dùng trong Linux là công cụ quản trị mạnh mẽ giúp đơn giản hóa phân quyền, tối ưu quản lý và đảm bảo an toàn hệ thống. Việc thường xuyên kiểm tra, cấu hình đúng cách các nhóm và sử dụng lệnh tiêu chuẩn sẽ giúp hệ thống vận hành linh hoạt, nhất quán, hạn chế rủi ro bảo mật và tiết kiệm thời gian cho quản trị viên. Chúc bạn thao tác thành công và mới bạn tham khảo các bài viết liên quan đến chủ đề Linux ngay dưới đây:

    5/5 - (1 bình chọn)
    Nguyễn Hưng
    Tôi là Nguyễn Hưng hay còn được biết đến với nickname là Bo, chuyên gia về hệ thống, mạng và bảo mật. Tôi là Co-Founder của Vietnix và Co-Founder của dự án Chống Lừa Đảo.
    0 0 đánh giá
    Đánh giá bài viết
    Theo dõi
    Thông báo của
    guest
    0 Góp ý
    Cũ nhất
    Mới nhất Được bỏ phiếu nhiều nhất
    Phản hồi nội tuyến
    Xem tất cả bình luận

    BÀI VIẾT LIÊN QUAN

    Dùng lệnh chmod trên Linux để quản lý quyền truy cập file và thư mục hiệu quả
    Dùng lệnh chmod trên Linux để quản lý quyền truy cập file và thư mục hiệu quả

    Lệnh chmod trong Linux là công cụ dùng để thiết lập và thay đổi quyền truy cập đối với file và thư mục trong hệ thống. Việc cấu hình quyền đúng cách giúp kiểm soát truy cập, tăng cường bảo mật và hạn chế các lỗi phát sinh khi vận hành ứng dụng. Trong bài…

    10/02/2026

    Sử dụng lệnh passwd trên Linux quản lý mật khẩu người dùng an toàn và hiệu quả
    Sử dụng lệnh passwd trên Linux quản lý mật khẩu người dùng an toàn và hiệu quả

    Lệnh passwd trong Linux là công cụ dòng lệnh dùng để thiết lập, thay đổi và quản lý mật khẩu của tài khoản người dùng trên hệ thống. Việc sử dụng passwd đúng cách giúp tăng cường bảo mật, kiểm soát quyền truy cập và hạn chế rủi ro liên quan đến tài khoản người…

    10/02/2026

    Lệnh zcat trong Linux là gì? Cách sử dụng lệnh zcat kèm ví dụ dễ hiểu
    Lệnh zcat trong Linux là gì? Cách sử dụng lệnh zcat kèm ví dụ dễ hiểu

    Lệnh zcat trong Linux là công cụ dòng lệnh dùng để xem và xử lý nội dung của các file nén định dạng .gz mà không cần giải nén. Với zcat, bạn có thể nhanh chóng đọc dữ liệu, kết hợp cùng các lệnh như grep, less, head để phân tích file nén một cách…

    10/02/2026

    Hướng dẫn sử dụng lệnh groupdel trên Linux để xoá nhóm người dùng
    Hướng dẫn sử dụng lệnh groupdel trên Linux để xoá nhóm người dùng

    Lệnh groupdel trong Linux là công cụ dòng lệnh dùng để xóa nhóm người dùng khỏi hệ thống. Việc sử dụng groupdel đúng cách giúp hệ thống gọn gàng hơn, hạn chế rủi ro phân quyền sai và tăng tính bảo mật trong quá trình quản trị. Trong bài viết này, mình sẽ cùng bạn…

    09/02/2026

    linux

    system-linux

    text