Câu trả lời:
Tóm lại, PAM các Mô-đun xác thực có thể cắm .
Như tên của nó, nó sử dụng kiến trúc kiểu trình cắm. PAM làm cho nó để mỗi chương trình không phải thực hiện cơ chế xác thực riêng. Thay vào đó, nó chỉ kiểm tra ngăn xếp PAM.
Vì PAM có thể cắm, bạn có thể định cấu hình ngăn xếp xác thực theo cách bạn muốn. Xác thực chống lại LDAP, NIS, RADIUS, MySQL, Oracle, BerkelyDB, SQLite, mã thông báo RSA, chứng chỉ x509, tệp phẳng, mật khẩu một lần, hai yếu tố của Google, giai đoạn của mặt trăng, v.v ... đều có thể được cấu hình trong mọi kết hợp.
PAM cũng có thể kích hoạt các hành động như gắn hệ thống tệp, tạo thư mục, ghi nhật ký hoặc bất kỳ hành động nào khác khi ngăn xếp được kích hoạt, thất bại hoặc thành công.
PAM là con dao quân đội Thụy Sĩ xác thực, mang lại sự linh hoạt vô hạn cho xác thực thợ may tùy chỉnh theo bất kỳ cách nào cần thiết, cho bất kỳ ứng dụng nào.
Không có nó, mọi chương trình sẽ phải hỗ trợ độc lập tất cả các tính năng này và đó thực sự là một thế giới buồn.
có thể tổng quan này cung cấp cho bạn tất cả những gì bạn muốn biết hoặc một khởi đầu tốt hơn nữa: http://www.linux-pam.org/Linux-PAM-html/sag-overview.html
Một số trích dẫn:
Linux-PAM liên quan đến bốn loại nhiệm vụ (quản lý) riêng biệt. Những là: quản lý xác thực; quản lý tài khoản; phiên sự quản lý; và quản lý mật khẩu.
Here is a figure that describes the overall organization of Linux-PAM:
+----------------+
| application: X |
+----------------+ / +----------+ +================+
| authentication-[---->--\--] Linux- |--<--| PAM config file|
| + [----<--/--] PAM | |================|
|[conversation()][--+ \ | | | X auth .. a.so |
+----------------+ | / +-n--n-----+ | X auth .. b.so |
| | | __| | | _____/
| service user | A | | |____,-----'
| | | V A
+----------------+ +------|-----|---------+ -----+------+
+---u-----u----+ | | |
| auth.... |--[ a ]--[ b ]--[ c ]
+--------------+
| acct.... |--[ b ]--[ d ]
+--------------+
| password |--[ b ]--[ c ]
+--------------+
| session |--[ e ]--[ c ]
+--------------+
PAM là một khung hỗ trợ các ứng dụng thực hiện những gì tôi gọi là "các hoạt động liên quan đến xác thực". Các phần cốt lõi của PAM là một thư viện (libpam) và một tập hợp các mô-đun PAM, là các tệp thư viện (.so) được liên kết động trong thư mục / lib / security.
CHÚ THÍCH
1. Khởi động lại tất cả các tệp cấu hình dữ liệu và PAM trước khi sửa đổi.
2. Hãy cẩn thận để thực hiện các tùy chọn cấu hình. Cấu hình sai có thể khóa tất cả các truy cập đăng nhập bao gồm cả quyền truy cập root.
3. Đọc chính xác cú pháp PAM.
Dưới đây là một số ví dụ, hãy cẩn thận trong khi thử điều này.
Cho phép bất kỳ người dùng nào để root mà không cần mật khẩu.
Đối với điều này, Chỉnh sửa tệp /etc/pam.d/su và nhận xét bất kỳ dòng nào liên quan đến ngăn xếp xác thực, thay thế chúng bằng dòng duy nhất:
auth đủ pam_permit.so
Để kiểm tra điều này Đăng nhập như một người dùng bình thường và xác minh rằng bây giờ bạn có thể sử dụng su - để trở thành root mà không cần cung cấp mật khẩu.
[raj@avi ~]$ su - [root@avi ~]#
Vô hiệu hóa đăng nhập root trực tiếp
CHÚ THÍCH: Trước khi làm điều này, hãy đảm bảo rằng bạn có ít nhất một tài khoản có thể sử dụng su để trở thành root hoặc bạn sẽ tự khóa mình khỏi máy.
Để vô hiệu hóa đăng nhập gốc trên thiết bị đầu cuối ảo, chỉnh sửa tệp / etc / pam / d / đăng nhập và thêm mục nhập.
auth yêu cầu pam_securetty.so
Mô-đun này sẽ ngăn đăng nhập root trên các thiết bị đầu cuối không được liệt kê trong / etc / securetty.
tty1 #tty2 #tty3 tty4 tty5
Nếu bạn nhận xét về # tty2 và # tty3, thì từ thiết bị đầu cuối ảo tty2 và tty3, không thể đăng nhập trực tiếp dưới dạng root.
Ngăn chặn người dùng không root tắt hệ thống
Lấy cấu hình PAM của lệnh tạm dừng làm ví dụ, chỉnh sửa tệp /etc/pam.d/halt. như thế này
auth đủ pam_rootok.so
auth yêu cầu pam_deny.so
Để kiểm tra thông tin đăng nhập này như một người dùng bình thường và thử lệnh tạm dừng, sau đó bạn sẽ gặp lỗi dưới đây.
[test2@avi ~]$ halt halt: Need to be root [test2@avi ~]$
Đây chỉ là một số ví dụ.
nguyên nguồn