Hệ điều hành Linux là một hệ điều hành đa người dùng. Để tạo điều kiện quản lư người dùng thích hợp. Hệ thống lưu trữ thông tin người dùng trong file /etc/passwd.
Hướng dẫn này sẽ giúp bạn hiểu file passwd là ǵ và vai tṛ quan trọng của file này khi quản lư người dùng trong Linux.
File /etc/passwd là ǵ?
File passwd trong Linux là file cấu h́nh chứa thông tin chi tiết về người dùng. Một đặc điểm quan trọng của file passwd là nó là file văn bản ASCII mà người dùng có thể chỉnh sửa dễ dàng bằng bất kỳ tŕnh soạn thảo văn bản nào như Nano và Vim.
Mặc dù bạn có thể thêm và quản lư người dùng trực tiếp bằng cách sử dụng file passwd, nhưng không nên thực hiện điều đó v́ hành động này dễ mắc lỗi chính tả và gây ra sự cố. Thay vào đó, bạn nên sử dụng các lệnh quản lư người dùng khác nhau như useradd để thêm người dùng vào hệ thống của ḿnh.
Xem file /etc/passwd
Để xem nội dung của file passwd, bạn có thể sử dụng bất kỳ tŕnh soạn thảo văn bản nào hoặc công cụ lệnh xem file. Trong hướng dẫn này, bài viết sẽ sử dụng lệnh cat:
cat /etc/passwd
Đầu ra sẽ tương tự như bên dưới.
Mỗi ḍng thực sự đại diện cho một user trên hệ thống của bạn, v́ vậy đừng ngạc nhiên khi bạn có rất nhiều userđược liệt kê. Hầu hết họ là người dùng hệ thống kiểm soát các ứng dụng cụ thể trên máy Linux của bạn. Ví dụ, user mail chịu trách nhiệm cho ứng dụng Mail.
Giải thích các trường trong file /etc/passwd
Từ kết quả đầu ra ở trên, rất rơ ràng rằng file /etc/passwd tuân theo một mẫu rất cụ thể.
Mỗi ḍng user được chia nhỏ hơn nữa thành 7 phần hoặc trường được phân tách bằng kư tự dấu hai chấm (
như bên dưới.
1. Username
Trường đầu tiên trong một ḍng đại diện cho tên người dùng hoặc tên đăng nhập của người dùng. Trong ví dụ trên, tên người dùng là john.
2. Password
Trường thứ hai hiển thị mật khẩu được mă hóa của người dùng. V́ mục đích bảo mật, mật khẩu được giữ trong một file riêng biệt mà người dùng thông thường không thể đọc được. File /etc/shadow lưu trữ mật khẩu của người dùng trong Linux.
Thông thường, trường mật khẩu chứa một dấu x để cho thấy rằng file shadow đang lưu trữ mật khẩu một cách bảo mật. Nếu trường trống th́ người dùng không cần mật khẩu để đăng nhập. Để duy tŕ bảo mật hệ thống tổng thể, mọi người dùng trên hệ thống của bạn phải có mật khẩu. Bạn có thể sử dụng lệnh passwd để thay đổi hoặc quản lư mật khẩu người dùng trong Linux.
3. User ID
Trường User ID, thường được gọi là UID, là một số được hệ thống Linux sử dụng để xác định người dùng. Hầu hết người dùng hệ thống có User ID ít hơn con số 1000 trong khi người dùng thông thường có ID từ 1000 trở lên. Người dùng root (admin) thường có ID là 0.
4. Group ID
Trường thứ tư dành cho ID nhóm (thường được gọi là GID). Giống như ID người dùng, GID cũng là một số. ID nhóm xác định nhóm chính của một người dùng. Ngoài ra, GID phân loại tất cả người dùng trong các nhóm cụ thể để việc quản trị dễ dàng hơn. Một người dùng có thể thuộc nhiều nhóm trong Linux. Để t́m hiểu thêm về nhóm người dùng thuộc về bạn, bạn có thể xem file /etc/group.
cat /etc/group
5. GECOS
Trường tiếp theo là trường GECOS. Nó thường chứa tên đầy đủ của người dùng và các chi tiết bổ sung như số điện thoại hoặc số pḥng, được phân tách bằng dấu phẩy. Trường này là tùy chọn và do đó có thể để trống.
6. Home Directory
Trường này chứa thư mục /home được liên kết với người dùng. Đây là thư mục chính lưu trữ các file người dùng chính và các thư mục như /Desktop và /Pictures. Trong ví dụ này, thư mục chính của người dùng là /home/john.
Có các thư mục home riêng biệt cho mỗi user là một trong những yếu tố cho phép Linux trở thành một hệ điều hành đa người dùng thực sự.
7. Shell
Trường này chứa tên của shell mặc định được liên kết với người dùng. Shell là môi trường mà người dùng có thể chạy các lệnh và script. Hầu hết các bản phân phối Linux sử dụng Bourne Again Shell (Bash) làm chương tŕnh shell mặc định.