Tin tức và phân tích của tất cả các thiết bị di động

Cách Linux lưu trữ và quản lý mật khẩu người dùng

Bạn có tự hỏi làm thế nào Linux quản lý hiệu quả một môi trường nhiều người dùng? Trong bài viết này, chúng tôi giải thích cách Linux lưu trữ và quản lý mật khẩu và thông tin đăng nhập của người dùng.

Khám phá tập tin / etc / passwd

Khi người dùng nhập tên người dùng và mật khẩu, Linux sẽ kiểm tra mật khẩu đã nhập đối với mục nhập trong một số tệp trong thư mục Cấm / etc.

Các tập tin / etc / passwd là một trong những tập tin quan trọng nhất lưu trữ thông tin người dùng.

tập tin hiển thị / etc / passwd

Mục cuối cùng trong tập tin này tương ứng với người dùng carbon carbon. Có nhiều trường thông tin được phân tách bằng dấu hai chấm (:).

    carbon: tên của người dùng mà mục này tương ứng với.x: cho biết mật khẩu tồn tại cho người dùng. Tuy nhiên, mật khẩu được lưu trữ trong tập tin tên lửa / etc / bóng. Nếu thay vì x nó hiển thị a! biểu tượng, điều này chỉ ra rằng mật khẩu không tồn tại.1000: ID người dùng của người dùng này.1000: ID nhóm của nhóm người dùng này thuộc về carbon ,,,, biểu thị nhiều trường thông tin bao gồm tên đầy đủ và số điện thoại. Ở đây, không có số điện thoại nào được cung cấp. / Home / carbon: vị trí của thư mục chính được gán cho người dùng này. / Bin / bas: shell mặc định được gán cho người dùng này.

Hãy để chúng tôi tạo một người dùng khác mà một số số điện thoại đã được lưu trữ. Người dùng và người dùng Pluto Cảnh được thêm vào hệ thống bằng lệnh adduser.

lĩnh vực GECOS người dùng linux

Nhìn lại tệp tin etc / passwd, một lần nữa, chúng ta có thể xem thông tin đầy đủ cho người dùng, pluto .uto Trường có danh sách đầy đủ tên và số được phân tách bằng dấu phẩy được gọi là trường GECOS.

hiển thị / etc / passwd với chi tiết điện thoại

Bất cứ khi nào người dùng được tạo, các giá trị của thư mục chính và shell mặc định cần được chỉ định sẽ được chỉ định trong tệp /etc/adduser.conf.

người dùng

ID người dùng cho người dùng đã tạo bắt đầu từ 1000 và chạy lên tới 59999.

Người dùng sử dụng carbon carbon có thể xem các mục trong tệp của tập tin / etc / passwd chỉ bằng cách sử dụng lệnh cat. Chúng ta hãy xem các quyền của nó.

/ etc / passwd cho phép tập tin

Chỉ người dùng gốc Root có thể ghi vào tập tin. Những người dùng khác chỉ có thể đọc tệp. Vì mọi người đều có thể đọc được tệp này, nên không thể lưu trữ mật khẩu ở đây. Thay vào đó, nó được lưu trữ trong một tập tin khác có tên là Wap / etc / Shadow.

Khám phá tệp / etc / bóng

Bây giờ chúng ta hãy thử xem mật khẩu được lưu trữ cho người dùng.

/ etc / bóng bị từ chối

Nhìn vào các quyền đối với tập tin trên mạng / etc / bóng tối, chúng ta có thể thấy rằng chỉ người dùng gốc Root có thể đọc và ghi vào tệp. Ngoài ra, chỉ có các thành viên của nhóm Bóng tối có thể đọc tệp. Trong thực tế, nhóm bóng tối trên mạng trống rỗng nhưng được yêu cầu về mặt cú pháp cho tệp này.

/ etc / quyền tập tin bóng

Đăng nhập với tư cách là root, chúng tôi có thể xem mười dòng cuối cùng của Vv / etc / bóng. Đối với mỗi mục nhập trong Trò chơi / etc / passwd, có một mục tương ứng trong tệp này. Các định dạng sẽ như thế này:

pluto:$6$JvWfZ9u....:18283:0:99999:7:::

mục hiển thị / etc / bóng

Trong tệp này cũng vậy, mọi mục nhập có nhiều trường được phân tách bằng dấu hai chấm (:). Hãy để chúng tôi giải mã mục nhập cho người dùng Pluto tinh.

    pluto: tên của người dùng mà mục này tương ứng với. $6$ JvWfZ9u. $ YGFIqOJ ….: Mật khẩu người dùng băm được lưu trữ cùng với thông tin về thuật toán băm được sử dụng. Ngoài ra, một giá trị muối được sử dụng cùng với mật khẩu văn bản gốc để tạo ra mật khẩu băm.
{ plaintext password, salt} -> hashed password

