中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

基于Pam的Google雙重驗證實現

發布時間:2020-06-27 12:55:49 來源:網絡 閱讀:479 作者:My_good_science 欄目:開發技術

1、下載Google Authenticator源碼

wget https://github.com/google/google-authenticator/tree/master/libpam

打開https://github.com/google/google-authenticator/blob/master/libpam/pam_google_authenticator.c,查找到pam_get_item(pamh, PAM_AUTHTOK, &password),修改PAM_AUTHTOK為PAM_AUTHTOK_TYPE

Build & install

./bootstrap.sh
./configure
make
sudo make install

拷貝pam_google_authenticator.so到/lib64/security下

Running

執行./google-authenticator

Your new secret key is: A3FY5V6TCAEUN4FX

Your verification code is 680297

Your emergency scratch codes are:

  75304045

  77554864

  18069864

  99313356

  32694105


2、下載Google身份驗證器

通過手機,ipad等下載,打開身份驗證器,在google身份驗證器中輸入用戶名(一般使用郵件),秘鑰則輸入./google-authenticator結果中的secret key,選擇基于時間候保存,就可以看到每30s生成一個6位數的隨機數。


3、下載JPam

官網:http://jpam.sourceforge.net/

wget http://sourceforge.net/projects/jpam/files/jpam/jpam-1.1/JPam-Linux_amd64-1.1.tgz/download


按照JPam安裝說明,

a> 首先在/etc/pam.d下,創建一個google-auth文件,在文件中添加如下內容:

   auth   required   /lib64/security/pam_google_authenticator.so use_first_pass

   account  required  /lib64/security/pam_unix_acct.so

b> 寫一個JPamTest.java程序

    String user1Name = "root";
    String user1Credentials = "password";
    Pam pam = new Pam("google-auth");    //如果不輸入名稱,則默認使用net-sf-jpam
    boolean authenticated = pam.authenticateSuccessful(user1Name, user1Credentials));
   
JPamTest.java依賴JPam1.1.jar,libjpam.so(此動態庫有問題,需要按照下面的步驟重新編譯)


下載源碼,并重新編譯libpam.so

wget https://github.com/gregrluck/jpam

打開jpam/src/main/c/Pam.c,查找到pam_set_item(pamh, PAM_AUTHTOK, password),修改PAM_AUTHTOK為PAM_AUTHTOK_TYPE

修改后,執行make,重新編譯libpam.so


在linux下編譯并執行JPamTest.java,其中username為linux root用戶名,密碼為google身份驗證器中的動態密碼,如果驗證成功,則authenticated的狀態值為True.


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

昌乐县| 交城县| 石屏县| 六盘水市| 庆城县| 桃园县| 察隅县| 侯马市| 壶关县| 抚松县| 迭部县| 剑川县| 南通市| 凉城县| 岑巩县| 长岭县| 六枝特区| 宁安市| 麟游县| 伊金霍洛旗| 汾西县| 汶上县| 怀化市| 九龙县| 昌江| 西乡县| 福泉市| 班戈县| 安化县| 新兴县| 花垣县| 沁阳市| 孙吴县| 鄱阳县| 通许县| 扎鲁特旗| 巴林左旗| 区。| 治县。| 襄汾县| 钦州市|