##ReadMore##
linly@linly-laptop:~$ ldd /usr/bin/passwd ... libpam.so.0 => /lib/libpam.so.0 (0xb800f000) libpam_misc.so.0 => /lib/libpam_misc.so.0 (0xb800b000) ...PAM 有許多有趣的應用,例如:利用指紋辨識或臉部辨識登入電腦、限制某項服務的使用時間,資源,次數、設定密碼時檢查密碼強度等等。在陳柏菁的 PAM 認証模組 網頁中有詳細介紹 PAM 是什麼?該如何設定?在此就不加贅述,不過要提醒讀者幾件事情:
- 認証模組有堆疊特性:設定時可以使用多種認証方式。
- control flag 的先後次序:例如 sufficient 放在 required 之後來使用,那 sufficient 模組的成功與否就會被忽略。
- 要了解每種 control flags 的意義:例如 required 與 requisite 的差異。
gcc -fPIC -c pam_module.c gcc -shared -o pam_module.so pam_module.o -lpam sudo cp pam_module.so /usr/lib/
gcc -o pam_app pam_app.c -lpam -lpam_misc -lpam_module
- Hint:撰寫 pam application 時,需要做 pam_set_item,而 item type 不能使用 PAM_AUTHTOK 及 PAM_OLDAUTHTOK,所以就隨便設定一個。
- Hint:撰寫 pam module 時,需要引用
當中的 getspnam 函式來取得加密過的密碼,至於為什麼要自己寫一個 module,因為 PAM 模組的帳密認証方式只能先輸入帳號,等他確認有這個使用者,才會在要求輸入密碼,既然說要改變他的行為,模組只好自己寫。
1 則留言:
魏子豪大大的 thinkpad x61 上面設定指紋辨識的方式是,在 /etc/auth-common中加入以下四行:
auth sufficient pam_thinkfinger.so
auth [success=1 default=ignore] pam_unix.so nullok_secure try_first_pass
auth requisite pam_deny.so
auth required pam_permit.so
當然需要安裝 thinkfinger.so,apt get 就有了。
張貼留言