Hãy để chúng tôi xử lý nội dung trong lĩnh vực này. Ký hiệu $ được sử dụng làm dấu phân cách để phân tách ba trường.

$6  $JvWfZ9u.  $yGFIqOJ....
    $6 : thuật toán băm được sử dụng. Dưới đây là danh sách các thuật toán băm tiềm năng.

      $1 : MD5 $ 2a: Cá kiếm $ 2y: Eksblowfish $5 : SHA-256 $6 : SHA-512

    $ JvWfZ9u. : giá trị muối. $ yGFIqOJ ….: mật khẩu băm.

Giá trị băm kết quả được lưu trữ dưới dạng mật khẩu được mã hóa cho người dùng. Giá trị muối là duy nhất cho mỗi người dùng. Ngay cả khi hai người dùng có cùng mật khẩu văn bản gốc, sử dụng một loại muối duy nhất sẽ tạo ra một giá trị băm duy nhất.

Theo sau với các trường còn lại trong mục này,

    18283: Cho biết số ngày kể từ tháng 1 1, 1970, mật khẩu được thay đổi lần cuối0: trường này được sử dụng để chỉ ra số ngày sau đó mật khẩu có thể được thay đổi. Giá trị của 0 có nghĩa là mật khẩu có thể được thay đổi bất cứ lúc nào.99999: trường này cho biết số ngày sau đó mật khẩu phải được thay đổi. Giá trị 99999 cho biết người dùng có thể giữ lại mật khẩu miễn là bạn muốn.7 : nếu mật khẩu được đặt hết hạn, các trường này cho biết số ngày cảnh báo người dùng về hết hạn mật khẩu. ::: Ba trường nữa là một phần của mục này, mặc dù chúng trống ở đây. Số đầu tiên cho biết số ngày chờ đợi sau khi hết hạn mật khẩu, sau đó tài khoản sẽ bị vô hiệu hóa. Số thứ hai cho biết số ngày kể từ tháng 1 1, 1970, một tài khoản đã bị vô hiệu hóa. Trường thứ ba được dành riêng để sử dụng trong tương lai. Các trường trống cho biết mật khẩu hiện tại của người dùng này chưa hết hạn và không được thiết lập hết hạn sớm.

Bảy trường cuối cùng liên quan đến tính hợp lệ của mật khẩu được gọi chung là nắm giữ thông tin về Chính sách lão hóa mật khẩu.

Các giá trị mặc định tương ứng với Chính sách lão hóa mật khẩu của người dùng được chỉ định trong tập tin /etc/login.defs. Những giá trị này có thể được thay đổi cho người dùng bằng lệnh thay đổi.

login.defs

Còn thông tin nhóm thì sao?

Thông tin người dùng và mật khẩu được lưu trữ trong các tập tin trên mạng / etc / passwd và và / Tương tự như vậy, thông tin nhóm được lưu trữ trong tệp Tập tin / etc / nhóm.

mục hiển thị / etc / nhóm

Nổi bật ở trên là các nhóm thuộc về người dùng Hồi giáo carbon và Diêm vương. Khi một người dùng được tạo trong Linux, người dùng đó ngay lập tức được gán cho một nhóm có cùng tên với tên người dùng.

Các thành viên của một nhóm cũng có thể chia sẻ mật khẩu nhóm cho các hoạt động liên quan đến nhóm. Giá trị của x chỉ ra rằng thông tin mật khẩu của nhóm đó sẽ nằm trong tập tin của Cameron / etc / gshadow.

Tuy nhiên, quyền truy cập vào nhóm / etc / gshadow 'bị hạn chế đối với người dùng gốc Root.

/ etc / gshadow bị từ chối

Người dùng gốc Rễ có thể xem các mục của Cấm / etc / gshadow, phạm vi tương tự với Tấn / etc / bóng. Nhìn vào mục nhập của nhóm carbon carbon, chúng ta có thể thấy rằng trường thứ hai có giá trị là !, cho biết mật khẩu không tồn tại cho nhóm này.

Mật khẩu 11

Để tất cả chúng cùng nhau

Khi người dùng muốn đăng nhập, hàm băm của mật khẩu đã nhập được tìm thấy bằng cách sử dụng giá trị muối của người dùng đó trong cuốn / etc / bóng. Sau đó, nó được so sánh với hàm băm được lưu trữ. Nếu các giá trị khớp, người dùng được cấp quyền truy cập.

Liên quan:

Bài viết này có hữu ích không? Có không