Chắc hẳn trong quá trình sử dụng các Hệ điều hành thuộc họ Unix, chúng ta cũng ít nhất một lần nghe tới file /etc/passwd. Vậy trong bài viết hôm nay, chúng ta sẽ cùng nhau tìm hiểu về chức năng cũng như nội dung của file này.

A. /etc/passwd là gì?

  • /etc/passwd là một file text, file này có tác dụng lưu trữ thông tin về các user tồn tại trong hệ thống. Ngoài việc lưu trữ list các user, file này còn thể hiện nhiều thông tin liên quan tới user như các quyền user, ID của user,…
  • Thường thì file này chứa mật khẩu dạng mã hóa (encoded password) của mỗi tài khoản. Thông thường, mọi user đều chỉ có duy nhất quyền đọc (read) đối với file này, điều này rất cần thiết cho nhiều chương trình. Có thể ví dụ lệnh ls cần đọc file này để biết được ánh xạ giữa Username và User ID. Chỉ riêng root được chỉnh sửa file này (quyền write).

B. Đọc hiểu nội dung file /etc/passwd

Chúng ta cat nội dung file này để xem từng trường nội dung

Hình: Nội dung file /etc/passwd
Các trường sẽ được ngăn cách với nhau bởi dấu “:”
[1] – [username] username có độ dài từ 1 đến 32 ký tự.
[2] – [password] trường này để chữ “x”, thể hiện password đã được mã hóa và đoạn mã hóa được lưu trong một file khác: /etc/shadow
[3] – [UID] Mỗi user trên hệ thống sẽ được gán với một mã ID (giống số CMND của chúng ta).

Lưu ý: UID = 0 là của user root, 1-999 dùng cho các user hệ thống.

[4] – [GID] Tương tự UID, đây là GroupID, GroupID được định nghĩa trong file /etc/group
[5] – [Comment] trường này có chức năng mô tả ngắn về user, có thể để trống.
[6] – [Home dir] Đường dẫn khi user vừa login vào sẽ mặc định làm việc tại đây.
[7] – [shell] Hiểu nôm na đây là quyền shell của user, mặc định sẽ là /bin/bash thì user được quyền ssh vào server.

Hi vọng rằng chia sẻ trên đây sẽ giúp các bạn có thêm hiểu biết về file /etc/passwd và ứng dụng nó hiệu quả vào trong quá trình làm việc. Chúc các bạn thành công!

Leave a Reply

Your email address will not be published. Required fields are marked *