Cái kho của thế giới mạng
Bạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.

Tìm hiểu cấu trúc của file /etc/passwd

Go down

Tìm hiểu cấu trúc của file /etc/passwd Empty Tìm hiểu cấu trúc của file /etc/passwd

Bài gửi by Admin Wed May 18, 2011 4:07 pm

Khi làm quen với Linux, hẳn bạn đã biết đến file passwd (có 1 lệnh cũng tên là passwd dùng để thay đổi password của user). Nghe tên file passwd bạn có thể đoán chừng nó có chứa thông tin về mật khẩu của người dùng trên máy tính, liệu có phải vậy không? Bài viết dưới đây sẽ giải thích định dạng của file /etc/passwd
File passwd (dạng text) nằm ở thư mục /etc chứa danh sách các tài khoản trên hệ thống, cung cấp thông tin hữu ích về mỗi tài khoản như : User ID, Group ID, Home Directory, Shell... Thường thì nó cũng chứa password dạng encoded của mỗi tài khoản. Mặc định mọi user đều chỉ có quyền read đối với file này, điều này rất cần thiết cho nhiều chương trình, VD lệnh ls cần đọc file này để biết được ánh xạ giữa username và UID. Riêng root có thêm quyền write.
Hồi đầu thì không có vấn đề gì khi encoded password được lưu trong file passwd với quyền read cho tất cả mọi người. Bởi vì lúc trước tốc độ xử lý của phần cứng còn chậm, nên dù hacker biết được encoded password này thì việc crack password rất khó, mất nhiều thời gian, nhất là với strong password mà được encode sử dụng giải thuật “băm” 1 chiều như MD5, SHA-1
Khi mà sức mạnh phần cứng ngày càng “khủng” thì các HDH *nix sau này như System V Release 3.2 (1987), BSD4.3 Reno (1991) và Linux (1992) ứng dụng cơ chế shadow password (file /etc/shadow) nhằm khắc phục nguy cơ hacker sử dụng brute force, dictionary attack để dò tìm password từ encoded password. Theo đó, thì
+ encoded password được đưa vào file /etc/shadow, trường password trong file /etc/passwd được thay bằng dấu * (hoặc x)
+ chỉ có root mới có toàn quyền với file shadow, file passwd vẫn cho đọc vô tư
+ binary file password (/usr/bin/passwd) được set SUID để khi user thông thường chạy lệnh passwd (đổi password) vẫn có thể ghi vào file shadow hoặc khi đọc encoded password từ shadow trong quá trình login
Mỗi dòng trong file /etc/passwd là thông tin về 1 user. Có tất cả 7 trường (cột) trên mỗi dòng, các trường được phân tách bởi dấu 2 chấm ( : ) . VD
Tìm hiểu cấu trúc của file /etc/passwd 1
1. Username: Được sử dụng khi user login, không nên chứa các ký tự in hoa trong username
2. Password: Nếu sử dụng shadow password thì nên sử dụng dấu * hoặc ký tự x (gõ man pwcnv, man shadow để hiểu rõ hơn)
3. User ID (UID): Đây là 1 số nhận dạng được gán cho mỗi user, hệ thống sử dụng UID hơn là username để làm việc với user.
4. Group ID (GID): Là 1 con số của Group đầu tiên mà user này tham gia (thông tin các Group có trong file /etc/group)
5. User ID Info (còn gọi là GECOS): Trường này không quan trọng lắm, để trống cũng được vì chỉ dùng cho mục đích khai báo thêm thông tin về user như: fullname, số ĐT. Lệnh finger sẽ cung cấp thêm những thông tin này
6. Home directory: Phải là đường dẫn đầy đủ tới thư mục sẽ làm thư mục chủ cho user, mặc định đây sẽ là working direcroty khi user login. Nếu bạn chỉ đến 1 thư mục không tồn tại thì hệ thống sẽ tự gán là thư mục gốc (/)
7. Shell: Đường dẫn đầy đủ tới Login Shell (trên Linux thường là /bin/bash). Nếu để trống trường này thì Login Shell mặc định là /bin/sh, nếu chỉ tới 1 file không tồn tại thì user không thể login vào hệ thống từ console hoặc qua SSH bằng lệnh login. Nhưng user vẫn có thể đăng nhập thông qua giao diện đồ họa (cái này gọi là non-login Shell)
By manthang [You must be registered and logged in to see this link.]
Admin
Admin
Admin

Tổng số bài gửi : 985
Points : 2798
Danh tiếng : 0
Join date : 13/03/2011

https://chobe.forum-viet.com

Về Đầu Trang Go down

Về Đầu Trang

- Similar topics

 
Permissions in this forum:
Bạn không có quyền trả lời bài viết