Câu trả lời:
Bạn nói đúng: /etc/passwd
và /etc/shadow
được tư vấn bởi pam_unix.so
, đó là một phần của PAM. Ít nhất là trên các Linux hiện đại. Bạn có thể thay đổi điều này bằng cách vá pam_unix.so
. Nếu trang chủ được tin tưởng, bạn không thể thay đổi vị trí của cơ sở dữ liệu hệ thống.
Và bạn thực sự không muốn. /etc/passwd
không chỉ được sử dụng để xác thực, nó cũng được sử dụng cho độ phân giải tên (đảo ngược) và để tìm kiếm những thứ như tên đầy đủ của người dùng, shell, et cetera. Tên và vị trí được chuẩn hóa đến mức việc di chuyển chúng gần như chắc chắn sẽ phá vỡ mọi thứ bên ngoài chỉ PAM. Bạn sẽ phải vá nhiều hơn bạn mặc cả.
Cập nhật: Nếu bạn đang cố gắng ẩn các /etc/{passwd,shadow,group}
tệp để bảo mật, đừng lo lắng về nó. Bảo mật bằng cách tối nghĩa hiếm khi giúp như một chính sách. Để chúng ở nơi chúng đang ở và thắt chặt phần còn lại của chính sách của bạn.
Nếu bạn có một số phần mềm tùy chỉnh bạn cần truy cập vào một bộ cơ sở dữ liệu người dùng / nhóm khác nhau, bạn có thể tạo một bản sao của các mô-đun PAM và NSS có liên quan và vá chúng để sử dụng cơ sở dữ liệu tùy chỉnh của bạn. Các cơ sở dữ liệu unix ban đầu ở nơi chúng không bị lẫn lộn, nhưng bạn có thể đặt PAM và NSS để sử dụng các mô-đun tùy chỉnh của mình bất cứ nơi nào bạn cần và sử dụng bất kỳ chính sách nào có ý nghĩa với bạn.
Giữ cơ sở dữ liệu unix về cơ bản nguyên sơ và bạn có những gì bạn yêu cầu. Đây là khá nhiều những gì các mô-đun radius
và ldap
PAM / NSS làm: chúng cung cấp một nguồn thông tin bổ sung (không thay thế) và thông tin người dùng / nhóm.
Đi thêm một bước nữa: bạn có thể quay lại PAM và NSS và vô hiệu hóa hoàn toàn việc tra cứu cơ sở dữ liệu unix. Để các tệp ở đó cho phần mềm cũ (một cách tự nhiên, quan điểm của họ về cơ sở dữ liệu người dùng / nhóm sẽ không chính xác, nhưng ít nhất họ sẽ không phá vỡ).
Tôi không chắc liệu nó có thể ra khỏi hộp không, nhưng chắc chắn là có thể với một số hack. Để làm điều này, bạn sẽ cần:
/etc/passwd
tồn tại ...
/etc/passwd
trên thực tế không chứa mật khẩu thực tế hoặc thậm chí là băm - mật khẩu bị che khuất đã là một tiêu chuẩn thực tế kể từ trước khi tôi bắt đầu sử dụng unix hai thập kỷ trước.