PAM (Mô-đun xác thực có thể cắm) trong Linux là gì?


4

PAM (Mô-đun xác thực có thể cắm) trong Linux là gì? Tôi biết nó được sử dụng để xác thực, nhưng cái này có ích gì? Làm thế nào nó hoạt động?

Tôi đang sử dụng CentOS 6.2.

Câu trả lời:


8

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.


7

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 ]
                         +--------------+

1
Giải thích một cách hoàn hảo. Bạn có thể đăng lại những phần quan trọng mặc dù.

ok, thêm một số văn bản từ liên kết

Tôi đang sử dụng CentOS 6.2, bên trong thư mục /etc/pam.d/ có rất nhiều tệp như đăng nhập, sshd, passwd, khởi động lại, vsftpd và nhiều hơn nữa, câu hỏi của tôi là làm cách nào để định cấu hình các tệp này, cho sshd tôi đã định cấu hình như thế nào điều này và nó hoạt động tốt, đối với các tệp khác tôi nên làm gì ... Tôi đã googled rất nhiều nhưng không có câu trả lời chính xác ...
max

Có lẽ bạn có thể thêm các câu hỏi cụ thể hơn những gì bạn muốn làm cho câu hỏi ban đầu của bạn. Nếu nó không đặc biệt, câu trả lời của @bahamat có ổn không?

1
PAM không phải là trình nền đang chạy, nhiều như một loạt các cuộc gọi thư viện mà bất kỳ trình nền nào cũng có thể thực hiện khi muốn xác thực kết nối.
Don Simon

5

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


3
Có vẻ như bạn đã sao chép toàn bộ nội dung của câu trả lời này từ trang này . Trừ khi bạn có quyền sao chép nội dung này do chủ sở hữu trang web cung cấp cho bạn, về cơ bản, đây là đạo văn. Bạn có thể viết lại câu trả lời của bạn bằng lời nói của bạn hoặc ít nhất là trích dẫn chính xác mọi thứ bạn không tự viết? Cảm ơn bạn.
slhck

1
Không, bạn không phải xóa nó; thật tuyệt khi thêm một liên kết đến nguồn và cố gắng không sao chép 1: 1 mọi điều . Có lẽ bạn chỉ có thể viết lại một vài đoạn trong từ của riêng bạn. Bạn đã tự chụp ảnh màn hình, phải không? Họ chắc chắn rất tốt để có!
slhck
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.