View Full Version : /etc/passwd và /etc/shadow
sinhvienngheo
13-08-2003, 04:26 PM
hi,
Cả hai file trên đều lưu các password đã được mã hóa. Vậy hai file này khác nhau ở điểm nào?
xin chỉ dẫn,
PhungHai
13-08-2003, 05:56 PM
Có thể so sánh đơn giản giữa hai file này như sau:
1. Về encryption, shadow dùng thuật toán mạnh hơn password file và chống lại tốt hơn kiểu dictionary attach.
2. Về quyền truy cập, chỉ có root mới đọc được file shadow, trong khi đó, mọi người đều có thể đọc được password file.
shadow file được phát triển về sau này và là cách nên dùng để bảo mật user accounts.
thinle
14-08-2003, 12:13 AM
Noi nhu vay thi co nghia la 2 file nay hoan toan doc lap nhau? theo minh hieu thi noi dung 2 file nay hoan toan trung nhau ma. Minh ko ranh lam ve Unix nhung van thinh thoang phai dung den nen ban co the giai thich ro hon mot chut duoc ko? (tai sao goi password file de tao ma shadow file van update luon duoc noi dung cua passwd file?) Thanks.
itsession
14-08-2003, 06:43 AM
/etc/passwd và /etc /shadow khác nhau như sau:
/etc /passwd : chứa dựng tất cả tên những nguời dùng trong máy khi cài Unix hay Linux . Chảng hặn như: user login name, user ID, group ID, và password nhưng bị
má hõa ( encrypted by a hash algorithm). Ai truy tập log vô cũng có thể coi trong directory này .
/etc /shadow : chứa dựng mật mã (passwords) của nguòi dùng, nhưng hiện lên là mã hoá (encrypted), không nhận dạng ra duọc và chỉ có Root mới có thể vô và mở duọc . Nhưng Root vẫn không thể nhìn passwords duọc vì dã má hoá .
:D
PhungHai
14-08-2003, 06:51 PM
Hai file này độc lập với nhau. Tuy vậy khi bạn dùng shadow thì password vẫn phải tồn tại vì chứa login ID và Group ID cho một số process sử dụng. Tuy nhiên khi dùng shadow thì password file không chứa encrypted password.
Debian
15-08-2003, 01:44 AM
Tôi nghe nói /etc/showdow là file được mã hóa một chiều, về nguyên tắc có thể dịch lại được, không biết có chương trình nào có thể dịch lại được không nhỉ các bác?
nausicaa
15-08-2003, 12:34 PM
Đã là mã hoá 1 chiều thì không thể dịch ngược ra được. Để giải mã các passwd đã mã hoá của unix người ta phải dùng phương pháp brush force, tuy nhiên với các mật mã được đặt phức tạp thì gần như là không có khả năng giải ngược với các máy tính thông thường.
PhungHai
15-08-2003, 12:36 PM
Debian,
Nếu đã gọi là file mã hoá một chiều, tức là sẽ không thể dịch ngược lại dùng một thuật toán khác (ngoại trừ là có ai đó phát minh ra được thuật toán dịch ngược). Các chương trình mở khoá cho shadow vẫn dùng phương pháp dictionary attack (Brute Force), tức là thử tất cả các password dùng dictionary file.
Bạn có thể tìm những truơng trình này trên trang neworder.box.sk
Một trong những loại thuật toán 2 chiều có thể dịch ngược lại là loại crypto loại 7 trong Cisco router, enable password của Cisco được mã hoá dùng loại 7 và có thể dễ dàng bị decrypt dùng những tool sẵn có trên Internet.
aboakai
30-08-2003, 04:14 PM
Chương trình crack pass unix thì cơ bản nhất là John the ripper. Nó mã hóa từng từ trong từ điển rồi so sanh vớ mã nếu trùng thì tìm ra pass.
Xin hỏi hình như co 2 loại file passwd. 1 có chứa pass 1 không có phải không?
AnhHaiSG
03-09-2003, 04:15 PM
theo mình hiểu thì /etc/shadow có thể được xem là database của /etc/passwd.các password của user được mã hoá bằng thuật toán DES trong file /etc/shadow nguyên tắc làm việc của thuật toán này khá đơn giản và chắc chắn .Tuy nhiên nó chỉ hiệu quả với những password dài trên 6 ký tự và có kèm cả number.việc lần ngược password vẫn có thể làm được tuy nhiên sẽ khá lâu với những password đặt theo đúng qui cách.Bạn hoàn toàn có thể chép 2 file /etc/passwd và etc/shadow về và crack :P .
xin loi hong the nao go tieng Viet...
minh dong y voi giai thich cua AnhHaiSG. Xin noi them ve lich su thi thuat toan DES cung da duoc su dung tu khi chua co /etc/shadow, viec dat ra /etc/shadow chang qua la de tach password ra khoi mot file /etc/passwd ma thoi. su tien trien ve cach encrypt password khong ham y rang cach encrypt cua /etc/passwd thi kem hieu qua hoac kem an ninh hon cach encrypt cua /etc/shadow vi ...chung la 1. Co che authentication check username va UID trong /etc/passwd, dong thoi tim kiem o password field trong do. Neu co password thi so sanh, neu gap "" thi buoc users change password, con neu gap "x" thi co nghia la password duoc chua trong /etc/shadow. The thoi!
Chuc vui ve
myquartz
23-03-2004, 04:45 PM
Với các hệ UNIX ngày xưa, thì chỉ có /etc/passwd, chứa UserID, GroupID, encrypted password, home dir, shell của tất cả các người dùng, kể cả root. Tuy nhiên file này có gán quyền đọc cho tất cả, vì quyền đọc rất quan trọng để người dùng có thể biết home dir của họ ở đâu. Do đó mọi user đều có encrypted password của tất cả những người khác (kể cả root), dùng vét cạn có thể tìm ra mật khẩu.
Với hệ linux/Unix hiện đại, thì người ta không lưu encrypted password vào /etc/passwd nữa, mà chuyển sang /etc/shadow, chỉ giữ lại /etc/passwd tất cả các thông tin còn lại. File thứ 2 này chỉ có root mới có quyền đọc/ghi, do đó tăng tính bảo mật. Lệnh su, lệnh passwd hoặc lệnh login sẽ đọc/ghi file /etc/shadow khi có yêu cầu đăng nhập/thay đổi mật khẩu.
Giải thuật mã hoá passwd là giải thuật 1 way encryption, có nghĩa là khi đã mã hoá, giải ngược lại sẽ cực khó. Trước kia giải thuật được dùng có tên là salt, nó chỉ mã hoá được tối đa là 6 ký tự, nghĩa là nếu password có dài hơn 6 thì những ký tự thừa sẽ bị bỏ đi và nội dung chuỗi đã mã hoá không khác gì khi chỉ có 6. 2 ký tự đầu trong chuỗi mã salt này chính là 2 chữ cái đầu của UserID, nó được dùng như một yếu tố ngẫu nhiên nhằm tăng tính an toàn. Giải thuật salt này nói chung đã bị hoá giải bởi các chương trình vét cạn do có ít khả năng. Giải thuật salt này được cung cấp bởi một API chuẩn của Linux/UNIX có tên là crypt.
Hiện nay người ta dùng các giải thuật khác để thực hiện việc này, 2 cái thường dùng là MD5 và SHA1. Bạn sẽ phải chọn cách mã hoá khi cài đặt Linux.
Xin xem thêm các tài liệu tham khảo.
inochi
02-06-2004, 04:50 PM
Bạn MyQuartz nói rất đúng nhưng tôi cũng xin bổ xung thêm cho các bạn một chút khi dùng hệ điều hành Sun Solaris thì mật khẩu thực chất chỉ có ý nghĩa đối với 8 ký tự đầu thôi, con số ký tự từ 9 trở đi thực chất không có ý nghĩa. Do đó khi quản trị máy chủ Unix thì các bạn nên bảo vệ 8 ký tự mật khẩu đầu tiên nhé.
myquartz có nhận ra Anh không ???? hehehe
VnPro2005
28-09-2006, 11:20 PM
giờ tôi muốn không lưu password của root và users ở /etc/passwd mà muốn chỉ lưu ở /etc/shadow thì làm thế nào ?
saudoi
01-10-2006, 12:57 AM
Password có được lưu trong /etc/passwd đâu mà bạn VnPro2005 muốn hay ko muốn!!
Theo mặc định hiện nay, password đều được lưu trong /etc/shadow hết. Trong /etc/passwd, field "password" sẽ là 1 chữ "x", ý thông báo là password đc mã hóa và lưu trong /etc/shadow rồi, đừng tìm nữa.... hehehe
x41006
05-10-2006, 12:32 PM
Dung la mac dinh thi password cua solaris chi dai toi da co 8 ky tu, nhung van co the thay doi duoc day cac bac a. Con theo minh viec tach file shadow ra de luu password thay vi de chung voi file password la co ly do cua no day, neu dung dỉectory service (NIS chang han) khi populate may cai file nay va admin quen remove may account nhay cam ra khoi file, neu file password chua password thi ai cung co the xem duoc password root ca, cho du co duoc ma hoa thi viec giai ma cung co co so de thuc hienroi, do vay tinh bao mat khong duoc dam bao.
Con viec dich nguoc password la khong de chut nao, ban thu set password cho 2 user dung cung 1 chuoi di, roi vao file shadow xem thu, no ma hoa ra thanh 2 chuoi hoan toan khac nhau day (cai nay to thu tren Solaris thoi nhe, may he unix khac chua thu, cac bac cu thu xem sao).
Cheers,
GaCisco
26-09-2007, 03:52 PM
Thường khi lấy quyền root thực hiện câu lệnh get user và password, cái nào passwork có dấu * là passwork được ẩn đi và chứa trong .etc/shadow. Nếu muốn lấy passwork thì phải get pass trong shadow mới ra nhưng mà đã bị mã hóa (MD5), lấy pass được rồi thì sử dụng tool để decode (ko chính xác lắm).
Powered by vBulletin® Version 4.1.9 Copyright © 2012 vBulletin Solutions, Inc. All rights reserved.