id command in linux

Tìm hiểu lệnh id trong Linux: Tất tần tật từ A đến Z

Chào các bạn yêu thích Linux! Chắc hẳn trong quá trình làm việc với hệ điều hành này, bạn đã từng nghe đến lệnh id. Nhưng bạn có thực sự hiểu rõ về nó, cách nó hoạt động và những ứng dụng thực tế của nó?

Trong bài viết này, chúng ta sẽ cùng nhau khám phá mọi ngóc ngách của lệnh id, từ cú pháp cơ bản đến các tùy chọn nâng cao, và cả những ví dụ thực tế giúp bạn nắm vững kiến thức này. Hãy cùng bắt đầu nhé!

Lệnh id là gì?

Lệnh id là một công cụ dòng lệnh trong Linux và các hệ điều hành Unix-like, được sử dụng để hiển thị thông tin về người dùng hiện tại hoặc một người dùng cụ thể. Thông tin này bao gồm:

  • UID (User ID): Số định danh duy nhất cho người dùng.
  • GID (Group ID): Số định danh duy nhất cho nhóm chính của người dùng.
  • Groups: Danh sách các nhóm mà người dùng là thành viên.

Nói một cách dễ hiểu, lệnh id giúp bạn xác định danh tính của người dùng trong hệ thống, giống như một "chứng minh thư" kỹ thuật số vậy.

Cú pháp cơ bản của lệnh id

Cú pháp của lệnh id rất đơn giản:

id [TÙY CHỌN] [USERNAME]
  • id: Lệnh gọi thực thi.
  • [TÙY CHỌN]: Các tùy chọn để điều chỉnh đầu ra của lệnh (sẽ được giới thiệu chi tiết bên dưới).
  • [USERNAME]: Tên người dùng mà bạn muốn xem thông tin. Nếu bỏ qua, lệnh sẽ hiển thị thông tin của người dùng hiện tại.

Các tùy chọn thường dùng của lệnh id

Lệnh id cung cấp một số tùy chọn hữu ích để bạn có thể tùy chỉnh thông tin hiển thị. Dưới đây là một vài tùy chọn phổ biến:

  • -u: Chỉ hiển thị UID của người dùng.
  • -g: Chỉ hiển thị GID của người dùng.
  • -G: Chỉ hiển thị danh sách các nhóm mà người dùng là thành viên.
  • -n: Hiển thị tên thay vì số (ví dụ: tên người dùng thay vì UID).
  • -r: Hiển thị UID và GID thực tế (real UID/GID) thay vì UID và GID hiệu quả (effective UID/GID).

Ví dụ thực tế

Để hiểu rõ hơn về cách sử dụng lệnh id, hãy cùng xem một vài ví dụ:

  1. Hiển thị thông tin của người dùng hiện tại:
    id

    Kết quả có thể tương tự như:

    uid=1000(user) gid=1000(user) groups=1000(user),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),113(lpadmin),128(sambashare)
  2. Hiển thị UID của người dùng hiện tại:
    id -u

    Kết quả có thể là:

    1000
  3. Hiển thị GID của người dùng hiện tại:
    id -g

    Kết quả có thể là:

    1000
  4. Hiển thị danh sách các nhóm mà người dùng hiện tại là thành viên:
    id -G

    Kết quả có thể là:

    1000 4 24 27 30 46 113 128
  5. Hiển thị thông tin của người dùng "john":
    id john

    Kết quả có thể tương tự như:

    uid=1001(john) gid=1001(john) groups=1001(john)
  6. Hiển thị tên người dùng thay vì UID:
    id -un

    Kết quả có thể là:

    user

Ứng dụng thực tế của lệnh id

Lệnh id không chỉ là một công cụ để xem thông tin người dùng. Nó còn được sử dụng rộng rãi trong các script và chương trình để kiểm tra quyền truy cập, phân quyền, và thực hiện các tác vụ quản lý hệ thống. Dưới đây là một vài ví dụ:

  • Kiểm tra xem người dùng có phải là root hay không:
    if [ $(id -u) -eq 0 ]; then
      echo "Bạn đang chạy với quyền root."
    else
      echo "Bạn không phải là root."
    fi
  • Kiểm tra xem người dùng có thuộc một nhóm cụ thể hay không:
    if groups $USER | grep -q "groupname"; then
      echo "Người dùng $USER là thành viên của nhóm groupname."
    else
      echo "Người dùng $USER không phải là thành viên của nhóm groupname."
    fi
  • Phân quyền truy cập dựa trên UID/GID:

    Trong các script, bạn có thể sử dụng UID và GID để xác định quyền truy cập của người dùng và thực hiện các hành động phù hợp.

So sánh lệnh id với các lệnh tương tự

Ngoài lệnh id, Linux còn cung cấp một số lệnh khác có chức năng tương tự, như whoami, groups, và who. Dưới đây là bảng so sánh giữa các lệnh này:

Lệnh Mô tả Thông tin cung cấp
id Hiển thị thông tin về người dùng, bao gồm UID, GID và danh sách các nhóm. UID, GID, danh sách nhóm
whoami Hiển thị tên người dùng hiện tại. Tên người dùng
groups Hiển thị danh sách các nhóm mà người dùng là thành viên. Danh sách nhóm
who Hiển thị thông tin về những người dùng đang đăng nhập vào hệ thống. Tên người dùng, terminal, thời gian đăng nhập

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

  1. Làm thế nào để thay đổi UID hoặc GID của người dùng?

    Bạn có thể sử dụng lệnh usermod (để thay đổi UID) và groupmod (để thay đổi GID) với quyền root.

  2. Làm thế nào để thêm người dùng vào một nhóm?

    Bạn có thể sử dụng lệnh usermod -a -G groupname username với quyền root.

  3. UID và GID có thể trùng nhau không?

    Có, UID và GID có thể trùng nhau, nhưng thường thì không nên để chúng trùng nhau để tránh nhầm lẫn.

Kết luận

Vậy là chúng ta đã cùng nhau tìm hiểu chi tiết về lệnh id trong Linux. Hy vọng rằng, với những kiến thức và ví dụ đã được trình bày, bạn đã có thể hiểu rõ hơn về công cụ này và áp dụng nó một cách hiệu quả trong công việc hàng ngày.

Đừng ngần ngại thử nghiệm các tùy chọn khác nhau của lệnh id và khám phá thêm những ứng dụng thú vị của nó. Chúc bạn thành công!

Last Updated : 21/08/2025