Làm chủ Authselect trên Fedora: Quản lý cấu hình PAM chuyên nghiệp và an toàn

Fedora tutorial - IT technology blog
Fedora tutorial - IT technology blog

Quick start: Cấu hình authselect trong 2 phút

Bạn đang vội và cần kích hoạt ngay cấu hình xác thực tiêu chuẩn? Fedora mặc định sử dụng SSSD (System Security Services Daemon) để quản lý danh tính. Thay vì mò mẫm, hãy dùng phím tắt câu lệnh sau.

Kiểm tra xem hệ thống đang chạy profile nào:

authselect current

Để chuyển sang profile sssd và tự động tạo thư mục Home khi user đăng nhập (cực kỳ quan trọng khi join domain), hãy chạy:

sudo authselect select sssd with-mkhomedir --force

Kích hoạt ngay service oddjobd để tính năng tạo thư mục Home có hiệu lực:

sudo systemctl enable --now oddjobd

Chỉ với vài dòng lệnh, bạn đã thiết lập xong hệ thống mà không cần đụng vào các file PAM rối rắm.

Authselect: Tại sao bạn nên ngừng sửa file PAM thủ công?

Sau 2 năm dùng Fedora làm máy chính, mình nhận ra một sai lầm kinh điển của anh em mới chuyển từ Ubuntu sang. Đó là thói quen sửa trực tiếp các file trong /etc/pam.d/.

Từ bản Fedora 28, authselect đã chính thức thay thế authconfig. Nếu bạn cố tình sửa tay các file như system-auth, hệ thống sẽ lạnh lùng ghi đè sạch sành sanh ngay khi có bản cập nhật mới hoặc khi bạn chạy lệnh quản trị. Công sức của bạn sẽ đổ sông đổ biển.

Hãy coi Authselect như một bộ tạo code (generator). Bạn chọn mẫu (profile) và tính năng (features), nó sẽ tự động xuất ra các file cấu hình chuẩn xác nhất.

Cấu trúc cốt lõi của Authselect

  • Profiles mặc định: Nằm tại /usr/share/authselect/default/. Đây là các khuôn mẫu chuẩn từ distro.
  • Custom Profiles: Nằm tại /etc/authselect/custom/. Nơi bạn thỏa sức sáng tạo nếu các mẫu có sẵn không đủ dùng.
  • File thực thi: Kết quả cuối cùng sẽ được đẩy vào /etc/pam.d//etc/nsswitch.conf.

Bộ lệnh authselect giúp bạn làm chủ hệ thống

Nắm vững 3 lệnh này sẽ giúp bạn chuyên nghiệp hơn việc chỉ đi copy-paste từ Stack Overflow.

1. Khám phá các profile sẵn có

Bắt đầu bằng việc xem mình đang có những vũ khí nào trong tay:

authselect list

Thông thường bạn sẽ thấy sssd, winbind (cho máy gia nhập Windows Domain) hoặc minimal.

2. Tùy biến với Features

Mỗi profile không đơn điệu mà cho phép bật/tắt các tính năng đi kèm. Thử xem profile sssd hỗ trợ gì nhé:

authselect list-features sssd

Ba tùy chọn bạn sẽ dùng nhiều nhất:

  • with-faillock: Tự động khóa tài khoản nếu nhập sai pass quá 3 lần.
  • with-fingerprint: Tận dụng cảm biến vân tay trên laptop.
  • with-sudo: Giao quyền quản lý rule sudo cho SSSD.

3. Áp dụng cấu hình thực tế

Giả sử bạn cần một hệ thống bảo mật: dùng SSSD, có khóa tài khoản và quét vân tay:

sudo authselect select sssd with-faillock with-fingerprint

Mẹo nhỏ: Thêm flag --force nếu lệnh báo lỗi do xung đột cấu hình cũ.

Kỹ thuật nâng cao và giải quyết sự cố

Tạo Profile độc bản cho Team

Nếu bạn cần chèn một module PAM đặc thù cho dự án, đừng sửa file hệ thống. Hãy tạo một bản sao an toàn từ profile sssd:

sudo authselect create-profile dev-team-auth -b sssd --description "Cấu hình riêng cho đội Dev"

Truy cập /etc/authselect/custom/dev-team-auth/ để chỉnh sửa template. Sau đó áp dụng như thường:

sudo authselect select custom/dev-team-auth

Cứu nguy khi bị khóa tài khoản (pam_faillock)

Bật with-faillock là con dao hai lưỡi. Nhiều bạn junior thường tự khóa chính mình khi gõ nhầm pass. Để xem ai đang nằm trong “danh sách đen”:

sudo faillock --user <username>

Để giải cứu và reset bộ đếm về 0:

sudo faillock --user <username> --reset

Kiểm tra sức khỏe cấu hình

Bạn nghi ngờ ai đó đã táy máy sửa file PAM? Hãy yêu cầu authselect kiểm tra tính toàn vẹn:

authselect check

Nếu nhận thông báo “Validation failed”, đừng hoảng hốt. Chỉ cần chạy lại lệnh select với flag --force để đưa mọi thứ về quỹ đạo chuẩn.

Kinh nghiệm thực tế từ hiện trường

Dưới đây là vài ghi chép từ những lần mình “vọc” hệ thống:

  1. Soi kỹ nsswitch.conf: Lệnh authselect sẽ thay đổi cả file này. Nếu máy đột nhiên không tìm thấy user LDAP hoặc không phân giải được IP nội bộ, đây chính là nơi đầu tiên cần check.
  2. Độ trễ của vân tay: Trên các dòng ThinkPad cũ, module vân tay có thể khiến lệnh sudo bị lag khoảng 2-3 giây. Nếu thấy khó chịu, hãy tắt with-fingerprint để lấy lại tốc độ tức thì.
  3. Luôn giữ một “cửa hậu”: Trước khi đổi cấu hình xác thực, hãy mở sẵn một terminal root hoặc session SSH khác. Nếu PAM lỗi, bạn sẽ bị văng ra ngoài và phải dùng đến Single User Mode để cứu dữ liệu.
  4. Kết hợp với Cockpit: Giao diện web Cockpit trên Fedora Server rất tiện để quản lý user, nhưng nó cũng gọi authselect bên dưới. Hiểu bản chất dòng lệnh sẽ giúp bạn xử lý các ca khó mà giao diện web không hiển thị hết.

Xác thực hệ thống không còn là nỗi ám ảnh nếu bạn biết tư duy theo Profile và Features. Authselect giúp mọi thứ trở nên minh bạch và an toàn hơn. Chúc bạn làm chủ Fedora như một chuyên gia!

Share: